diff --git a/game/characters/twins/vars.rpy b/game/characters/twins/vars.rpy new file mode 100644 index 00000000..45daa285 --- /dev/null +++ b/game/characters/twins/vars.rpy @@ -0,0 +1,11 @@ + +# Event flags + +default states.twi.ev.cardgame.known = False +default states.twi.ev.cardgame.stage = 0 +default states.twi.ev.cardgame.first_random = True +default states.twi.ev.cardgame.delay = 7 +default states.twi.ev.cardgame.stocked = False +default states.twi.ev.cardgame.stock_talk = False +default states.twi.ev.cardgame.interest = False +default states.twi.ev.cardgame.profit = 1.0 diff --git a/game/scripts/cg/hermione.rpy b/game/scripts/cg/hermione.rpy index a0405fb8..8f27cd13 100644 --- a/game/scripts/cg/hermione.rpy +++ b/game/scripts/cg/hermione.rpy @@ -1,36 +1,3 @@ -init 5 python: - - def her_cg_doll_fix(st, at): - """Used to fix the jaw issues on bent-over pose""" - - face = hermione.get_face() - mouth = face["mouth"] - - if hermione.pose == "CG_bent_over" and mouth in ("scream", "open_wide_tongue"): - return Image("images/CG/her_sex/{}.webp".format(mouth)), None - return Null(), None - - def gen_cg_doll(st, at): - d = Image("{}genie_{}.webp".format(genie_doll_path, genie_doll)) - return d, None - -default genie_doll_path = "images/CG/her_sex/" -default genie_doll = "hold" -default genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" - -image CG genie_armfix = DynamicImage("[genie_doll_armfix]") - -image CG her_doll_fix = DynamicDisplayable(her_cg_doll_fix) -image CG gen_doll = DynamicDisplayable(gen_cg_doll) - -image CG her_sex = Fixed( - "images/CG/her_sex/background.webp", - "CG gen_doll", - "CG her_doll", - "CG her_doll_fix", - "images/CG/her_sex/foreground.webp", - "CG genie_armfix", - ) image CG her_intro hermione = Fixed( "images/CG/her_intro/bg.webp", diff --git a/game/scripts/characters/astoria/chitchats.rpy b/game/scripts/characters/astoria/chitchats.rpy index 11ff93ef..0f8b70e1 100644 --- a/game/scripts/characters/astoria/chitchats.rpy +++ b/game/scripts/characters/astoria/chitchats.rpy @@ -1,10 +1,10 @@ label astoria_chitchat: - if astoria_chatted: + if states.ast.chatted: return - $ astoria_chatted = True + $ states.ast.chatted = True # Story related chitchats (marked out as they are meant to be added into randomized set of chats when counter is met) diff --git a/game/scripts/characters/astoria/common.rpy b/game/scripts/characters/astoria/common.rpy index dccd1c86..ea093af0 100644 --- a/game/scripts/characters/astoria/common.rpy +++ b/game/scripts/characters/astoria/common.rpy @@ -62,8 +62,9 @@ label end_astoria_event: call update_astoria - $ active_girl = None - $ astoria_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.ast.busy = True $ astoria.wear("all") call music_block diff --git a/game/scripts/characters/astoria/events/clothing.rpy b/game/scripts/characters/astoria/events/clothing.rpy index 545dbf2f..41eb293f 100644 --- a/game/scripts/characters/astoria/events/clothing.rpy +++ b/game/scripts/characters/astoria/events/clothing.rpy @@ -9,7 +9,7 @@ label astoria_summon_setup: $ astoria.set_cum(None) $ astoria.animation = None - if astoria_outfits_schedule: + if states.ast.wardrobe_scheduling: $ astoria.equip_random_outfit() play sound "sounds/door.ogg" @@ -19,24 +19,24 @@ label astoria_summon_setup: #Astoria greeting. play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed - if ast_mood > 0: - if 5 > ast_mood >= 1: + if states.ast.mood > 0: + if 5 > states.ast.mood >= 1: ast "[name_genie_astoria]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - elif 10 > ast_mood >= 5: + elif 10 > states.ast.mood >= 5: ast "What now?" ("annoyed", "base", "worried", "mid", xpos="base", ypos="base", trans=d3) - elif 20 > ast_mood >= 10: + elif 20 > states.ast.mood >= 10: ast "What is it, [name_genie_astoria]?" ("annoyed", "base", "angry", "R", xpos="base", ypos="base", trans=d3) - elif 30 > ast_mood >= 20: + elif 30 > states.ast.mood >= 20: ast "What do you want, [name_genie_astoria]?" ("angry", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif 40 > ast_mood >= 30: + elif 40 > states.ast.mood >= 30: ast "*Hmph*..." ("annoyed", "narrow", "worried", "L", xpos="base", ypos="base", trans=d3) - elif 50 > ast_mood >= 40: + elif 50 > states.ast.mood >= 40: ast "*Tsk*" ("angry", "narrow", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif ast_mood >= 50: + elif states.ast.mood >= 50: ast "What?!" ("scream", "narrow", "angry", "mid", xpos="base", ypos="base", trans=d3) ast "" ("angry", "narrow", "angry", "mid") - call describe_mood("Astoria", ast_mood) + call describe_mood("Astoria", states.ast.mood) call tutorial("moodngifts") else: if game.daytime: diff --git a/game/scripts/characters/astoria/events/imperio_practice.rpy b/game/scripts/characters/astoria/events/imperio_practice.rpy index 3788751a..da1eb8db 100644 --- a/game/scripts/characters/astoria/events/imperio_practice.rpy +++ b/game/scripts/characters/astoria/events/imperio_practice.rpy @@ -35,8 +35,8 @@ label end_ag_se_imperio_sb: $ susan.equip(sus_outfit_last) # Equip player outfit. $ astoria.equip(ast_outfit_last) # Equip player outfit. - $ astoria_busy = True - $ susan_busy = True + $ states.ast.busy = True + $ states.sus.busy = True call music_block jump main_room_menu @@ -311,7 +311,7 @@ label ag_se_imperio_sb_E1: # Increase affection once (this is the first event) if ag_se_imperio_sb.counter == 1: - $ ast_whoring += 1 + $ states.ast.level += 1 jump end_ag_se_imperio_sb @@ -622,7 +622,7 @@ label ag_se_imperio_sb_E2: # Increase affection once (this is the second event) if ag_se_imperio_sb.counter == 2: - $ ast_whoring += 1 + $ states.ast.level += 1 jump end_ag_se_imperio_sb @@ -1015,15 +1015,15 @@ label ag_se_imperio_sb_E3: gen "(*Hmm*... Miss Bones still seemed affected even after she lessened her hold of the spell...)" ("base", xpos="far_left", ypos="head") gen "(...)" ("base", xpos="far_left", ypos="head") - if ast_whoring < 24: - $ ast_whoring = 24 - $ sus_whoring = 24 - $ susan_wardrobe_unlocked = True + if states.ast.level < 24: + $ states.ast.level = 24 + $ states.sus.level = 24 + $ states.sus.wardrobe_unlocked = True call end_of_content # Increase affection once (this is the third event) #if ag_se_imperio_sb.counter == 3: - # $ ast_whoring += 1 + # $ states.ast.level += 1 jump end_ag_se_imperio_sb diff --git a/game/scripts/characters/astoria/events/imperio_training.rpy b/game/scripts/characters/astoria/events/imperio_training.rpy index 06f94052..81e9cfa2 100644 --- a/game/scripts/characters/astoria/events/imperio_training.rpy +++ b/game/scripts/characters/astoria/events/imperio_training.rpy @@ -68,8 +68,8 @@ label ag_st_imperio: $ ag_st_imperio.inProgress = True - $ astoria_busy = True - $ tonks_busy = True + $ states.ast.busy = True + $ states.ton.busy = True call music_block jump main_room_menu @@ -83,8 +83,8 @@ label end_ag_st_imperio: $ tonks.equip(ton_outfit_last) # Equip player outfit. $ astoria.equip(ast_outfit_last) # Equip player outfit. - $ tonks_busy = True - $ astoria_busy = True + $ states.ton.busy = True + $ states.ast.busy = True call music_block jump main_room_menu @@ -291,7 +291,7 @@ label ag_st_imperio_E1: # Increase affection once (this is the first event) if ag_st_imperio.counter == 1: - $ ast_whoring += 1 + $ states.ast.level += 1 jump end_ag_st_imperio @@ -544,7 +544,7 @@ label ag_st_imperio_E2: call ton_chibi("hide") with d3 - $ ast_mood += 12 + $ states.ast.mood += 12 # Event fails. $ ag_st_imperio.fail() @@ -652,7 +652,7 @@ label ag_st_imperio_E2: # Increase affection once (this is the second event) if ag_st_imperio.counter == 2: - $ ast_whoring += 1 + $ states.ast.level += 1 jump end_ag_st_imperio @@ -822,11 +822,11 @@ label ag_st_imperio_E3: gen "(G{w=0.3} E{w=0.3} N{w=0.5} I--)" ("angry", xpos="far_left", ypos="head") gen "(Fuck it...)" ("base", xpos="far_left", ypos="head") - $ ast_mood += 12 + $ states.ast.mood += 12 # Increase affection once (this is the third event) if ag_st_imperio.counter == 3: - $ ast_whoring += 1 + $ states.ast.level += 1 jump end_ag_st_imperio @@ -1152,7 +1152,7 @@ label ag_st_imperio_E4: # Increase affection once (this is the fourth event) if ag_st_imperio.counter == 4: - $ ast_whoring += 1 + $ states.ast.level += 1 jump end_ag_st_imperio @@ -1334,7 +1334,7 @@ label ag_st_imperio_E5: gen "..." ("angry", xpos="far_left", ypos="head") menu: "-Start masturbating!-": - $ genie_masturbating = True + $ states.gen.masturbating = True call hide_characters hide screen bld1 with d3 @@ -1504,7 +1504,7 @@ label ag_st_imperio_E5: gen "What's going on?" ("angry", xpos="far_left", ypos="head") sna "Yes! I'd like to know that as well!" ("snape_43") gen "Snape?!" ("angry", xpos="far_left", ypos="head") - if hg_strip.trigger == True: # Snape saw Hermione strip + if states.her.status.stripping == True: # Snape saw Hermione strip gen "Damn it, not you again!" ("angry", xpos="far_left", ypos="head") gen "(You walking cock-block!)" ("angry", xpos="far_left", ypos="head") @@ -1772,15 +1772,15 @@ label ag_st_imperio_E5: nar "Astoria has \"mastered\" the imperio curse!" - $ snape_busy = True - $ tonks_busy = True - $ astoria_busy = True + $ states.sna.busy = True + $ states.ton.busy = True + $ states.ast.busy = True $ tonks.wear("all") # Wear all stripped clothing # Increase affection once (this is the fifth event) if ag_st_imperio.counter == 5: - $ ast_whoring += 1 + $ states.ast.level += 1 jump end_ag_st_imperio diff --git a/game/scripts/characters/astoria/events/intro.rpy b/game/scripts/characters/astoria/events/intro.rpy index 9f64c76a..e756b8b6 100644 --- a/game/scripts/characters/astoria/events/intro.rpy +++ b/game/scripts/characters/astoria/events/intro.rpy @@ -7,9 +7,6 @@ # You need to ask Snape and Hermione to help find the student. label astoria_intro_E1: - if "poster_1_store" not in tonks_mail_list: - $ tonks_mail_list.append("poster_1_store") - stop music fadeout 1.0 play sound "sounds/knocking.ogg" "*knock-knock-knock*" @@ -172,6 +169,8 @@ label astoria_intro_E1: # ton "But right now we simply don't have time to fool around I'm afraid..." ("base", "base", "base", "mid") "\"Send Nudes.\"": + $ letter_nt_1.send() + ton "Nudes, [name_genie_tonks]?" ("annoyed", "base", "raised", "mid") gen "Yes! Send me some nude pictures of yourself!" ("grin", xpos="far_left", ypos="head") gen "A poster, maybe?" ("grin", xpos="far_left", ypos="head") @@ -190,10 +189,6 @@ label astoria_intro_E1: gen "Sweet!" ("grin", xpos="far_left", ypos="head") ton "Now, here is what I'll require your help with..." ("open", "closed", "base", "mid") - if "poster_1_gift" not in tonks_mail_list: - $ tonks_mail_list.append("poster_1_gift") - $ tonks_mail_list.remove("poster_1_store") - ton "This girl I've told you about, Susan Bones?" ("soft", "base", "shocked", "mid") ton "The one with--" ("base", "base", "base", "R") gen "With the giant tits!" ("grin", xpos="far_left", ypos="head") @@ -263,8 +258,8 @@ label astoria_intro_E1: gen "(Or I could jerk off instead!)" ("grin", xpos="far_left", ypos="head") gen "(Yes, that seems like a good idea right now!)" ("grin", xpos="far_left", ypos="head") - $ tonks_busy = True - $ astoria_intro.E1_complete = True + $ states.ton.busy = True + $ states.ast.ev.intro.e1_complete = True call music_block jump main_room_menu @@ -343,13 +338,13 @@ label astoria_intro_E2_hermione: call her_walk(action="leave") call bld - if astoria_intro.E2_snape: + if states.ast.ev.intro.e2_ask_snape: gen "I wonder if she'll find her before Snape..." ("base", xpos="far_left", ypos="head") else: gen "I should probably tell Snape as well..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True - $ astoria_intro.E2_hermione = True + $ states.her.busy = True + $ states.ast.ev.intro.e2_ask_hermione = True call music_block jump main_room_menu @@ -398,7 +393,7 @@ label astoria_intro_E2_snape: sna "I'll start the search immediately. In the meantime, just stay here and keep yourself busy." ("snape_10") gen "You don't want my help?" ("base", xpos="far_left", ypos="head") sna "Not really... I'll get this situation under control on my own." ("snape_02") - if astoria_intro.E2_hermione: + if states.ast.ev.intro.e2_ask_hermione: gen "And with Miss Granger's help..." ("base", xpos="far_left", ypos="head") sna "Have you told her about this?!" ("snape_03") gen "Sure... She seemed eager to help." ("base", xpos="far_left", ypos="head") @@ -411,13 +406,13 @@ label astoria_intro_E2_snape: call sna_walk(action="leave") - if astoria_intro.E2_hermione: + if states.ast.ev.intro.e2_ask_hermione: gen "(I wonder if he'll find her before Miss Granger...)" ("base", xpos="far_left", ypos="head") else: gen "(I should probably ask Miss Granger as well...)" ("base", xpos="far_left", ypos="head") - $ snape_busy = True - $ astoria_intro.E2_snape = True + $ states.sna.busy = True + $ states.ast.ev.intro.e2_ask_snape = True call music_block jump main_room_menu @@ -565,7 +560,7 @@ label astoria_intro_E3: gen "No butts..." ("base", xpos="far_left", ypos="head") # deliberate. her "*Hmph*" ("annoyed", "narrow", "angry", "R") her "Fine..." ("open", "closed", "angry", "mid") - $ her_mood += 12 + $ states.her.mood += 12 "\"How about some house points?\"": her "*Hmm*..." ("annoyed", "narrow", "angry", "R") @@ -579,13 +574,13 @@ label astoria_intro_E3: gen "Take 'em or leave 'em..." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "angry", "R") her "Very well..." ("open", "closed", "base", "mid") - $ her_mood += 6 + $ states.her.mood += 6 $ gryffindor += 10 "\"You'll get twenty.\"": her "..." ("annoyed", "base", "base", "R") her "I suppose that's fair." ("open", "closed", "base", "mid") - $ her_mood = 0 + $ states.her.mood = 0 $ gryffindor += 20 her "In a few days, everyone at Hogwarts will know what happened to her..." ("grin", "base", "angry", "mid") @@ -841,11 +836,11 @@ label astoria_intro_E3: # Reset Tonks. $ tonks.equip(ton_outfit_last) - $ hermione_busy = True - $ snape_busy = True - $ tonks_busy = True + $ states.her.busy = True + $ states.sna.busy = True + $ states.ton.busy = True - $ astoria_intro.E3_complete = True + $ states.ast.ev.intro.e3_complete = True call music_block jump main_room_menu @@ -948,7 +943,7 @@ label nt_he_astoria_E1: nar "You ask Tonks to explain asexuality to you some more..." nar "You still can't wrap your mind around the fact that such a horrible thing exists..." - $ nt_he.astoria_E1 = True + $ states.ton.ev.hangouts.astoria_e1 = True call music_block jump end_tonks_hangout_points @@ -993,7 +988,7 @@ label astoria_intro_E4: gen "..." ("base", xpos="far_left", ypos="head") $ ag_event_pause += 1 - $ astoria_busy = True + $ states.ast.busy = True jump main_room_menu @@ -1062,13 +1057,13 @@ label astoria_intro_E4: gen "(Who wouldn't want to be in detention with that nympho?)" ("grin", xpos="far_left", ypos="head") gen "(That girl should consider herself lucky...)" ("base", xpos="far_left", ypos="head") - $ astoria_busy = True + $ states.ast.busy = True - $ astoria_unlocked = True - $ astoria_wardrobe_unlocked = True # TODO: Move to a proper event once they've been added. + $ states.ast.unlocked = True + $ states.ast.wardrobe_unlocked = True # TODO: Move to a proper event once they've been added. $ achievements.unlock("unlockast", True) call popup("{size=-4}You can now summon Astoria into your office.{/size}", "Character unlocked!", "interface/icons/head/astoria.webp") - $ astoria_intro.E4_complete = True + $ states.ast.ev.intro.e4_complete = True jump main_room_menu diff --git a/game/scripts/characters/astoria/gifts.rpy b/game/scripts/characters/astoria/gifts.rpy index 0afe453b..8cd47bef 100644 --- a/game/scripts/characters/astoria/gifts.rpy +++ b/game/scripts/characters/astoria/gifts.rpy @@ -1,18 +1,18 @@ # Astoria Gift Responses label give_ast_gift(gift_item): - $ gave_astoria_gift = True + $ states.ast.gifted = True hide astoria_main with d5 ast "" (xpos="mid", ypos="base", trans=d5) if gift_item == lollipop_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "A lollipop?" (mouth="open", face="neutral") ast "Why are you giving me sweets, I'm not a kid!" (face="angry") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "A lollipop?" (mouth="open", face="neutral") call give_gift("You give the lollipop to Astoria...", gift_item) ast "why are you being so nice to me..." (face="angry") @@ -28,12 +28,12 @@ label give_ast_gift(gift_item): elif gift_item == chocolate_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Some chocolate?" (mouth="open", face="neutral") ast "Don't you have any dung-bombs?" ast "They're way more fun!" call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Some chocolate?" (mouth="open", face="neutral") call give_gift("You give the chocolate to Astoria...", gift_item) ast "Thank you, [name_genie_astoria]." (mouth="open", face="neutral") @@ -50,18 +50,18 @@ label give_ast_gift(gift_item): elif gift_item == plush_owl_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "An owl plushie?" (mouth="open", face="neutral") ast "Why are you giving me this?" ast "Toys are for children..." call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "An owl plushie?" (mouth="open", face="neutral") call give_gift("You give the stuffed toy to Astoria...", gift_item) ast "I don't use stuffed toys..." (mouth="open", face="annoyed") ast "I know someone that hates owls though... I'll put this in front of her face when she's waking up..." (mouth="annoyed", pupils="R", face="neutral") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "An owl plushie?" (mouth="open", face="neutral") call give_gift("You give the stuffed toy to Astoria...", gift_item) ast "Do I look like a girl that plays with toys?" @@ -78,20 +78,20 @@ label give_ast_gift(gift_item): elif gift_item == butterbeer_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Butterbeer?" (mouth="smile", face="happy") call give_gift("You give the bottle to Astoria...", gift_item) ast "Time to get smashed!" (face="happy") ast "The other students will be so jealous I got beer into the school..." (mouth="annoyed", face="angry") call ast_mood(-2) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Butterbeer?" (mouth="smile", face="happy") call give_gift("You give the bottle to Astoria...", gift_item) ast "Don't you have something stronger?" (pupils="mid", face="annoyed") ast "Like something you can't get in the school usually?" (pupils="R", face="annoyed") ast "Fine, I'll take it!" (mouth="smile", face="happy") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "Butterbeer?" (face="annoyed") call give_gift("You give the bottle to Astoria...", gift_item) ast "This watered down piss-water can barely get a house elf tipsy." @@ -105,20 +105,20 @@ label give_ast_gift(gift_item): call ast_mood(-2) elif gift_item == science_mag_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "(...)" (pupils="down", face="annoyed") ast "Creating your own itch powder using household ingredients?" (mouth="open", pupils="down", face="annoyed") ast "Is the kitchen even open to students?" (pupils="down", face="annoyed") ast "What am I supposed to do with this, [name_genie_astoria]?" (face="annoyed") call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Magazines?" (mouth="open", face="annoyed") call give_gift("You give an assortment of educational magazines to Astoria...", gift_item) ast "Making your own stink bombs..." (face="annoyed") ast "Looks like I might be able to make these in potions class..." ast "If Snape doesn't catch me doing it." (mouth="clench", face="annoyed") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "Magazines?" (mouth="angry", face="angry") ast "You want me to do more school work?" (mouth="annoyed", face="angry") call ast_mood(1) @@ -129,17 +129,17 @@ label give_ast_gift(gift_item): call ast_mood(0) elif gift_item == girls_mag_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Girl magazines?" (mouth="open", face="annoyed") ast "This is that trash my sister reads." (mouth="clench", pupils="down", face="annoyed") ast "Such a massive waste of time..." (face="annoyed") call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Girl magazines?" (face="disgusted") call give_gift("You give an assortment of rather girly magazines to Astoria...", gift_item) ast "I'll take it for the free mascara sample. I once drew a uni-brow on someone with it." (face="happy") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "Girl magazines?" (face="annoyed") call give_gift("You give an assortment of rather girly magazines to Astoria...", gift_item) ast "Well, I am a girl so of course I'd want it!" (face="annoyed") @@ -152,11 +152,11 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == adult_mag_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Adult magazines?" (mouth="clench", face="disgusted") ast "I'm good thanks." (face="disgusted") call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Adult magazines?" (face="annoyed") call give_gift("You give an assortment of adult magazines to Astoria...", gift_item) ast "Of course I read them. I'm an adult after all, it's in the name." (mouth="annoyed", pupils="R", face="angry") @@ -169,19 +169,19 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == porn_mag_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Porn magazines?" (face="disgusted") call give_gift("You give an assortment of pornographic magazines to Astoria...", gift_item) ast "I'll take it!" (mouth="grin", face="happy") ast "I'll put one in Susan's bag when she's not looking. Can't wait to see that cows face when her friends notice." (mouth="open", face="angry") ast "Thank you, [name_genie_astoria]." (face="happy") call ast_mood(-1) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Porn magazines?" (face="annoyed") ast "Why do you have these?" (face="annoyed") ast "Give them to Susan..." (pupils="R", face="annoyed") call ast_mood(0) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "Porn magazines?" (face="annoyed") call give_gift("You give an assortment of pornographic magazines to Astoria...", gift_item) ast "That's some extreme stuff you got there..." (face="disgusted") @@ -198,13 +198,13 @@ label give_ast_gift(gift_item): call ast_mood(-2) elif gift_item == krum_poster_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Viktor Krum?" (face="annoyed") ast "Is that the Quidditch player everyone seems to fancy?" (mouth="open", pupils="mid", face="annoyed") call give_gift("You give the poster to Astoria...", gift_item) ast "*Hmph*, I guess I'll take it if he's that popular..." (mouth="annoyed", pupils="R", face="neutral") call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Viktor Krum?" (face="annoyed") ast "Bet he could crush m... someone with his bare hands." (face="disgusted") ast "Give it here..." (face="happy") @@ -216,16 +216,16 @@ label give_ast_gift(gift_item): call ast_mood(1) elif gift_item == sexy_lingerie_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Lingerie?" (face="disgusted") ast "Sexy Lingerie?!?" ast "Why do you care so much about what I wear? Isn't this shitty school uniform enough for you?" (face="angry") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Lingerie?" (mouth="open", face="neutral") ast "I... No, I'd just end up looking like a tramp!" (face="angry") call ast_mood(0) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "Lingerie?" (face="annoyed") ast "Sexy..." (pupils="down", face="annoyed") ast "Why not, I don't know if you could tell but I'm a bit of a rebel. Might even wear these in class." (mouth="grin", face="angry") @@ -239,17 +239,17 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == sexy_stockings_ITEM : - if ast_whoring < 6: + if states.ast.level < 6: ast "Stockings?" (face="disgusted") ast "What happened to the dress code at this place?" ast "What next, shorter skirts?" (face="angry") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Stockings?" (mouth="open", face="neutral") call give_gift("You give the stockings to Astoria...", gift_item) ast "Seems pretty elastic... I could totally lob some stink bombs with these." (mouth="grin", face="angry") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "Stockings?" (face="annoyed") ast "Hah, you fool! With these you wont be able to stare at my legs anymore!" (mouth="grin", face="angry") call give_gift("You give the stockings to Astoria...", gift_item) @@ -262,14 +262,14 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == pink_condoms_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Condoms?" (face="disgusted") ast "Yeah, no... I'll take them but there's not going to be any dick going near these bad boys..." (face="annoyed") ast "These will be the perfect thing to fill with water and drop down the staircase..." (mouth="smile", face="angry") call give_gift("You give the pack of Condoms to Astoria...", gift_item) ast "Cheers for the ammo, [name_genie_astoria]." (face="happy") call ast_mood(-2) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Condoms?" (face="neutral") ast "Oh, thank you so much! I'll prick some holes in these and hand them out at once!" (mouth="grin", face="angry") ast "What?" (face="annoyed") @@ -286,16 +286,16 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == vibrator_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "A vibrator?" (face="disgusted") ast "Gross, where did you even get that from?" (face="angry") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "A vibrator?" (face="disgusted") ast "Get the fuck out..." (face="angry") ast "Oh right, I'm in your office... yeah that's going to be solid no on that one." (face="annoyed") call ast_mood(1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "A vibrator?" (face="disgusted") ast "Hold on a second, that's the noise I've been hearing in the girls chambers!" (face="happy") ast "Do they work?" (face="happy") @@ -311,13 +311,13 @@ label give_ast_gift(gift_item): call ast_mood(-2) elif gift_item == anal_lube_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Lube?" (mouth="open", face="neutral") ast "I know the perfect staircase for this!" (face="happy") call give_gift("You give the jar of lube to Astoria...", gift_item) ast "Thank you, [name_genie_astoria]." (face="happy") call ast_mood(-1) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Anal Lube?" (mouth="smile", face="happy") ast "Swiggity swooty I'm coming for that booty!" (mouth="smile", face="angry") ast "Come on now, what's with that dry humour. Maybe you could use some of that lube?" (face="annoyed") @@ -334,13 +334,13 @@ label give_ast_gift(gift_item): call ast_mood(-2) elif gift_item == ballgag_and_cuffs_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Handcuffs? And what.... a ball gag?" (face="disgusted") ast "I don't know what you're trying to insinuate." (face="angry") ast "The cuffs could be useful but why the ball gag?" (face="disgusted") ast "I'd rather not." (face="annoyed") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Handcuffs? And a Ball gag?" (face="annoyed") call give_gift("You give the handcuffs to Astoria...", gift_item) ast "I can break these cuffs!" (face="angry") @@ -356,16 +356,16 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == anal_plugs_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "anal plugs?" (face="disgusted") ast "Yuck, what the hell is wrong with you... do you know where these go?" (face="angry") ast "Of course you do... you detestable dingbat." (face="angry") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "anal plugs?" (face="disgusted") ast "Why don't you try and sit on one yourself..." (face="angry") call ast_mood(1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "anal plugs?" (face="disgusted") call give_gift("You give the anal plugs to Astoria...", gift_item) ast "Why are you giving me this?" (face="annoyed") @@ -381,18 +381,18 @@ label give_ast_gift(gift_item): elif gift_item == testral_strapon_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "A strap-on?" (face="disgusted") ast "Why would you give me this... it's so ribbed..." (face="angry") ast "As if anyone would want something like that!" (face="angry") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "A strap-on?" (face="disgusted") ast "What do you want me to do with this?" (face="annoyed") ast "Well I know what you want me to do with it." (face="annoyed") ast "It's not happening..." (face="angry") call ast_mood(0) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "A strap-on?" (face="angry") call give_gift("You give the strap-on to Astoria...", gift_item) ast "I'll strap it on your forehead and make you into a sex unicorn!" (mouth="grin", face="angry") @@ -409,11 +409,11 @@ label give_ast_gift(gift_item): call ast_mood(-2) elif gift_item == broom_2000_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "A broom?" (face="neutral") ast "What's that sticking out on the top? That's not going to help me fly!" (face="annoyed") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "A broom?" (face="neutral") call give_gift("You give the broom to Astoria...", gift_item) ast "Now if anything will motivate you to fly, that will..." (mouth="grin", face="angry") @@ -429,16 +429,16 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == sexdoll_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "A sex doll?" (face="disgusted") ast "That's gross [name_genie_astoria]!" (face="angry") ast "Yuck, it smells gross too!" (face="angry") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "A sex doll?" (face="disgusted") ast "This is literally worthless to me, why would you even consider this a good gift?" (face="angry") call ast_mood(1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "A sex doll?" (face="angry") call give_gift("You give the doll to Astoria...", gift_item) ast "I hope you got this for cheap. It looks awful..." (face="annoyed") @@ -452,16 +452,16 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == anal_beads_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Anal beads?" (face="disgusted") ast "Like, ones that you putt in your ass?" (face="angry") ast "What... the hell!" (face="angry") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: + elif states.ast.level > 5 and states.ast.level < 12: ast "Anal beads?" (face="disgusted") ast "Put it up your own ass and I'll let er rip!" (face="angry") call ast_mood(1) - elif ast_whoring > 11 and ast_whoring < 18: + elif states.ast.level > 11 and states.ast.level < 18: ast "Anal beads?" (face="disgusted") ast "Why would I need these?" (face="annoyed") ast "I'll pass..." (face="annoyed") @@ -474,7 +474,7 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == wine_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Wine?" (face="disgusted") call give_gift("You give the wine to Astoria...", gift_item) ast "You're joking right?" (face="annoyed") @@ -491,7 +491,7 @@ label give_ast_gift(gift_item): call ast_mood(-1) elif gift_item == firewhisky_ITEM: - if ast_whoring < 6: + if states.ast.level < 6: ast "Firewhisky?" (face="neutral") ast "That's the stuff Tonks always reeks off." (face="disgusted") ast "I'm not gonna drink whatever she does." (face="annoyed") @@ -529,9 +529,9 @@ label ast_mood(value=0): else: "Astoria's mood hasn't changed." - $ was_negative = ast_mood > 0 - $ ast_mood = max(min(ast_mood+value, 100), 0) + $ was_negative = states.ast.mood > 0 + $ states.ast.mood = max(min(states.ast.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, ast_mood, value) + call describe_mood_after_gift(was_negative, states.ast.mood, value) return diff --git a/game/scripts/characters/astoria/summon.rpy b/game/scripts/characters/astoria/summon.rpy index 2cdf9268..d94ec75e 100644 --- a/game/scripts/characters/astoria/summon.rpy +++ b/game/scripts/characters/astoria/summon.rpy @@ -1,12 +1,10 @@ label summon_astoria: - $ active_girl = "astoria" - $ last_character = "astoria" + $ states.active_girl = "astoria" + $ states.ast.busy = True - $ astoria_busy = True - - #call update_ast_tier + #call update_states.ast.tier call update_astoria $ renpy.checkpoint(hard=True) @@ -24,7 +22,7 @@ label summon_astoria: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if ast_mood > 0: + if states.ast.mood > 0: ast "I have nothing to say." ("annoyed", "narrow", "base", "R") jump astoria_requests @@ -33,23 +31,23 @@ label summon_astoria: # Spells "-Spells-" (icon="interface/icons/small/spell.webp"): - if ast_mood != 0: + if states.ast.mood != 0: ast "I don't want to today..." ("annoyed", "narrow", "base", "R") jump astoria_requests else: jump astoria_spells - "-Sexual favours-" (icon="interface/icons/small/condom.webp", style="disabled") if cho_favors_unlocked: + "-Sexual favours-" (icon="interface/icons/small/condom.webp", style="disabled") if states.cho.favors_unlocked: $ TBA_message() jump astoria_requests # Wardrobe - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if astoria_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.ast.wardrobe_unlocked: hide astoria_main with d1 call wardrobe jump astoria_requests - "-Hidden-" (style="disabled") if not astoria_wardrobe_unlocked: + "-Hidden-" (style="disabled") if not states.ast.wardrobe_unlocked: nar "You haven't unlocked this feature yet." jump astoria_requests @@ -81,7 +79,7 @@ label astoria_spells: for i in ag_spell_list: if not i.is_complete(): # Not trained yet. - if game.daytime and not tonks_busy: + if game.daytime and not states.ton.busy: spell_menu.append(i.get_menu_item()) else: spell_menu.append(i.get_menu_item(disabled=True)) @@ -111,7 +109,7 @@ label astoria_spells: label block_spell_training: if not game.daytime: gen "It's too late for that..." ("base", xpos="far_left", ypos="head") - elif tonks_busy: + elif states.ton.busy: gen "I don't think Tonks has time for that right now..." ("base", xpos="far_left", ypos="head") return @@ -128,7 +126,7 @@ label spell_not_known: label astoria_talk: menu: - "-Ask about Slytherin Quidditch Team-" (icon="interface/icons/small/quidditch.webp") if cho_tier == 2 and cho_quid.lock_practice and cho_quid.E6_complete and not cho_quid.E8_complete: + "-Ask about Slytherin Quidditch Team-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 2 and states.cho.ev.quidditch.lock_practice and states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e8_complete: gen "Could you help me with something?" ("base", xpos="far_left", ypos="head") ast "Depends what it is." ("annoyed", "narrow", "base", "mid") ast "And what's in it for me..." ("smile", "closed", "angry", "mid") @@ -141,7 +139,7 @@ label astoria_talk: ast "And can't you do something about it? You're the headmaster!" ("annoyed", "base", "worried", "mid") gen "Well, I can't technically force them to do anything. If I could, then that would make things a lot easier..." ("base", xpos="far_left", ypos="head") ast "Ask Snape then, he's the head of Slytherin... If they'd listen to anyone it'd be him." ("base", "base", "base", "mid") - if cho_quid.E9_complete: + if states.cho.ev.quidditch.e9_complete: gen "(If only he'd listen to me...)" ("base", xpos="far_left", ypos="head") else: gen "(I suppose, if there's no other option...)" ("base", xpos="far_left", ypos="head") @@ -198,7 +196,7 @@ label astoria_talk: ast "*Hmph*..." ( face="angry") ast "Alright, why not. Nobody knows about it anyways." ( face="neutral") jump astoria_talk - "-Master-" (style="disabled") if ast_whoring < 18: + "-Master-" (style="disabled") if states.ast.level < 18: label .master_fail: $ name_genie_astoria = "Dumby" # Tricked ast "*Ha-ha-ha-ha*-- you want me to call you master?" ( face="happy") @@ -211,7 +209,7 @@ label astoria_talk: ast "Yes... I'm sorry... {w=1.0}Dumby..." ( face="happy") gen "(Damn brat! We'll see who will be laughing later.)" ("angry", xpos="far_left", ypos="head") jump astoria_talk - "-Master-" if ast_whoring >= 18: + "-Master-" if states.ast.level >= 18: label .master: $ name_genie_astoria = "Master" ast "*Ha-ha-ha-ha*-- You want me to call you master?" ( face="happy") @@ -223,16 +221,16 @@ label astoria_talk: gen "Shut it... Or there will be consequences!" ("angry", xpos="far_left", ypos="head") ast "I'm sorry... It won't happen again, master..." ( face="neutral") jump astoria_talk - "-Custom Input-" (style="disabled") if ast_whoring < 18: + "-Custom Input-" (style="disabled") if states.ast.level < 18: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") jump astoria_talk - "-Custom Input-" if ast_whoring >= 18: + "-Custom Input-" if states.ast.level >= 18: $ temp_name = renpy.input("(Please enter the name.)", name_genie_astoria, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name.lower() in ("sir", "dumbledore", "professor", "old man", "genie", "lord voldemort", "daddy", "master"): - if temp_name.lower() == "master" and ast_whoring < 18: + if temp_name.lower() == "master" and states.ast.level < 18: jump astoria_talk.master_fail $ renpy.jump("astoria_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label elif temp_name == "": @@ -273,14 +271,14 @@ label astoria_talk: $ name_astoria_genie = "Cutie" ast "Fine... If you really have to, [name_genie_astoria]." ( face="disgusted") jump astoria_talk - "-Slave-" (style="disabled") if ast_whoring < 18: + "-Slave-" (style="disabled") if states.ast.level < 18: label .slave_fail: ast "I'm not your slave, [name_genie_astoria]!" ( face="angry") gen "Of course you aren't! We are just playing a game, that's all..." ("base", xpos="far_left", ypos="head") ast "Well, I don't like your games!" ( face="angry") ast "Forget it!" ( face="angry") jump astoria_talk - "-Slave-" if ast_whoring >= 18: + "-Slave-" if states.ast.level >= 18: label .slave: $ name_astoria_genie = "Slave" ast "I'm not your slave, [name_genie_astoria]!" ( face="angry") @@ -289,16 +287,16 @@ label astoria_talk: ast "Alrighty then!" ( face="happy") jump astoria_talk - "-Custom Input-" (style="disabled") if ast_whoring < 18: + "-Custom Input-" (style="disabled") if states.ast.level < 18: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") jump astoria_talk - "-Custom Input-" if ast_whoring >= 18: + "-Custom Input-" if states.ast.level >= 18: $ temp_name = renpy.input("(Please enter the name.)", name_astoria_genie, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name.lower() in ("miss greengrass", "girl", "princess", "cutie", "slave"): - if temp_name.lower() == "slave" and ast_whoring < 18: + if temp_name.lower() == "slave" and states.ast.level < 18: jump astoria_talk.slave_fail $ renpy.jump("astoria_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label elif temp_name == "": diff --git a/game/scripts/characters/astoria/vars.rpy b/game/scripts/characters/astoria/vars.rpy index b3080db4..4c406be6 100644 --- a/game/scripts/characters/astoria/vars.rpy +++ b/game/scripts/characters/astoria/vars.rpy @@ -1,19 +1,41 @@ -# Flags -default astoria_busy = False -default astoria_unlocked = False -default astoria_wardrobe_unlocked = False -default astoria_chatted = False -default astoria_outfits_schedule = True +# General states + +default states.ast.tier = 1 +default states.ast.level = 0 +default states.ast.public_tier = 0 +default states.ast.public_level = 0 +default states.ast.mood = 0 +default states.ast.unlocked = False +default states.ast.busy = False +default states.ast.gifted = False +default states.ast.favors_unlocked = False # TODO: Not in use. +default states.ast.wardrobe_unlocked = False +default states.ast.wardrobe_scheduling = True +default states.ast.chatted = False +default states.ast.map_location = "room_s" + +# Sexual activity states + +default states.ast.status.kissing = False +default states.ast.status.stripping = False +default states.ast.status.handjob = False +default states.ast.status.masturbating = False +default states.ast.status.sex = False +default states.ast.status.anal = False + +# Event flags + +default states.ast.ev.intro.e1_complete = False # Tonks visits. +default states.ast.ev.intro.e2_ask_hermione = False # Tell Hermione to look for her. +default states.ast.ev.intro.e2_ask_snape = False # Tell Snape to look for her. He fails. +default states.ast.ev.intro.e2_complete = False # Asked both. +default states.ast.ev.intro.e3_complete = False # Hermione finds her. +default states.ast.ev.intro.e4_complete = False # Astoria unlocked. # Names -default name_astoria_genie = "Astoria" + +default name_astoria_genie = "Astoria" default name_genie_astoria = "Sir" default name_susan_astoria = "Cow" default name_tonks_astoria = "Old Hag" - -# Stats -default ast_whoring = 0 # Affection level -default ast_mood = 0 - -default gave_astoria_gift = False diff --git a/game/scripts/characters/astoria/wardrobe_reactions.rpy b/game/scripts/characters/astoria/wardrobe_reactions.rpy index 7dd11ba6..e1a7fd78 100644 --- a/game/scripts/characters/astoria/wardrobe_reactions.rpy +++ b/game/scripts/characters/astoria/wardrobe_reactions.rpy @@ -179,7 +179,7 @@ label ast_reaction_equip_fail(item): label ast_reaction_unequip(item): ### Example # if item.type == "panties": - # if ast_whoring > 15: + # if states.ast.level > 15: # ast "You want to see my snatch?" # ast "You got it [name_genie_hermione]!" # @@ -235,7 +235,7 @@ label ast_reaction_equip_outfit_fail(item): ast "That's way beyond what I would consider dignified." ("annoyed", "narrow", "angry", "R") - if susan_unlocked: + if states.sus.unlocked: ast "Consider asking Susan instead." ("base", "narrow", "base", "mid") ast "I'm sure she'd enjoy wearing it for you, that cow." ("smile", "narrow", "base", "R") @@ -258,7 +258,7 @@ label ast_reaction_blacklist(item): ast "This is stupid..." ("base", "base", "base", "mid") - if susan_unlocked: + if states.sus.unlocked: gen "Perhaps I'll ask Susan instead--" ("base", xpos="far_left", ypos="head") ast "J-Just give me that!" ("annoyed", "base", "base", "L") @@ -266,16 +266,16 @@ label ast_reaction_blacklist(item): return label ast_reaction_fallback(item): - if ast_whoring < get_character_requirement("astoria", "unequip top") and not "top" in astoria.blacklist and not item.type == "top": + if states.ast.level < get_character_requirement("astoria", "unequip top") and not "top" in astoria.blacklist and not item.type == "top": $ astoria.equip(ast_top_school1) - if ast_whoring < get_character_requirement("astoria", "unequip bottom") and not "bottom" in astoria.blacklist and not item.type == "bottom": + if states.ast.level < get_character_requirement("astoria", "unequip bottom") and not "bottom" in astoria.blacklist and not item.type == "bottom": $ astoria.equip(ast_bottom_skirt1) - if ast_whoring < get_character_requirement("astoria", "unequip bra") and not "bra" in astoria.blacklist and not item.type == "bra": + if states.ast.level < get_character_requirement("astoria", "unequip bra") and not "bra" in astoria.blacklist and not item.type == "bra": $ astoria.equip(ast_bra_basic1) - if ast_whoring < get_character_requirement("astoria", "unequip panties") and not "panties" in astoria.blacklist and not item.type == "panties": + if states.ast.level < get_character_requirement("astoria", "unequip panties") and not "panties" in astoria.blacklist and not item.type == "panties": $ astoria.equip(ast_panties_basic1) ast "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/cho/chitchats.rpy b/game/scripts/characters/cho/chitchats.rpy index 0f83868d..ba48cabf 100644 --- a/game/scripts/characters/cho/chitchats.rpy +++ b/game/scripts/characters/cho/chitchats.rpy @@ -1,12 +1,12 @@ label cho_chitchat: - if cho_chatted: + if states.cho.chatted: return - $ cho_chatted = True + $ states.cho.chatted = True - if cho_tier == 1: #Pre Hufflepuff + if states.cho.tier == 1: #Pre Hufflepuff random: block: @@ -60,7 +60,7 @@ label cho_chitchat: block: cho "It's a shame Brooms are so easy to spot... Even flying close to smaller muggle villages is a risk." ("open", "base", "base", "R") - elif cho_tier == 2: #Pre Slytherin + elif states.cho.tier == 2: #Pre Slytherin random: block: @@ -104,7 +104,7 @@ label cho_chitchat: cho "I can't help but think about what would've happened if it had rained during the game against Hufflepuff." ("angry", "narrow", "base", "R") cho "It would probably have weighted down my robes too much to be able to distract Cedric." ("mad", "narrow", "base", "downR") - elif cho_tier == 3: #Pre Gryffindor + elif states.cho.tier == 3: #Pre Gryffindor random: block: cho "I've been getting some odd looks from other students lately." ("soft", "narrow", "base", "R") @@ -149,7 +149,7 @@ label cho_chitchat: cho "Although could you do it when we've got potions class next time?" ("smile", "wink", "base", "mid") cho "" ("base", "base", "base", "mid") - elif cho_tier == 4: #After Quidditch Finals + elif states.cho.tier == 4: #After Quidditch Finals random: block: cho "I wake up earlier than my fellow teammates so that I can be naked when I do my stretching at the pitch." ("smile", "narrow", "base", "R") diff --git a/game/scripts/characters/cho/common.rpy b/game/scripts/characters/cho/common.rpy index 0a4acdf0..e4694167 100644 --- a/game/scripts/characters/cho/common.rpy +++ b/game/scripts/characters/cho/common.rpy @@ -58,8 +58,9 @@ label end_cho_event: call update_cho - $ active_girl = None - $ cho_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.cho.busy = True $ cho.wear("all") $ cho.set_cum(None) diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy index 0fa2357b..a2c49ac2 100644 --- a/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy @@ -11,11 +11,11 @@ label cc_pf_strip: # End Event Jump label end_cho_strip_event: - if cho_tier == 2 and cho_whoring < 9: # Points til 9 - $ cho_whoring += 1 + if states.cho.tier == 2 and states.cho.level < 9: # Points til 9 + $ states.cho.level += 1 - if cho_tier == 3 and cho_whoring < 15: # Points til 15 - $ cho_whoring += 1 + if states.cho.tier == 3 and states.cho.level < 15: # Points til 15 + $ states.cho.level += 1 $ cho.wear("all") # Reset clothes jump end_cho_event @@ -174,7 +174,7 @@ label cc_pf_strip_T2_intro_E1: cho "Thank you, Sir." ("soft", "narrow", "worried", "downR", cheeks="blush") "\"*Eh*, I've seen better, but that'll do.\"": - $ cho_mood += 3 + $ states.cho.mood += 3 cho "What?!" ("mad", "base", "angry", "mid") # Upset gen "(Crap!)" ("angry", xpos="far_left", ypos="head") gen "What I meant to say is, you're in great shape but I still see room for improvements." ("base", xpos="far_left", ypos="head") @@ -203,7 +203,7 @@ label cc_pf_strip_T2_intro_E1: menu: "\"Yeah, she's gross.\"": - $ cho_mood = 0 + $ states.cho.mood = 0 gen "Miss Granger's body is nothing compared to yours." ("base", xpos="far_left", ypos="head") cho "I wholeheartedly agree, Sir!" ("base", "narrow", "angry", "mid") gen "Her tits sag too much, and her fat hips are disgusting..." ("base", xpos="far_left", ypos="head") @@ -219,7 +219,7 @@ label cc_pf_strip_T2_intro_E1: gen "Yes, my dear." ("base", xpos="far_left", ypos="head") "\"Nope, you lose\"": - $ cho_mood += 6 + $ states.cho.mood += 6 cho "What?!" ("scream", "wide", "angry", "mid", trans=hpunch) cho "" ("angry", "narrow", "angry", "mid") @@ -298,7 +298,7 @@ label cc_pf_strip_T2_intro_E1: menu: "\"It absolutely is!\"": - $ cho_mood += 20 + $ states.cho.mood += 20 $ cho_mad_about_stripping = True # Flag that enables different dialogue that is a bit more "lewd" in the next favour repeat. cho "" ("angry", "wide", "base", "mid") # Shock gen "Now take off that bra of yours and show me those titties!" ("grin", xpos="far_left", ypos="head") @@ -308,7 +308,7 @@ label cc_pf_strip_T2_intro_E1: cho "You disgust me, sir..." ("soft", "narrow", "angry", "mid") "\"Of course not...\"": - $ cho_mood += 6 + $ states.cho.mood += 6 $ cho_mad_about_stripping = False cho "Aye right..." ("soft", "narrow", "raised", "mid") # Expression of disbelieve... cho "And I'm supposed to believe that." ("open", "narrow", "base", "R") @@ -389,7 +389,7 @@ label cc_pf_strip_T2_intro_E2: cho "And dance for you like some common harlot?" ("soft", "narrow", "base", "R") # You saw Hermione strip before. - if hg_strip.trigger: + if states.her.status.stripping: gen "If it's not too much trouble..." ("base", xpos="far_left", ypos="head") cho "Of course not, [name_genie_cho]." ("soft", "closed", "base", "mid") gen "(I'm having a bit of a deja vu!)" ("angry", xpos="far_left", ypos="head") # In-game font doesn't support special characters. déjà vu! @@ -459,7 +459,7 @@ label cc_pf_strip_T2_intro_E2: cho "Or take off my panties?" ("horny", "narrow", "worried", "down", cheeks="blush") "\"Yes, you are dismissed...\"": - $ cho_mood += 6 + $ states.cho.mood += 6 stop music fadeout 1 cho "What?!" ("soft", "wide", "base", "mid") cho "But Sir!" ("soft", "base", "worried", "mid") @@ -534,7 +534,7 @@ label cc_pf_strip_T2_intro_E2: gen "After all, they are two soft, meaty \"bludgers\"!" ("grin", xpos="far_left", ypos="head") gen "And I'm a \"beater\"!" ("grin", xpos="far_left", ypos="head") - $ genie_quid_position = "beater" + $ states.gen.stats.quidditch_position = "beater" cho "You are childish.{w} That's what you are..." ("soft", "narrow", "angry", "mid") gen "You're the one playing games." ("base", xpos="far_left", ypos="head") @@ -592,7 +592,7 @@ label cc_pf_strip_T2_intro_E2: gen "Yes..." ("base", xpos="far_left", ypos="head") gen "You see, I think I've become quite a bit of a seeker myself!" ("grin", xpos="far_left", ypos="head") - $ genie_quid_position = "seeker" + $ states.gen.stats.quidditch_position = "seeker" cho "(...)" ("annoyed", "base", "base", "mid") gen "And I believe I've just found my very own golden snatch!" ("base", xpos="far_left", ypos="head") @@ -812,7 +812,7 @@ label cc_pf_strip_T2_intro_E3: pause .4 # Check if Hermione has already stripped for you. - if not hg_strip.trigger: # Triggers in hg_pf_strip_T3_intro_E2. This check needs to always be no earlier here to make sure Luna is also unlocked. + if not states.her.status.stripping: # Triggers in hg_pf_strip_T3_intro_E2. This check needs to always be no earlier here to make sure Luna is also unlocked. if cc_pf_strip_T2_E3_failed: jump cc_pf_strip_T2_E3_fail_repeat else: @@ -924,7 +924,7 @@ label cc_pf_strip_T2_intro_E3: pause .8 # Panties Acquired - $ has_cho_panties = True + $ states.cho.ev.panty_thief.acquired = True gen "Well then, Miss Chang..." ("base", xpos="far_left", ypos="head") gen "You may leave now.{w} Dismissed." ("base", xpos="far_left", ypos="head") @@ -1047,7 +1047,7 @@ label cc_pf_strip_T2_E3_repeat: nar "Cho throws her panties at you." # Panties Acquired - $ has_cho_panties = True + $ states.cho.ev.panty_thief.acquired = True gen "Nice!" ("grin", xpos="far_left", ypos="head") cho "I'd like to have them back after this, mind you." ("soft", "base", "raised", "R") diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier2_hermione.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2_hermione.rpy index f8e85420..e8a61e1c 100644 --- a/game/scripts/characters/cho/events/favors/inspect_her_body_tier2_hermione.rpy +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2_hermione.rpy @@ -54,7 +54,6 @@ label cc_pf_strip_T2_E3_hermione: cho "It's so much better than Miss Granger's, isn't it?" ("base", "narrow", "angry", "mid") call ctc - $ cho_strip_complete = True # Enables wardrobe strip functions. $ d_flag_01 = False # Cho not on desk call cc_pf_strip_T2_E3_hermione_choices @@ -65,7 +64,7 @@ label cc_pf_strip_T2_E3_hermione_choices: menu: "\"Definitely!\"": - $ her_mood += 10 + $ states.her.mood += 10 her "What?!" ("open", "wide", "base", "stare") cho "See, I told you!{w=0.6} How could he pick a walking bush on legs over this!" ("smile", "narrow", "angry", "L") her "" ("angry", "base", "angry", "mid") @@ -154,7 +153,7 @@ label cc_pf_strip_T2_E3_hermione_choices: call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp") "\"Not even close.\"": - $ cho_mood += 15 + $ states.cho.mood += 15 cho "Not even clo--" ("soft", "wide", "base", "mid") her "" ("smile", "base", "base", "R") cho "Sir, could you please repeat that for me?" ("clench", "closed", "angry", "mid") @@ -202,7 +201,7 @@ label cc_pf_strip_T2_E3_hermione_choices: her "Thank you." ("soft", "narrow", "base", "mid_soft") "\"Fifty points to Gryffindor!\"": - $ cho_mood += 10 + $ states.cho.mood += 10 $ gryffindor += 50 cho "(Fifty?!)" ("soft", "wide", "base", "mid") # Shocked her "Thank you." ("soft", "narrow", "base", "mid_soft") @@ -292,11 +291,11 @@ label cc_pf_strip_T2_E3_hermione_choices: gen "For somebody that does a lot of exercising, she smells really nice!" ("grin", xpos="far_left", ypos="head") gen "Maybe I should be a bit nicer to her next time..." ("base", xpos="far_left", ypos="head") - $ has_cho_panties = False + $ states.cho.ev.panty_thief.acquired = False "\"Let Hermione assess you, Cho.\"": - $ her_mood += 6 + $ states.her.mood += 6 cho "Her?" ("soft", "wide", "base", "mid") her "I couldn't care less about the way she looks!" ("soft", "base", "angry", "mid") cho "(...)" ("annoyed", "narrow", "angry", "L") @@ -397,7 +396,7 @@ label cc_pf_strip_T2_E3_hermione_choices: gen "Nice, I still got her panties!" ("grin", xpos="far_left", ypos="head") call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp") - $ has_cho_panties = True + $ states.cho.ev.panty_thief.acquired = True # Reset Hermione clothing. $ hermione.equip(her_outfit_last) diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier3.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier3.rpy index 3c04d9e0..f19ab29c 100644 --- a/game/scripts/characters/cho/events/favors/inspect_her_body_tier3.rpy +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier3.rpy @@ -130,7 +130,7 @@ label cc_pf_strip_T3_intro_E1: # Panties acquired message! call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp") - $ has_cho_panties = True + $ states.cho.ev.panty_thief.acquired = True else: pause .8 @@ -790,7 +790,7 @@ label cc_pf_strip_T3_intro_E2: "\"Severus! Please, stay and watch.\"": if cc_strip_no_snape: # Cho clearly told you she won't strip for Snape. - $ cho_mood += 30 + $ states.cho.mood += 30 cho "Are you mad?!" ("clench", "base", "angry", "mid", trans=hpunch) cho "Sir, I clearly told you before, I won't do this in front of Professor Snape!" ("open", "base", "angry", "mid") sna "So you actually considered inviting me..." ("snape_20") @@ -806,7 +806,7 @@ label cc_pf_strip_T3_intro_E2: pass else: - $ cho_mood += 12 + $ states.cho.mood += 12 cho "Sir, you can't be serious!" ("angry", "wide", "raised", "mid", cheeks="heavy_blush") gen "Calm yourself, girl." ("base", xpos="far_left", ypos="head") gen "There's no touching allowed anyway... Those are the rules." ("base", xpos="far_left", ypos="head") @@ -1025,8 +1025,8 @@ label cc_pf_strip_T3_intro_E2: $ cho.equip(cho_outfit_last) $ tonks.equip(ton_outfit_last) - $ tonks_busy = True - $ snape_busy = True + $ states.ton.busy = True + $ states.sna.busy = True # End event. jump end_cho_strip_event @@ -1086,9 +1086,9 @@ label cc_pf_strip_T3_intro_E3: # Fireplace turns on. - if not fire_in_fireplace: + if not states.fireplace_started: pause .2 - $ fire_in_fireplace = True + $ states.fireplace_started = True $ fireplace_OBJ.foreground = "fireplace_fire" with d5 pause .8 @@ -1099,7 +1099,7 @@ label cc_pf_strip_T3_intro_E3: # Fire flashes green. # Tonks appears in the fireplace. play sound "sounds/fire_woosh.ogg" - $ fire_in_fireplace = True + $ states.fireplace_started = True show screen gfx_effect(690, 330, img="smoke", zoom=0.5) pause .1 $ fireplace_OBJ.foreground = "fireplace_greenfire" @@ -1112,7 +1112,7 @@ label cc_pf_strip_T3_intro_E3: # Fireplace turns off. stop background #Stops playing the fire SFX. - $ fire_in_fireplace = False + $ states.fireplace_started = False $ fireplace_OBJ.foreground = None with d5 pause .2 @@ -1845,7 +1845,7 @@ label cc_pf_strip_T3_intro_E3: show cho_strip_personal_t3_e3_on_knees tonks_mouth_base cho_mouth_lip_bite cho_eyes_open_down as cg with d3 - if cho_blowjob_done: + if states.cho.status.blowjob: cho "But I've already seen-- I mean..." else: cho "..." @@ -2091,7 +2091,7 @@ label cc_pf_strip_T3_intro_E3: show cho_strip_personal_t3_e3_on_knees cho_mouth_open as cg with d3 - if cho_blowjob_done: + if states.cho.status.blowjob: cho "*Ehm*... Haven't I already proved--" else: cho "But he's my--{w=0.2} And you--{w=0.2} Surely I can't just--" @@ -3041,7 +3041,7 @@ label cc_pf_strip_T3_intro_E3: $ tonks.equip(ton_outfit_last) $ hermione.equip(her_outfit_last) - $ tonks_busy = True + $ states.ton.busy = True # End event. jump end_cho_strip_event diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier3_tonks.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier3_tonks.rpy index 37f2f541..3f100a9c 100644 --- a/game/scripts/characters/cho/events/favors/inspect_her_body_tier3_tonks.rpy +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier3_tonks.rpy @@ -28,7 +28,7 @@ label cc_pf_strip_T3_tonks: cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=fade) # Intro - if doppler_done == False and succubus_done == False: # First time only. + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False and states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: # First time only. gen "About your teacher, Professor Tonks..." ("base", xpos="far_left", ypos="head") gen "That ability she has, it's quite... interesting, don't you think?" ("base", xpos="far_left", ypos="head") cho "It is! And exceptionally rare as well!" ("grin", "happyCl", "base", "mid") @@ -91,7 +91,7 @@ label cc_pf_strip_T3_tonks: ton "Miss Chang." ("base", "narrow", "raised", "L") # Intro - if doppler_done == False and succubus_done == False: # First time only. + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False and states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: # First time only. gen "Didn't fancy taking the fireplace this time?" ("base", xpos="far_left", ypos="head") ton "Not today... I only use floo powder when I'm in a hurry." ("open", "base", "base", "mid") @@ -104,7 +104,7 @@ label cc_pf_strip_T3_tonks: gen "Don't see why not..." ("grin", xpos="far_left", ypos="head") cho "Of course, Sir." ("soft", "narrow", "base", "downR") - if doppler_done == False and succubus_done == False: # First time only. + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False and states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: # First time only. cho "..." ("annoyed", "narrow", "worried", "down", cheeks="blush") # Embarrassed look down. cho "The headmaster wanted to see us strip for him again..." ("open", "narrow", "worried", "L", cheeks="blush") if cho.is_worn("robe") or ( cho.is_worn("top") and cho.is_worn("bottom") ): @@ -192,7 +192,7 @@ label cc_pf_strip_T3_tonks: jump cc_pf_strip_T3_tonks.strip_tonks - #"\"How about Miss Granger?\"" if doppler_done == True and succubus_done == True: + #"\"How about Miss Granger?\"" if states.cho.ev.inspect_her_body.tonks_doppler_encounter == True and states.cho.ev.inspect_her_body.tonks_succubus_encounter == True: #jump cc_pf_strip_T3_tonks.strip_hermione @@ -766,19 +766,19 @@ label .transformations: with d5 ## Intro Events 1 and 2: - if doppler_done == False or succubus_done == False: + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False or states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: # Ask Tonks if she's a Doppler or a Succubus. # After asking her both questions, the next time you do the event she'll do some tranformations. - if doppler_done == True or succubus_done == True: # You have asked her if she was one of these before. + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == True or states.cho.ev.inspect_her_body.tonks_succubus_encounter == True: # You have asked her if she was one of these before. ton "You're getting quite good at this, Miss Chang." ("base", "narrow", "base", "L") cho "Thank you, Professor." ("base", "narrow", "base", "L", cheeks="blush") gen "She's learning from the best." ("base", xpos="far_left", ypos="head") - if succubus_done: + if states.cho.ev.inspect_her_body.tonks_succubus_encounter : gen "Who'd be better suited to teach her how to entice a man than a semen stealing she-devil!" ("base", xpos="far_left", ypos="head") ton "Please, Professor. I've already told you I'm not a Succubus..." ("open", "closed", "annoyed", "mid") - else: # doppler_done + else: # states.cho.ev.inspect_her_body.tonks_succubus_encounter gen "Who'd be better suited to teach her how to entice a man than a shapeshifter!" ("base", xpos="far_left", ypos="head") ton "Please, Professor. I've already told you I'm not this... doppler creature you spoke of." ("open", "closed", "annoyed", "mid") ton "" ("annoyed", "narrow", "annoyed", "mid") @@ -809,9 +809,9 @@ label .transformations: menu: gen "(...)" ("base", xpos="far_left", ypos="head") - "\"A Doppler!\"" if doppler_done == False: + "\"A Doppler!\"" if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False: jump .doppler_E1 - "\"A Succubus!\"" if succubus_done == False: + "\"A Succubus!\"" if states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: jump .succubus_E1 @@ -838,7 +838,7 @@ label .transformations: ## Doppler Event 1 ## label cc_pf_strip_T3_tonks.doppler_E1: - if doppler_done == False: + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False: # Intro ton "*Hmmm?*... What's a \"doppler\"?" ("upset", "base", "base", "mid") gen "What do you mean, what's a doppler?!" ("base", xpos="far_left", ypos="head") @@ -856,7 +856,7 @@ label cc_pf_strip_T3_tonks.doppler_E1: cho "What kind of \"games\" is he talking about, Professor?" ("soft", "base", "worried", "L") # looking at Tonks. Small text ton "I haven't the foggiest..." ("mad", "base", "raised", "L") # looking back. Small text - $ doppler_done = True + $ states.cho.ev.inspect_her_body.tonks_doppler_encounter = True gen "Dopplers are hideous creatures, you see... Both in character, and in appearance." ("angry", xpos="far_left", ypos="head") cho "" ("annoyed", "base", "base", "mid") ton "" ("upset", "narrow", "base", "mid") @@ -917,7 +917,7 @@ label cc_pf_strip_T3_tonks.doppler_E1: ## Succubus Event 1 ## label cc_pf_strip_T3_tonks.succubus_E1: - if succubus_done == False: + if states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: # Intro ton "*snort!*... For real?" ("crooked_smile", "happyCl", "shocked", "mid") cho "Oh, I've heard of those, Professor!" ("grin", "happyCl", "base", "mid") @@ -927,7 +927,7 @@ label cc_pf_strip_T3_tonks.succubus_E1: $ ravenclaw += 10 cho "Thank you." ("smile", "narrow", "base", "downR", cheeks="blush") # happy - $ succubus_done = True + $ states.cho.ev.inspect_her_body.tonks_succubus_encounter = True ton "I mean... I'm quite flattered, Professor..." ("open", "narrow", "raised", "mid") ton "Who doesn't want to be compared to a demonic, sex-driven temptress!" ("soft", "narrow", "base", "mid", hair="horny") cho "" ("annoyed", "base", "base", "mid", cheeks="blush") @@ -1447,7 +1447,7 @@ label .end_event: $ tonks.equip(ton_outfit_last) $ hermione.equip(her_outfit_last) - $ tonks_busy = True + $ states.ton.busy = True # End event. jump end_cho_strip_event diff --git a/game/scripts/characters/cho/events/favors/suck_it.rpy b/game/scripts/characters/cho/events/favors/suck_it.rpy index 863472b7..29fa7555 100644 --- a/game/scripts/characters/cho/events/favors/suck_it.rpy +++ b/game/scripts/characters/cho/events/favors/suck_it.rpy @@ -24,18 +24,18 @@ label cc_pf_blowjob: # End Event Jump label end_cc_pf_blowjob: - $ cho_blowjob_done = True + $ states.cho.status.blowjob = True $ cho.set_cum(None) - if cho_tier == 3: - if cho_whoring < 15: # Points till 15 - $ cho_whoring += 1 + if states.cho.tier == 3: + if states.cho.level < 15: # Points till 15 + $ states.cho.level += 1 jump end_cho_event label cc_pf_blowjob_T3_intro_E1: - if cho_bj_choice == None: + if states.cho.ev.suck_it.variant == None: gen "[name_cho_genie], ready to reward your coach for a job well done?" ("base", xpos="far_left", ypos="head") cho "Of course... a deal's a deal." ("open", "narrow", "base", "mid") gen "Great, in that case I think a blowjob is in order!" ("base", xpos="far_left", ypos="head") @@ -266,7 +266,7 @@ label cc_pf_blowjob_1: gen "That's not what we agreed on." gen "Get those lips on there..." - if cho_bj_choice == None: + if states.cho.ev.suck_it.variant == None: $ camera.set_image("up_wide") else: $ camera.set_image("up_worried") @@ -306,7 +306,7 @@ label cc_pf_blowjob_1: $ camera.set_imagepath("cho_bj/kneel/") $ camera.set_image("mid_annoyed") - if cho_bj_choice == "failed": + if states.cho.ev.suck_it.variant == "failed": cho "It still won't fit!" gen "[name_cho_genie]... You're here to push your limits, stop with the whining!" $ camera.set_image("up_worried") @@ -315,7 +315,7 @@ label cc_pf_blowjob_1: gen "[name_cho_genie]..." $ camera.set_image("mid_worried") cho "I'm sorry!" #blush, looking away - $ cho_mood += 3 # Annoyed that you failed it again, sucker + $ states.cho.mood += 3 # Annoyed that you failed it again, sucker else: cho "It won't fit!" gen "[name_cho_genie]... You're here to push your limits." @@ -338,11 +338,11 @@ label cc_pf_blowjob_1: gen "(Damn...{w=0.4} Am I that type of coach that keep pushing their pupils too hard?)" ("base", xpos="far_left", ypos="head") gen "(Speaking of hard, this thing isn't going to go away by itself...)" ("base", xpos="far_left", ypos="head") gen "(Well... if there's anything I got good at in that lamp...)" ("base", xpos="far_left", ypos="head") - if cho_bj_choice == "failed": + if states.cho.ev.suck_it.variant == "failed": gen "(Perhaps I should go a bit more easy on her next time...)" ("base", xpos="far_left", ypos="head") $ cc_pf_blowjob.fail() - $ cho_bj_choice = "failed" + $ states.cho.ev.suck_it.variant = "failed" call gen_chibi("sit_behind_desk") with fade @@ -352,7 +352,7 @@ label cc_pf_blowjob_1: "-Take it slow...-": #Cho strokes and licks genie then goes back to stroking until climax gen "Okay... just keep stroking it for now..." - if cho_bj_choice == None: + if states.cho.ev.suck_it.variant == None: $ camera.set_imagepath("cho_bj/hj/") $ camera.set_image("up_wide") cho "Oh... Okay, I can do that..." @@ -553,7 +553,7 @@ label cc_pf_blowjob_1: "-Don't-": $ warned_her = False - $ cho_mood += 4 + $ states.cho.mood += 4 gen "(You better be ready slut...)" @@ -614,7 +614,7 @@ label cc_pf_blowjob_1: cho "Is this what you do to Hermione as well?" ("upset", "narrow", "base", "down", cheeks="blush") - if hg_kiss.trigger: + if states.her.status.kissing: gen "Maybe." ("base", xpos="far_left", ypos="head") cho "I knew it..." ("smile", "wide", "base", "mid", cheeks="blush") gen "Miss Granger knows how to properly dispose--" ("base", xpos="far_left", ypos="head") @@ -981,7 +981,7 @@ label cc_pf_blowjob_T3_E2: menu: "\"I'll even give you some house points!\"": - $ cho_bj_choice = "points" + $ states.cho.ev.suck_it.variant = "points" #Cho pulls back $ camera.set_image("cho_bj topless suck medium") @@ -1072,10 +1072,10 @@ label cc_pf_blowjob_T3_E2: gen "(She'll get over it...)" ("base", xpos="far_left", ypos="head") gen "(I think.)" ("base", xpos="far_left", ypos="head") - $ cho_mood += 12 + $ states.cho.mood += 12 "\"Taste that cum in your mouth!\"": - $ cho_bj_choice = "taste" + $ states.cho.ev.suck_it.variant = "taste" cho "(T-taste?! But... We never discussed this!)" @@ -1159,7 +1159,7 @@ label cc_pf_blowjob_T3_E2: gen "In any case, you've excelled today [name_cho_genie]." ("base", xpos="far_left", ypos="head") cho "I think I need to lie down for a bit..." ("open", "narrow", "base", "down", cheeks="blush") cho "This was exhausting...{w=0.4} Even for me." ("open", "narrow", "base", "mid", cheeks="blush") - if hg_kiss.trigger: + if states.her.status.kissing: cho "I don't know how Granger could do this for so long." ("soft", "narrow", "base", "down") gen "(*Heh*, practice makes perfect...)" ("grin", xpos="far_left", ypos="head") @@ -1202,7 +1202,7 @@ label cc_pf_blowjob_T3_E2: #End Scene #Marks at completed "\"Swallow that cum!\"": - $ cho_bj_choice = "swallow" + $ states.cho.ev.suck_it.variant = "swallow" $ camera.set_image("cho_bj topless suck closed exit") pause 3 @@ -1302,7 +1302,7 @@ label cc_pf_blowjob_T3_E2: #End Scene #Marks at completed "-Just cum down her throat-": - $ cho_bj_choice = "throat" + $ states.cho.ev.suck_it.variant = "throat" gen "That did it, you slut!" $ camera.set_image("cho_bj topless suck medium up") @@ -1364,7 +1364,7 @@ label cc_pf_blowjob_T3_E2: cho "*Humph*!" ("upset", "base", "angry", "mid", cheeks="blush") # Gets upset - $ cho_mood += 12 + $ states.cho.mood += 12 cho "I'm going to go take a shower now if you don't mind!" ("mad", "base", "angry", "mid", cheeks="blush") gen "You're dismissed [name_cho_genie]." ("base", xpos="far_left", ypos="head") @@ -1381,19 +1381,19 @@ label cc_pf_blowjob_T3_E3: cho "You want to...{w=0.4} use my mouth again [name_genie_cho]?" ("soft", "narrow", "base", "downR", cheeks="blush") cho "I guess I could..." ("open", "narrow", "base", "down", cheeks="blush") #Blush #Horny - if cho_bj_choice == "points": + if states.cho.ev.suck_it.variant == "points": gen "And this time I won't make the mistake of offering house points..." ("base", xpos="far_left", ypos="head") cho "You better not." ("annoyed", "narrow", "base", "downR", cheeks="blush") gen "But my expectations are still the same..." ("base", xpos="far_left", ypos="head") gen "For you to push your limits on your own..." ("base", xpos="far_left", ypos="head") cho "So you want me to..." ("soft", "base", "base", "downR", cheeks="blush") - elif cho_bj_choice == "taste": + elif states.cho.ev.suck_it.variant == "taste": gen "And if you don't want those clothes dirty you better swallow this time..." ("base", xpos="far_left", ypos="head") cho "..." ("annoyed", "narrow", "base", "downR", cheeks="blush") #blush - elif cho_bj_choice == "swallow": + elif states.cho.ev.suck_it.variant == "swallow": cho "You expect me to swallow again?" ("open", "base", "base", "downR", cheeks="blush") gen "Of course, that's part of the deal..." ("base", xpos="far_left", ypos="head") - else: # cho_bj_choice == throat - Using `else` as a fallback for degenerates that use cheats + else: # states.cho.ev.suck_it.variant == throat - Using `else` as a fallback for degenerates that use cheats cho "Will you warn me this time?" ("annoyed", "narrow", "base", "downR", cheeks="blush") gen "Of course..." ("base", xpos="far_left", ypos="head") @@ -1502,7 +1502,7 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("cho_hj topless mid smile") cho "The look of pleasure on your face once you cum in my mouth..." - if cho_bj_choice in ("swallow", "throat"): + if states.cho.ev.suck_it.variant in ("swallow", "throat"): cho "The sensation of your jizz going down my throat is so..." #Looks at dick $ camera.set_image("cho_bj topless lick success") @@ -1510,7 +1510,7 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("topless_mid_dreamy") "addicting! {heart}{heart}" - elif cho_bj_choice == "points": + elif states.cho.ev.suck_it.variant == "points": cho "To finally feel your jizz slide down my throat, I..." $ camera.set_image("cho_bj topless lick success") @@ -1684,14 +1684,14 @@ label cc_pf_blowjob_T3_E3: hide screen animatedCG with fade - if cho_bj_choice in ("taste", "points"): + if states.cho.ev.suck_it.variant in ("taste", "points"): cho "I...{w=0.4} I did it...{w=0.4} I swallowed your cum [name_genie_cho]." ("base", "happyCl", "base", "mid", cheeks="blush", trans=d3) gen "As expected." ("base", xpos="far_left", ypos="head") gen "But an improvement from last time nevertheless..." ("base", xpos="far_left", ypos="head") cho "Thank you [name_genie_cho]..." ("base", "narrow", "base", "down", cheeks="blush") - elif cho_bj_choice == "swallow": + elif states.cho.ev.suck_it.variant == "swallow": cho "I...{w=0.4} I hope you liked it [name_genie_cho]." ("base", "narrow", "base", "down", cheeks="blush", trans=d3) - else: # cho_bj_choice == throat - Using `else` as a fallback for degenerates that use cheats + else: # states.cho.ev.suck_it.variant == throat - Using `else` as a fallback for degenerates that use cheats cho "I...{w=0.4} I did it..." ("base", "narrow", "base", "down", cheeks="blush", trans=d3) gen "And without my help this time." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/cho/events/favors/talk_to_me.rpy b/game/scripts/characters/cho/events/favors/talk_to_me.rpy index 46f02bef..fef4ba96 100644 --- a/game/scripts/characters/cho/events/favors/talk_to_me.rpy +++ b/game/scripts/characters/cho/events/favors/talk_to_me.rpy @@ -19,21 +19,21 @@ label cc_pf_talk: # End Event Jump label end_cho_talk_event: - if cho_tier == 1: - if cho_whoring < 3: # Points til 3 - $ cho_whoring += 1 + if states.cho.tier == 1: + if states.cho.level < 3: # Points til 3 + $ states.cho.level += 1 - elif cho_tier == 2: - if cho_whoring < 9: # Points til 9 - $ cho_whoring += 1 + elif states.cho.tier == 2: + if states.cho.level < 9: # Points til 9 + $ states.cho.level += 1 - elif cho_tier == 2: - if cho_whoring < 9: # Points til 9 - $ cho_whoring += 1 + elif states.cho.tier == 2: + if states.cho.level < 9: # Points til 9 + $ states.cho.level += 1 - elif cho_tier == 3: # Points til 15 - if cho_whoring < 15: - $ cho_whoring += 1 + elif states.cho.tier == 3: # Points til 15 + if states.cho.level < 15: + $ states.cho.level += 1 jump end_cho_event @@ -91,8 +91,8 @@ label cc_pf_talk_T1_intro_E1: pass "\"It's okay if you like girls...\"": - if cho_mood == 0: - $ cho_mood += 1 + if states.cho.mood == 0: + $ states.cho.mood += 1 gen "Some people prefer to swing the other way..." ("base", xpos="far_left", ypos="head") cho "What?" ("angry", "wide", "base", "mid") gen "You know... When you prefer flicking the bean over rubbing a wand..." ("base", xpos="far_left", ypos="head") @@ -104,8 +104,8 @@ label cc_pf_talk_T1_intro_E1: jump cc_pf_talk_T1_intro_E1.choices "\"In my previous relationships...\"": - if cho_mood == 0: - $ cho_mood += 1 + if states.cho.mood == 0: + $ states.cho.mood += 1 cho "Sir, I'd rather not hear a boring old tale about any of your old flames..." ("open", "narrow", "base", "R") gen "Oh they weren't boring at all!" ("grin", xpos="far_left", ypos="head") cho "*Hmm*?" ("annoyed", "narrow", "base", "mid") @@ -216,8 +216,8 @@ label cc_pf_talk_T1_intro_E1: menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main nar "You reach under the desk and grab your cock..." @@ -227,7 +227,7 @@ label cc_pf_talk_T1_intro_E1: pause .8 "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "I want to hear everything!" ("grin", xpos="far_left", ypos="head") @@ -238,7 +238,7 @@ label cc_pf_talk_T1_intro_E1: else: cho "It's getting really late. May we postpone this talk to some other time?" ("soft", "narrow", "worried", "R") - if genie_masturbating: + if states.gen.masturbating: gen "What? Please don't go now. I've only just started!" ("angry", xpos="far_left", ypos="head") cho "Started with what, [name_genie_cho]?" ("annoyed", "narrow", "angry", "mid") gen "I'll give you ten house points if you stay!{w=0.8} Just a tiny bit longer!" ("angry", xpos="far_left", ypos="head") @@ -265,7 +265,7 @@ label cc_pf_talk_T1_intro_E1: call bld gen "(...)" ("base", xpos="far_left", ypos="head") - if genie_masturbating: + if states.gen.masturbating: gen "(Blue-balled...)" ("base", xpos="far_left", ypos="head") gen "(Oh well...{w=0.4} Maybe I deserved it.)" ("base", xpos="far_left", ypos="head") @@ -351,22 +351,22 @@ label cc_pf_talk_T1_intro_E2: with d3 pause .8 - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False cho "Ever since I was a little girl -- Quidditch has been my dream..." ("soft", "narrow", "worried", "down") cho "[name_genie_cho], can you imagine how {b}hard{/b} it was for me?" ("soft", "narrow", "worried", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes, yes... It's so hard for you, you little slut!!!){/size}" ("angry", xpos="far_left", ypos="head") cho "How difficult it was for me at first?" ("open", "narrow", "worried", "R") cho "Getting accepted?" ("soft", "closed", "worried", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(I'd accept your ass on my cock if you're in such a need for acceptance, you whore!){/size}" ("angry", xpos="far_left", ypos="head") cho "I'm the only female in my team. Constantly surrounded by other men..." ("soft", "base", "worried", "down") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes! Yes! And they all would like to have their way with you!){/size}" ("angry", xpos="far_left", ypos="head") else: gen "(Quite a sausage-party this Quidditch I have to admit.)" ("base", xpos="far_left", ypos="head") @@ -377,7 +377,7 @@ label cc_pf_talk_T1_intro_E2: cho "They ignore me during class..." ("soft", "closed", "base", "mid") cho "When I meet them in the common room they go out of their way not to cross paths with me..." ("annoyed", "narrow", "angry", "R") cho "And when we shower after practice they're scared to even look at me!" ("angry", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes, yes!{w=0.5} Afraid to even look at you in the--){/size}" ("angry", xpos="far_left", ypos="head") with hpunch gen "Wait a bloody minute!{w} You shower {b}with{/b} your team?" ("angry", xpos="far_left", ypos="head") @@ -387,7 +387,7 @@ label cc_pf_talk_T1_intro_E2: gen "No kidding?" ("angry", xpos="far_left", ypos="head") cho "They shouldn't exclude me from team activities just because I'm a girl." ("open", "narrow", "base", "R") cho "It makes absolutely no difference!" ("open", "closed", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "You are naked with them? In the showers?" ("angry", xpos="far_left", ypos="head") else: gen "Just to be clear. You are naked with them, in the shower." ("base", xpos="far_left", ypos="head") @@ -395,7 +395,7 @@ label cc_pf_talk_T1_intro_E2: cho "Why would we shower with our clothes on?" ("soft", "closed", "base", "mid") # Genie cums. - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(You exhibitionist slut!){/size}" ("angry", xpos="far_left", ypos="head") gen "*Argh*! {size=-4}(Here it comes!){/size}" ("angry", xpos="far_left", ypos="head") @@ -454,7 +454,7 @@ label cc_pf_talk_T1_intro_E2: stop music fadeout 1.0 call gen_chibi("sit_behind_desk") - $ cho_requests_unlocked = True + $ states.cho.requests_unlocked = True call popup("You can now buy \"Public Requests\" from Cho!", "Congratulations!", "interface/icons/head/cho.webp") jump end_cho_talk_event @@ -497,7 +497,7 @@ label cc_pf_talk_T1_E3: cho "(...)" ("annoyed", "narrow", "base", "R") gen "Yes? Go on..." ("base", xpos="far_left", ypos="head") cho "I believe he had a bit of an obsession with my panties, Sir." ("soft", "narrow", "base", "mid") - if not cho_quid.hufflepuff_prepared: + if not states.cho.ev.quidditch.hufflepuff_prepared: gen "A panties obsession? So so..." ("base", xpos="far_left", ypos="head") else: gen "*Ha!* Called it!" ("grin", xpos="far_left", ypos="head") @@ -507,8 +507,8 @@ label cc_pf_talk_T1_E3: menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main nar "You reach under the desk and grab your cock..." @@ -521,13 +521,13 @@ label cc_pf_talk_T1_E3: gen "Please tell me more about your panties!" ("grin", xpos="far_left", ypos="head") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "(No, I need to focus!)" ("base", xpos="far_left", ypos="head") gen "(This might be useful information in our game against him...)" ("base", xpos="far_left", ypos="head") gen "Please, carry on..." ("base", xpos="far_left", ypos="head") cho "Of course, Sir." ("base", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: cho "That's an oddly specific question, don't you think?" ("soft", "base", "raised", "mid", trans=d3) gen "Come on, girl! Which were the ones he liked the most?" ("angry", xpos="far_left", ypos="head") cho "*Uhm*..." ("annoyed", "base", "base", "R") @@ -592,7 +592,7 @@ label cc_pf_talk_T1_E3: call cho_walk(action="leave") call bld - if not cho_quid.hufflepuff_prepared: + if not states.cho.ev.quidditch.hufflepuff_prepared: gen "(I bet she enjoyed every second of it, or she'd most definitely have called him out...)" ("base", xpos="far_left", ypos="head") gen "(...)" ("base", xpos="far_left", ypos="head") gen "(Wait a minute... That's it!)" ("base", xpos="far_left", ypos="head") @@ -615,7 +615,7 @@ label cc_pf_talk_T1_E3: gen "What kind of girl doesn't show her panties to her beloved?" ("base", xpos="far_left", ypos="head") cho "I beg your pardon?!" ("angry", "wide", "raised", "mid") - if not cho_quid.hufflepuff_prepared: + if not states.cho.ev.quidditch.hufflepuff_prepared: gen "But, that made me think..." ("base", xpos="far_left", ypos="head") gen "If he's as obsessed with panties as you say, why don't we use that information to our advantage?" ("base", xpos="far_left", ypos="head") cho "Like how?" ("soft", "narrow", "raised", "mid") @@ -706,8 +706,8 @@ label cc_pf_talk_T2_intro_E1: menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main nar "You reach under the desk and grab your cock..." @@ -722,7 +722,7 @@ label cc_pf_talk_T2_intro_E1: cho "Of course, [name_genie_cho]!" ("base", "base", "base", "mid") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "(No, I need to focus!)" ("base", xpos="far_left", ypos="head") gen "So... would you like to report them?" ("base", xpos="far_left", ypos="head") cho "No, Sir." ("soft", "closed", "base", "mid") @@ -734,7 +734,7 @@ label cc_pf_talk_T2_intro_E1: gen "Succumb to you?" ("base", xpos="far_left", ypos="head") cho "Yes.{w=0.3} They're so desperately trying to embarrass me.{w=0.6} To make me doubt myself before the big game..." ("smile", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "Those asshole bullies...{w=0.6} Show them who's boss!" ("angry", xpos="far_left", ypos="head") else: gen "And a strong, independent woman like yourself would never be intimidated by puny Slytherins!" ("grin", xpos="far_left", ypos="head") @@ -746,18 +746,18 @@ label cc_pf_talk_T2_intro_E1: cho "They are pathetic!!!" ("clench", "narrow", "angry", "mid", trans=hpunch) cho "Trying to lift my skirt with first-year spells..." ("soft", "narrow", "angry", "R") cho "Stealing my underwear while I'm taking a shower after practice..." ("angry", "narrow", "angry", "downR") - if genie_masturbating: + if states.gen.masturbating: gen "*Argh!* {size=-4}(Dirty panty muggers!){/size}" ("angry", xpos="far_left", ypos="head") cho "They even had the audaciousness to write \"Cho, the Ravenclaw ho\" on the blackboard during divination class." ("open", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(They must have seen your future, you whore!){/size}" ("angry", xpos="far_left", ypos="head") cho "Half the class saw it before I could get there...{w=0.8} Not that I care much about it..." ("annoyed", "narrow", "base", "downR", cheeks="blush") cho "If I'm honest, I'm surprised they could even spell my name correctly..." ("soft", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: nar "*Fap* *Fap* *Fap*..." cho "They think they can intimidate me. But that's where they are mistaken!" ("angry", "narrow", "angry", "down") - if genie_masturbating: + if states.gen.masturbating: cho "They should be scared of me, [name_genie_cho]!" ("soft", "narrow", "angry", "mid") gen "{size=-4}(Yes! Show them, you slut!){/size}" ("angry", xpos="far_left", ypos="head") cho "Of what {b}I'm{/b} capable of!" ("clench", "base", "angry", "mid") @@ -838,8 +838,8 @@ label cc_pf_talk_T2_intro_E2: menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main nar "You reach under the desk and grab your cock..." @@ -855,7 +855,7 @@ label cc_pf_talk_T2_intro_E2: cho "I had my head in the clouds there for a second." ("smile", "happyCl", "base", "mid") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "Do you have any idea why that might be?" ("base", xpos="far_left", ypos="head") cho "Because of our win, why else!" ("smile", "narrow", "base", "mid") gen "And it had nothing to do with the fact that half the school got to see your panties?" ("base", xpos="far_left", ypos="head") @@ -864,7 +864,7 @@ label cc_pf_talk_T2_intro_E2: cho "It's like I'm a celebrity now!{w=0.6} I'm getting so much attention!" ("soft", "base", "base", "R") cho "It never happened that Ravenclaw won a game.{w=0.6} And I made that possible!" ("smile", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}And soon you'll be on your knees thanking me for it!{/size}" ("angry", xpos="far_left", ypos="head") else: gen "Hey! Don't you forget about me!" ("base", xpos="far_left", ypos="head") @@ -875,8 +875,8 @@ label cc_pf_talk_T2_intro_E2: menu: gen "(Maybe it wouldn't be such a bad idea to...)" ("base", xpos="far_left", ypos="head") "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main nar "You reach under the desk and grab your cock..." @@ -890,7 +890,7 @@ label cc_pf_talk_T2_intro_E2: gen "I'd like to hear more!" ("grin", xpos="far_left", ypos="head") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "(No, I need to focus!)" ("base", xpos="far_left", ypos="head") gen "Please, don't let me interrupt your thought..." ("base", xpos="far_left", ypos="head") gen "Continue..." ("base", xpos="far_left", ypos="head") @@ -899,7 +899,7 @@ label cc_pf_talk_T2_intro_E2: cho "It's fun receiving all of the boys attention!{w=0.8} And seeing how jealous it makes all of the girls!" ("soft", "base", "base", "mid") cho "Especially Granger!" ("smile", "narrow", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}Yes, the Gryffindor whore!{/size}" ("angry", xpos="far_left", ypos="head") cho "You should have seen her face, [name_genie_cho]!" ("soft", "narrow", "angry", "mid") cho "She's so angry at me! I love it!" ("smile", "happyCl", "base", "mid") @@ -907,11 +907,11 @@ label cc_pf_talk_T2_intro_E2: cho "You should know, for whatever reason, almost all of Hufflepuff blames her for helping Ravenclaw secure the win!" ("soft", "base", "base", "R") cho "She announced several times that Hufflepuff was leading in points, when they actually weren't!" ("smile", "narrow", "angry", "mid") cho "Which resulted in Hufflepuff playing far more defensively, when they should have been aggressive!" ("base", "narrow", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}Oh you are one of those girls! I like going aggressive!{/size}" ("angry", xpos="far_left", ypos="head") cho "I caught the Snitch at just the right time!{w=0.6} If Hufflepuff had gone too far in the lead, we would have lost!" ("open", "narrow", "angry", "mid") cho "I really need to thank Granger the next time I see her.{w=0.6} I owe her a great deal..." ("soft", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-2}I'd love to watch you \"thank her!\"{/size}" ("angry", xpos="far_left", ypos="head") cho "Maybe I'll do something fun with her the next time I see her..." ("base", "narrow", "base", "R") cho "Something that would rile her up even more!" ("smile", "narrow", "angry", "downR") @@ -920,7 +920,7 @@ label cc_pf_talk_T2_intro_E2: cho "I don't know. Maybe something that would rile her up even more..." ("annoyed", "base", "base", "downR") cho "Like a kiss on her cheek, or an uncomfortably long hug!" ("soft", "narrow", "base", "mid") cho "Or I'll do something more sinister! Something she'd never expect!" ("base", "base", "base", "R") - if genie_masturbating: + if states.gen.masturbating: gen "*Ugh*! {size=-2}Like what?{/size}" ("angry", xpos="far_left", ypos="head") else: gen "More sinister? Like what?" ("base", xpos="far_left", ypos="head") @@ -930,7 +930,7 @@ label cc_pf_talk_T2_intro_E2: cho "Yes! I bet a prude like her would be {b}so{/b} shocked by that!{w=0.8} I might even be her first!" ("soft", "base", "angry", "downR", cheeks="blush") # Forced to jerk off. - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}Yes! You fucking sluts!{/size}" ("angry", xpos="far_left", ypos="head") else: gen "(Fuck it, this is too much!)" ("angry", xpos="far_left", ypos="head") @@ -943,8 +943,8 @@ label cc_pf_talk_T2_intro_E2: "-Diddle do-": pass - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main nar "You reach under the desk and grab your cock..." @@ -1041,7 +1041,7 @@ label cc_pf_talk_T2_intro_E2: gen "(..........)" ("base", xpos="far_left", ypos="head") gen "(Aaaaaaand I'm hard again...{w} Maybe some other time...)" ("base", xpos="far_left", ypos="head") - $ cho_mood += 9 + $ states.cho.mood += 9 jump end_cho_talk_event @@ -1060,8 +1060,8 @@ label cc_pf_talk_T2_E3: menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main nar "You reach under the desk and grab your cock..." @@ -1094,7 +1094,7 @@ label cc_pf_talk_T2_E3: cho "I more likely will be pretending that {b}I'm{/b} not here..." ("soft", "narrow", "angry", "downR", cheeks="blush") # Small text "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "(Seems like I'm not feeling the need to jack off today...{w=0.4} Free will is an illusion.)" ("base", xpos="far_left", ypos="head") gen "(Oh well... Might as well pay attention for once.)" ("base", xpos="far_left", ypos="head") gen "Go on, [name_cho_genie]..." ("base", xpos="far_left", ypos="head") @@ -1105,7 +1105,7 @@ label cc_pf_talk_T2_E3: # Malfoy cho "It was only yesterday that I had that stinking Malfoy boy snickering behind my back as I walked past him." ("open", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: cho "I can only imagine the things that were on his mind..." ("annoyed", "narrow", "angry", "downR") else: gen "Yeah? Like what?" ("base", xpos="far_left", ypos="head") @@ -1113,13 +1113,13 @@ label cc_pf_talk_T2_E3: cho "After all, he's just like any boy at this school...{w=0.6} They are all pervs." ("annoyed", "narrow", "angry", "mid") cho "He even had the audaciousness to whistle at me, in front of everybody!" ("soft", "narrow", "base", "mid") cho "And shout about what a \"great arse\" I have, and that he couldn't wait to \"beat it\"!" ("soft", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "Great minds...{w=0.2} *Argh*! think alike!" ("angry", xpos="far_left", ypos="head") else: gen "Sounds to me like he was just enjoying the view!" ("grin", xpos="far_left", ypos="head") cho "Next time he does it I'll turn him into a filthy ferret, I swear!" ("clench", "narrow", "angry", "down") cho "" ("annoyed", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(You can do whatever you want with me too, if that's what turns you on baby!){/size}" ("angry", xpos="far_left", ypos="head") gen "{size=-4}(I'd love to be your little pet ferret!){/size}" ("angry", xpos="far_left", ypos="head") else: @@ -1133,7 +1133,7 @@ label cc_pf_talk_T2_E3: gen "Anything else you could tell me?" ("base", xpos="far_left", ypos="head") # Crabbe & Goyle - if genie_masturbating: + if states.gen.masturbating: cho "Then there are the two Slytherin beaters, Crabbe and Goyle..." ("soft", "narrow", "base", "mid") else: cho "Well, there are also the Slytherin beaters, Crabbe and Goyle..." ("soft", "narrow", "base", "mid") @@ -1141,7 +1141,7 @@ label cc_pf_talk_T2_E3: cho "They've been strutting around school with their two bats..." ("soft", "narrow", "angry", "mid") cho "Hitting any girl's bum that happens to be in their reach..." ("annoyed", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: cho "It's like they use them as target practice." ("soft", "narrow", "angry", "mid") gen "*Argh*! {size=-4}(How nasty!){/size}" ("angry", xpos="far_left", ypos="head") cho "I dare them to try it on me, those bastards!" ("clench", "narrow", "angry", "R") @@ -1178,7 +1178,7 @@ label cc_pf_talk_T2_E3: cho "Very well..." ("soft", "closed", "base", "mid") cho "(...)" ("annoyed", "base", "base", "R") # Thinks cho "(...................)" ("annoyed", "narrow", "angry", "R") # Thinks harder - if genie_masturbating: + if states.gen.masturbating: gen "Please?!" ("angry", xpos="far_left", ypos="head") else: gen "Anything?" ("base", xpos="far_left", ypos="head") @@ -1187,7 +1187,7 @@ label cc_pf_talk_T2_E3: gen "Kinky! I like it!" ("grin", xpos="far_left", ypos="head") cho "And let the entire school watch her as she's getting pounded by a horde of centaurs!!!" ("mad", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "*Argh*!{w=0.3} {size=-4}(What the hell?){/size}" ("angry", xpos="far_left", ypos="head") cho "While there are bludgers flying around -- hitting her disgusting udders..." ("soft", "narrow", "angry", "mid") gen "{size=-4}(That sounds really painful!){/size}" ("angry", xpos="far_left", ypos="head") @@ -1272,9 +1272,9 @@ label cc_pf_talk_T2_E3: gen "(These boys do seem to have a particular fetish... Although having Cho confirm it herself should help...)" ("base", xpos="far_left", ypos="head") - if not cho_requests_unlocked: + if not states.cho.requests_unlocked: call popup("You can yet again buy \"Public Requests\" from Cho!", "Congratulations!", "interface/icons/head/cho.webp") - $ cho_requests_unlocked = True + $ states.cho.requests_unlocked = True jump end_cho_talk_event @@ -1303,7 +1303,7 @@ label cc_pf_talk_T3_intro_E1: gen "(Although perhaps I could multitask...)" ("base", xpos="far_left", ypos="head") "-Masturbate-": - $ genie_masturbating = True + $ states.gen.masturbating = True call gen_chibi("jerk_off_behind_desk") with d5 @@ -1317,7 +1317,7 @@ label cc_pf_talk_T3_intro_E1: cho "Unbelievable..." ("disgust", "narrow", "base", "R", cheeks="blush") "-Pay attention-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "So tell me, what's Granger up to this time?" ("base", xpos="far_left", ypos="head") cho "She won't let me talk to her friends!" ("annoyed", "closed", "angry", "down") @@ -1325,7 +1325,7 @@ label cc_pf_talk_T3_intro_E1: cho "Yeah... Surprising, isn't it?" ("annoyed", "narrow", "base", "mid") cho "But yes, Granger does indeed have friends, believe it or not!" ("soft", "narrow", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "Are they hot?" ("grin", xpos="far_left", ypos="head") cho "..." ("normal", "narrow", "base", "mid") gen "Go on..." ("base", xpos="far_left", ypos="head") @@ -1467,7 +1467,7 @@ label cc_pf_talk_T3_intro_E1: # Cho leaves. call cho_walk(action="leave") - $ cho_mood += 3 + $ states.cho.mood += 3 gen "(A Broom... Of course she was talking about a broom.)" ("base", xpos="far_left", ypos="head") @@ -1768,8 +1768,8 @@ label cc_pf_talk_T3_E3: #Cho leaves call cho_walk(action="leave") - if not cho_requests_unlocked: + if not states.cho.requests_unlocked: call popup("You can yet again buy \"Public Requests\" from Cho!", "Congratulations!", "interface/icons/head/cho.webp") - $ cho_requests_unlocked = True + $ states.cho.requests_unlocked = True jump end_cho_talk_event diff --git a/game/scripts/characters/cho/events/intro.rpy b/game/scripts/characters/cho/events/intro.rpy index 5af25b7a..5ee047dc 100644 --- a/game/scripts/characters/cho/events/intro.rpy +++ b/game/scripts/characters/cho/events/intro.rpy @@ -233,17 +233,17 @@ label cho_intro_E1: with d3 pause .5 - $ cho_jerk_off_counter += 1 - $ her_jerk_off_counter += 1 - $ jerked_off_during_cho_intro = True # Optional dialogue with Snape. + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.cho.ev.intro.masturbated = True # Optional dialogue with Snape. - $ genie_masturbating = True + $ states.gen.masturbating = True "\"(I should probably listen to them.)\"": - $ genie_masturbating = False + $ states.gen.masturbating = False # Masturbating - if genie_masturbating: + if states.gen.masturbating: nar "You pull your cock out and begin masturbating... focusing on the now heated argument between the two girls in front of you." cho "" (trans=d3) @@ -400,10 +400,10 @@ label cho_intro_E1: call her_walk(action="leave") # Hermione Mood down - $ her_mood += 6 - $ hermione_busy = True + $ states.her.mood += 6 + $ states.her.busy = True - $ cho_intro.E1_complete = True + $ states.cho.ev.intro.e1_complete = True gen ".......{w=0.5} Women..." ("base", xpos="far_left", ypos="head") @@ -495,15 +495,15 @@ label cho_intro_E2: gen "With his unfailing wisdom." ("angry", xpos="far_left", ypos="head") gen "Who am I even kidding..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True - $ snape_busy = False + $ states.her.busy = True + $ states.sna.busy = False - $ cho_intro.E2_complete = True + $ states.cho.ev.intro.e2_complete = True - $ cho_unlocked = True + $ states.cho.unlocked = True $ achievements.unlock("unlockcho", True) call popup("{size=-4}You can now summon Cho into your office.{/size}", "Character unlocked!", "interface/icons/head/cho.webp") - $ cho_busy = True + $ states.cho.busy = True jump main_room_menu @@ -628,12 +628,12 @@ label ss_he_cho_E1: sna "A confrontation? So so..." ("snape_13") sna "What was it about?" ("snape_20") - if jerked_off_during_hermione_intro and jerked_off_during_cho_intro: + if states.her.ev.intro.masturbated and states.cho.ev.intro.masturbated: gen "I have no idea. I jerked off during their whole exchange." ("base", xpos="far_left", ypos="head") sna "You did that again? And neither of them realised?" ("snape_22") gen "Didn't seem like it. They were too occupied with insulting each other..." ("base", xpos="far_left", ypos="head") - elif jerked_off_during_cho_intro: + elif states.cho.ev.intro.masturbated: gen "I have no idea. I jerked off during their whole exchange." ("base", xpos="far_left", ypos="head") sna "You did what?" ("snape_15") gen "I jerked off.{w} Beat my meat.{w} Wrestled the snake.{w} Whatever you want to call it." ("base", xpos="far_left", ypos="head") @@ -682,7 +682,7 @@ label ss_he_cho_E1: nar "You spend the rest of the evening in Snape's company, talking about Cho's impressive thighs." - $ ss_he.cho_E1 = True + $ states.sna.ev.hangouts.cho_e1 = True jump end_snape_hangout_points @@ -699,8 +699,8 @@ label cho_intro_E3: $ cho_chibi.zorder = 4 # Intro - if not cho_intro.E3_intro: - $ cho_intro.E3_intro = True + if not states.cho.ev.intro.e3_complete: + $ states.cho.ev.intro.e3_complete = True gen "I got some word about you that needs to be addressed..." ("base", xpos="far_left", ypos="head") her "About what? I'm not in any trouble or anything am I?" ("soft", "wide", "base", "mid") @@ -732,7 +732,7 @@ label cho_intro_E3: gen "I'd like you to stop your..." ("base", xpos="far_left", ypos="head") gen "Quidditch...{w} something, something...{w} movement." ("base", xpos="far_left", ypos="head") - if her_whoring < 10: # T3 + if states.her.level < 10: # T3 her "My \"Quidditch equality movement\"?" ("soft", "base", "base", "mid") her "But Sir, I'm on the verge of a breakthrough with it!" ("soft", "closed", "base", "mid") her "I worked very hard on gathering all records of past Quidditch matches, throughout the complete history of Quidditch!" ("open", "wink", "base", "mid") @@ -759,7 +759,7 @@ label cho_intro_E3: her "Well..." ("soft", "happy", "base", "R") gen "Don't push your luck..." ("base", xpos="far_left", ypos="head") her "No, I think that should do..." ("smile", "happyCl", "base", "mid") - if sna_friendship <= 30: + if states.sna.level <= 30: gen "(I'm going to need to get real friendly with Snape to get those Slytherins in a steady lead...)" ("base", xpos="far_left", ypos="head") gen "One hundred points to Gryffindor...{w=0.6} Happy?" ("base", xpos="far_left", ypos="head") $ gryffindor += 100 @@ -779,7 +779,7 @@ label cho_intro_E3: gen "Fine by me..." ("base", xpos="far_left", ypos="head") gen "Fifty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 50 - $ her_mood += 6 + $ states.her.mood += 6 her "Thanks I guess..." ("open", "closed", "angry", "mid") gen "You may leave now..." ("base", xpos="far_left", ypos="head") her "*Hmph*... I don't think so, sir..." ("annoyed", "closed", "angry", "mid") @@ -787,7 +787,7 @@ label cho_intro_E3: her "Well, It's just..." ("open", "narrow", "base", "R") - elif her_whoring < 21: + elif states.her.level < 21: her "Oh... My \"Quidditch equality movement\"?" ("soft", "base", "base", "mid") gen "That's the one." ("base", xpos="far_left", ypos="head") her "It never really got off the ground..." ("open", "base", "base", "R") @@ -841,12 +841,12 @@ label cho_intro_E3: her "They're completely different..." ("annoyed", "base", "angry", "mid") gen "Totally different..." ("base", xpos="far_left", ypos="head") - if her_whoring < 18: + if states.her.level < 18: her "It's the most prestigious award one could earn for your house!{w=0.6} The Quidditch cup is nothing in comparison..." ("open", "closed", "base", "mid") her "Surely there's better ways to spend your time than participating in this silly sports game." ("annoyed", "narrow", "annoyed", "mid") gen "(My irony senses are tingling...)" ("base", xpos="far_left", ypos="head") - if her_whoring < 8: + if states.her.level < 8: her "They're given the privilege of attending one of the most prestigious wizarding schools in the world..." ("open", "narrow", "angry", "R") her "And what do they do? They spend their time playing some silly sports game that will get them nowhere." ("open", "base", "angry", "mid") gen "Yes. Because why enjoy yourself when you could study instead..." ("base", xpos="far_left", ypos="head") @@ -858,7 +858,7 @@ label cho_intro_E3: her "(...)" ("annoyed", "base", "angry", "mid") gen "And that the \"Quidditch equality movement\" will be...{w} \n\"no more\"." ("base", xpos="far_left", ypos="head") - if her_whoring < 18: + if states.her.level < 18: her "Do I really have to do all that?" ("upset", "base", "base", "R") gen "If you want to keep on buying favours from me." ("base", xpos="far_left", ypos="head") her "*Ugh*...{w=0.4} Very well, I guess..." ("soft", "narrow", "worried", "down") @@ -984,13 +984,13 @@ label cho_intro_E3: stop music fadeout 1.0 # End of Intro. - $ hermione_busy = True - $ cho_busy = True + $ states.her.busy = True + $ states.cho.busy = True #Reset z-order $ cho_chibi.zorder = 3 - $ cho_intro.E3_complete = True + $ states.cho.ev.intro.e4_complete = True call music_block jump main_room_menu diff --git a/game/scripts/characters/cho/events/panties.rpy b/game/scripts/characters/cho/events/panties.rpy index 8b74cedb..405d2922 100644 --- a/game/scripts/characters/cho/events/panties.rpy +++ b/game/scripts/characters/cho/events/panties.rpy @@ -3,7 +3,7 @@ ### Tier 2 (pre Slytherin) ### label cho_panties_response_T2: - $ has_cho_panties = False + $ states.cho.ev.panty_thief.acquired = False play sound "sounds/door.ogg" call cho_chibi("stand","mid","base") with d3 @@ -14,7 +14,7 @@ label cho_panties_response_T2: cho "*Uhm*..." ("annoyed", "narrow", "worried", "R") cho "I forgot to take my underwear with me the last time I was here." ("soft", "narrow", "worried", "downR", cheeks="blush") - if cho_panties_soaked: + if states.cho.ev.panty_thief.soaked: gen "Your panties! Of course, [name_cho_genie]!{w} I've got them right here..." ("grin", xpos="far_left", ypos="head") call cho_walk("desk", "base") pause .8 @@ -59,10 +59,10 @@ label cho_panties_response_T2: call bld gen "(...)" ("base", xpos="far_left", ypos="head") - $ cho_mood += 6 - $ cho_busy = True + $ states.cho.mood += 6 + $ states.cho.busy = True - $ cho_panties_soaked = False + $ states.cho.ev.panty_thief.soaked = False $ achievements.unlock("pantiesfapcho") @@ -99,7 +99,7 @@ label cho_panties_response_T2: ### Tier 3 (pre Gryffindor) ### label cho_panties_response_T3: - $ has_cho_panties = False + $ states.cho.ev.panty_thief.acquired = False play sound "sounds/door.ogg" call cho_chibi("stand","mid","base") with d3 @@ -110,7 +110,7 @@ label cho_panties_response_T3: cho "I believe I left you something of mine..." ("open", "narrow", "base", "down", cheeks="blush") gen "Ah, yes... Your panties, I've got them right here." ("grin", xpos="far_left", ypos="head") cho "Great!" ("base", "base", "base", "mid") - if cho_panties_soaked: + if states.cho.ev.panty_thief.soaked: call cho_walk("desk", "base") pause .8 @@ -130,7 +130,7 @@ label cho_panties_response_T3: gen "Worth a shot..." ("base", xpos="far_left", ypos="head") gen "There, take them..." ("base", xpos="far_left", ypos="head") - $ cho_panties_soaked = False + $ states.cho.ev.panty_thief.soaked = False $ achievements.unlock("pantiesfapcho") diff --git a/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy b/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy index cf1ebb78..a18eb167 100644 --- a/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy @@ -32,7 +32,7 @@ label start_gryffindor_match: menu: "-Tell Cho that she's obviously looking out for foul play-": - $ cho_hermione_affection = "neither" + $ states.cho.ev.quidditch.hermione_affection = "neither" gen "Err... To keep an eye out for any foul activity. Obviously." ("base", xpos="far_left", ypos="head") cho "Foul play? What do you mean?" ("clench", "narrow", "base", "R", cheeks="blush") @@ -43,7 +43,7 @@ label start_gryffindor_match: gen "You seem oddly distracted today [name_cho_genie]." ("base", xpos="far_left", ypos="head") "-Tell Cho that Hermione obviously Likes her-": #(Happens on cc_pf_strip_T2_intro_E3 which is mandatory) - $ cho_hermione_affection = "hermione" + $ states.cho.ev.quidditch.hermione_affection = "hermione" gen "Isn't it obvious?" ("base", xpos="far_left", ypos="head") gen "The girl has been checking you out ever since she caught you in my office." ("base", xpos="far_left", ypos="head") @@ -57,7 +57,7 @@ label start_gryffindor_match: gen "Now, now, there's no need to be overthinking it. Let's focus on responsibilities first, pleasantries second." ("base", xpos="far_left", ypos="head") "-Tell Cho that she obviously likes Hermione-": #(Cho sees Hermione's Naked body when Tonks transforms) - $ cho_hermione_affection = "cho" + $ states.cho.ev.quidditch.hermione_affection = "cho" gen "Is it really important to know why?" ("base", xpos="far_left", ypos="head") gen "We both know you enjoyed seeing her naked body as much as I did." ("base", xpos="far_left", ypos="head") @@ -102,14 +102,14 @@ label start_gryffindor_match: call cho_walk(action="leave") - $ cho_busy = True + $ states.cho.busy = True $ cc_event_pause += 1 # Event starts on the next day $ cc_summon_pause += 1 # Can't be summoned until next event - $ cho_quid.lock_training = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.lock_training = True + $ states.cho.ev.quidditch.lock_practice = True - $ gryffindor_match = "start" + $ states.cho.ev.quidditch.gryffindor_stage = "start" jump end_cho_event @@ -209,7 +209,7 @@ label gryffindor_match: cho "[name_genie_cho]!" - if cho_bj_choice == "points": + if states.cho.ev.suck_it.variant == "points": gen "(No, she got pissed when I offered points before.)" ("base", xpos="far_left", ypos="head") gen "(Even now I can hear her calling me out, and who knows what she would do if I offered her real money...)" ("base", xpos="far_left", ypos="head") else: @@ -386,7 +386,7 @@ label gryffindor_match: sna "Dear lord... Always with the dramatics..." ("snape_06", xpos="base", ypos="head", flip=False) gen "" ("base", xpos=0, ypos="base") - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 gen "*Ahem*...{w=0.4}{nw}" ("grin") @@ -535,7 +535,7 @@ label gryffindor_match: with d3 gen "" (xpos=0, ypos="base") - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 gen "Go team, go Tune Squad!" ("grin") hide genie @@ -1296,12 +1296,12 @@ label gryffindor_match: her "You're--" ("mad", "wide", "angry", "L", cheeks="blush") - if cho_hermione_affection == "hermione": # If Genie told Cho that Hermione likes her. + if states.cho.ev.quidditch.hermione_affection == "hermione": # If Genie told Cho that Hermione likes her. cho "Do you like the view?" ("smile", "narrow", "base", "R", cheeks="blush") her "What are you--" ("angry", "happy", "angry", "L", cheeks="blush") cho "Shush. You don't have to answer that, I already know the truth." ("base", "narrow", "base", "R", cheeks="blush") - elif cho_hermione_affection == "cho": # If Genie told Cho that she likes Hermione. + elif states.cho.ev.quidditch.hermione_affection == "cho": # If Genie told Cho that she likes Hermione. her "Why are you taking your clothes off?!" ("angry", "wide", "angry", "L", cheeks="blush") cho "..." ("horny", "narrow", "base", "L", cheeks="heavy_blush") cho "Do you... like the view?" ("soft", "narrow", "base", "R", cheeks="heavy_blush") @@ -1309,7 +1309,7 @@ label gryffindor_match: cho "Don't be shy now, you can look as much as you want." ("base", "narrow", "base", "R", cheeks="heavy_blush") else: # If genie was clueless (generic response) - # Note: We're using 'else' check here in case player uses cheats. It is equivalent of `cho_hermione_affection == "neither"`. + # Note: We're using 'else' check here in case player uses cheats. It is equivalent of `states.cho.ev.quidditch.hermione_affection == "neither"`. cho "I'm taking my clothes off!" ("grin", "narrow", "base", "R") her "Why are you doing this?" ("mad", "happy", "angry", "L", cheeks="blush") @@ -1404,7 +1404,7 @@ label gryffindor_match: nar "The focus on the game, now completely lost, has everyone's eyes moving back and forth between Hermione and Cho, waiting with baited breath to see who will push things further." cho "" ("smile", "base", "base", "L", cheeks="heavy_blush") - if her_reputation < 3: + if states.her.public_level < 3: her "P--{w=0.2} Panties?" ("angry", "squint", "worried", "stare", cheeks="blush") #happycl qcr "Panties!{w=0.4} Panties!{w=0.4} Panties!" @@ -1756,7 +1756,7 @@ label gryffindor_match_return: #Setup $ tonks.zorder = 18 $ hooch.zorder = 17 - $ snape_zorder = 16 + $ states.sna.image.zorder = 16 $ cho.zorder = 16 #Shows/Hides Cho doll on CG $ snape_chibi.zorder = 4 @@ -1801,10 +1801,10 @@ label gryffindor_match_return: #Cho chibi appears naked next to the window turned to right - "Voice outside the window" "Stay... [name_broom_cho]." + "Voice outside the window" "Stay... [states.cho.ev.quidditch.broom_name]." #Cho walks to the front of the desk - gen "[name_broom_cho]? Isn't that--" ("base", xpos="far_left", ypos="head") + gen "[states.cho.ev.quidditch.broom_name]? Isn't that--" ("base", xpos="far_left", ypos="head") call cho_chibi("stand", xpos=441, ypos=400, flip=False) call cho_walk("desk", "base") @@ -2599,20 +2599,20 @@ label gryffindor_match_return: cho "{heart}{size=+4}*Ah*{/size}{heart}" gen "...{w} That girl sure is something else." ("base", xpos="far_left", ypos="head") - if cho_whoring < 24: - $ cho_whoring = 24 + if states.cho.level < 24: + $ states.cho.level = 24 call end_of_content - $ tonks_busy = True - $ snape_busy = True - $ hermione_busy = True - $ luna_busy = True - $ cho_busy = True + $ states.ton.busy = True + $ states.sna.busy = True + $ states.her.busy = True + $ states.lun.busy = True + $ states.cho.busy = True #Reset zorder $ tonks.zorder = 15 $ hooch.zorder = 15 - $ snape_zorder = 15 + $ states.sna.image.zorder = 15 $ cho.zorder = 15 $ snape_chibi.zorder = 3 @@ -2625,14 +2625,14 @@ label gryffindor_match_return: $ choq_accessory_protectors.zorder = 27 - $ cho_tier = 4 - $ cho_favors_unlocked = False + $ states.cho.tier = 4 + $ states.cho.favors_unlocked = False - $ cho_quid.lock_training = False - $ cho_quid.lock_practice = True - $ cho_quid.lock_tactic = False - $ cho_quid.lock_training = True - $ gryffindor_match = "completed" + $ states.cho.ev.quidditch.lock_training = False + $ states.cho.ev.quidditch.lock_practice = True + $ states.cho.ev.quidditch.lock_tactic = False + $ states.cho.ev.quidditch.lock_training = True + $ states.cho.ev.quidditch.gryffindor_stage = "completed" call update_cho_favors jump end_cho_event diff --git a/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy b/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy index 92c100f2..39405dfa 100644 --- a/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy +++ b/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy @@ -26,8 +26,8 @@ label cc_gt_start: # Cho leaves. call cho_walk(action="leave") - $ cho_quid.in_progress = True - $ cho_quid.gryffindor_failed = True + $ states.cho.ev.quidditch.in_progress = True + $ states.cho.ev.quidditch.gryffindor_failed = True call gen_chibi("sit_behind_desk") with fade @@ -154,9 +154,9 @@ label cc_gt_return: $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ gryffindor_match = "ready" - $ cho_quid.gryffindor_training = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.gryffindor_stage = "ready" + $ states.cho.ev.quidditch.gryffindor_training = True + $ states.cho.ev.quidditch.lock_practice = True jump end_cho_event @@ -164,24 +164,24 @@ label cc_gt_talk: cho "" (xpos="right", ypos="base", trans=fade) - if cho_quid.gryffindor_training: + if states.cho.ev.quidditch.gryffindor_training: cho "Finals starting soon?" ("base", "base", "base", "mid") - if not cho_quid.E11_complete and not cho_quid.E12_complete: + if not states.cho.ev.quidditch.e11_complete and not states.cho.ev.quidditch.e12_complete: # Didn't ask Luna to cheer and didn't get the broom gen "Not yet... I've got some things to take care of before then." ("base", xpos="far_left", ypos="head") cho "That's too bad, I want to crush those Gryffindors already!" ("base", "base", "base", "mid") gen "(I've still got to help her find a broom in the morning...)" ("base", xpos="far_left", ypos="head") gen "(And how am I supposed to get cheerleading squad together...)" ("base", xpos="far_left", ypos="head") gen "(Perhaps there's some other Ravenclaw student I can ask...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.E11_complete: + elif not states.cho.ev.quidditch.e11_complete: # Didn't ask Luna to cheer gen "No, I still need to get you your stupid cheerleading squad." ("base", xpos="far_left", ypos="head") cho "Stupid? Wasn't this your idea?" ("base", "base", "base", "mid") gen "I was being..." ("base", xpos="far_left", ypos="head") gen "Nevermind..." ("base", xpos="far_left", ypos="head") gen "(I wonder if there's someone from Ravenclaw that I could ask...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.E12_complete: + elif not states.cho.ev.quidditch.e12_complete: # Didn't get the broom gen "Not until we have you pick out one of the school brooms to use." ("base", xpos="far_left", ypos="head") cho "You mean not until we find out how worthless they are and you have to get me a proper broom." ("base", "base", "base", "mid") diff --git a/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy b/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy index 78c62e50..d3abf0bc 100644 --- a/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy @@ -31,15 +31,15 @@ label start_hufflepuff_match: call cho_walk(action="leave") - $ cho_quid.lock_training = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.lock_training = True + $ states.cho.ev.quidditch.lock_practice = True $ cc_event_pause += 1 # Event starts on the next day $ cc_summon_pause += 1 # Can't be summoned until next event - $ cho_busy = True + $ states.cho.busy = True - $ hufflepuff_match = "start" + $ states.cho.ev.quidditch.hufflepuff_stage = "start" jump end_cho_event @@ -359,13 +359,13 @@ label hufflepuff_match: with d3 pause .5 - $ genie_zorder = 15 + $ states.gen.image.zorder = 15 show screen blktone with d5 pause 1.0 gen "" ("base", xpos=0, ypos="base") - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 pause 2.0 @@ -387,7 +387,7 @@ label hufflepuff_match: with d1 pause .8 - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 gen "One game..." ("base") gen "Tonight, WE are the greatest hockey team in the world!" ("base") @@ -480,7 +480,7 @@ label hufflepuff_match: nar "Snape then begins to drag you away from the podium." play background "sounds/wind_long_loop.ogg" - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 gen "This is our chance... they may take away our microphones...{w=1.0} But they...{nw}{w=0.3}" ("angry") play sound "sounds/microphone_feedback.ogg" @@ -1030,7 +1030,6 @@ label hufflepuff_match: nar "You hurry back to your office before giving anyone a chance to talk to you." $ game.daytime = False - call update_interface_color call room("main_room") call gen_chibi("hide") call hide_blkfade @@ -1072,7 +1071,6 @@ label hufflepuff_match_return: # The office, evening after the game $ game.daytime = False - call update_interface_color stop music fadeout 1 call room("main_room") @@ -1145,19 +1143,19 @@ label hufflepuff_match_return: call unlock_clothing(text="New clothing items for Cho have been unlocked!", item=cho_outfit_cheerleader) call popup("New favours for Cho have been unlocked!", "Congratulations!", "interface/icons/head/cho.webp") - $ hermione_busy = True - $ snape_busy = True + $ states.her.busy = True + $ states.sna.busy = True # Reset Cho $ cho.equip(cho_outfit_last) - $ cho_tier = 2 - $ cho_favors_unlocked = False - $ cho_requests_unlocked = False - $ cho_quid.lock_training = False - $ cho_quid.lock_practice = True - $ cho_quid.lock_tactic = False - $ hufflepuff_match = "completed" + $ states.cho.tier = 2 + $ states.cho.favors_unlocked = False + $ states.cho.requests_unlocked = False + $ states.cho.ev.quidditch.lock_training = False + $ states.cho.ev.quidditch.lock_practice = True + $ states.cho.ev.quidditch.lock_tactic = False + $ states.cho.ev.quidditch.hufflepuff_stage = "completed" call update_cho_favors jump end_cho_event diff --git a/game/scripts/characters/cho/events/quidditch/hufflepuff_practice.rpy b/game/scripts/characters/cho/events/quidditch/hufflepuff_practice.rpy index ec02ac74..769daefd 100644 --- a/game/scripts/characters/cho/events/quidditch/hufflepuff_practice.rpy +++ b/game/scripts/characters/cho/events/quidditch/hufflepuff_practice.rpy @@ -25,7 +25,7 @@ label cc_ht_start: # Cho leaves. call cho_walk(action="leave") - $ cho_quid.in_progress = True + $ states.cho.ev.quidditch.in_progress = True call gen_chibi("sit_behind_desk") with fade @@ -98,7 +98,7 @@ label cc_ht_return: call cho_walk(action="leave") $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ cho_quid.hufflepuff_training = True # Mark as complete + $ states.cho.ev.quidditch.hufflepuff_training = True # Mark as complete jump end_cho_event @@ -108,18 +108,18 @@ label cc_ht_talk: cho "" (xpos="right", ypos="base", trans=fade) - if not cho_quid.E1_complete: + if not states.cho.ev.quidditch.e1_complete: gen "Ready to start training?" ("base", xpos="far_left", ypos="head") cho "Of course, just let me know when." ("smile", "base", "raised", "mid") - elif not cho_quid.E2_complete: + elif not states.cho.ev.quidditch.e2_complete: gen "So, are you sure you don't want my help?" ("base", xpos="far_left", ypos="head") cho "I... I don't know..." ("upset", "base", "raised", "downR") - elif cho_quid.E3_complete and not cho_quid.E4_complete: + elif states.cho.ev.quidditch.e3_complete and not states.cho.ev.quidditch.e4_complete: cho "Have you asked Hermione to be our commentator yet?" ("soft", "base", "base", "mid") gen "Not yet." ("base", xpos="far_left", ypos="head") cho "We can't play if we don't have a commentator." ("soft", "base", "worried", "R") cho "Please ask her, Sir." ("annoyed", "base", "worried", "mid") - elif cho_quid.E4_complete and cho_quid.lock_practice: # mandatory + elif states.cho.ev.quidditch.e4_complete and states.cho.ev.quidditch.lock_practice: # mandatory gen "I've got great news for you! I found us a new commentator!" ("grin", xpos="far_left", ypos="head") cho "Is it Hermione?" ("soft", "narrow", "base", "mid") gen "Yes! Very good guess!" ("grin", xpos="far_left", ypos="head") @@ -135,8 +135,8 @@ label cc_ht_talk: gen "Make sure you tell everyone how your great and very proactive headmaster sorted everything out..." ("grin", xpos="far_left", ypos="head") cho "Oh, I will. Thank you very much!" ("soft", "base", "base", "mid") - $ cho_quid.lock_training = True # Removes training menu. - $ hufflepuff_match = "ready" # Able to start main match. + $ states.cho.ev.quidditch.lock_training = True # Removes training menu. + $ states.cho.ev.quidditch.hufflepuff_stage = "ready" # Able to start main match. hide cho_main show screen blkfade @@ -159,11 +159,11 @@ label cc_ht_talk: gen "Oh, yeah..." ("base", xpos="far_left", ypos="head") gen "(How does she expect me to help her without knowing anything about the opponents?)" ("base", xpos="far_left", ypos="head") gen "(Maybe I could get her to talk to me and gain more information through favours...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.hufflepuff_prepared: + elif not states.cho.ev.quidditch.hufflepuff_prepared: gen "Are you ready for the big win?" ("base", xpos="far_left", ypos="head") cho "Have you actually found out a tactic we could use?" ("open", "base", "raised", "mid") gen "(Oh right... I didn't discuss our new tactic with her yet.)" ("base", xpos="far_left", ypos="head") - elif cho_whoring < 3: # Has Cho enough confidence? + elif states.cho.level < 3: # Has Cho enough confidence? gen "So, how about those tactics?" ("base", xpos="far_left", ypos="head") cho "I don't know if I can do...{w=0.4} That..." ("disgust", "narrow", "base", "mid", cheeks="blush") gen "What do you mean you can't? It's the perfect strategy!" ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/cho/events/quidditch/intros.rpy b/game/scripts/characters/cho/events/quidditch/intros.rpy index 1c22b882..82ae9562 100644 --- a/game/scripts/characters/cho/events/quidditch/intros.rpy +++ b/game/scripts/characters/cho/events/quidditch/intros.rpy @@ -140,8 +140,8 @@ label cho_quid_E1: gen "She'll get over it..." ("base", xpos="far_left", ypos="head") # Flags - $ cho_mood += 9 - $ cho_quid.E1_complete = True + $ states.cho.mood += 9 + $ states.cho.ev.quidditch.e1_complete = True jump end_cho_event @@ -292,9 +292,9 @@ label cho_quid_E2: # Flags $ cho.equip(cho_outfit_last) - $ cho_quid.E2_complete = True - $ cho_favors_unlocked = True - $ cho_quid.lock_training = False + $ states.cho.ev.quidditch.e2_complete = True + $ states.cho.favors_unlocked = True + $ states.cho.ev.quidditch.lock_training = False call gen_chibi("sit_behind_desk") with fade @@ -331,7 +331,7 @@ label cho_quid_E3: "\"Hermione\"": pass - "\"Astoria\"" if astoria_unlocked and not _selected[0]: + "\"Astoria\"" if states.ast.unlocked and not _selected[0]: $ _selected[0] = True cho "That mischievous little..." ("clench", "wide", "raised", "mid") @@ -342,7 +342,7 @@ label cho_quid_E3: jump cho_quid_E3.choices - "\"Luna\"" if luna_unlocked and not _selected[1]: + "\"Luna\"" if states.lun.unlocked and not _selected[1]: $ _selected[1] = True cho "Luna? Luna Lovegood, [name_genie_cho]?" ("open", "narrow", "raised", "mid") @@ -397,8 +397,8 @@ label cho_quid_E3: # Reset $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ cho_quid.E3_complete = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.e3_complete = True + $ states.cho.ev.quidditch.lock_practice = True jump end_cho_event @@ -418,7 +418,7 @@ label cho_quid_E4: her "Not to mention getting to make all the announcements..." ("smile", "base", "base", "R") her "The speeches..." ("grin", "happy", "base", "mid") - if her_whoring < 18: + if states.her.level < 18: her "The paper..." ("soft", "narrow", "annoyed", "up") her "The {heart}{b}preparation{/b}{heart}..." ("open_tongue", "narrow", "base", "up") else: @@ -437,7 +437,7 @@ label cho_quid_E4: gen "Aaaa-nd, she's gone..." ("base", xpos="far_left", ypos="head") gen "I better tell Cho about the...{w=0.8} news." ("base", xpos="far_left", ypos="head") - $ cho_quid.E4_complete = True + $ states.cho.ev.quidditch.e4_complete = True jump end_hermione_event # This is correct, it's Hermione talking! @@ -487,8 +487,8 @@ label cho_quid_E5: cho "I--{w=0.3} yes..." ("soft", "base", "raised", "downR") cho "You're right! Thank you, [name_genie_cho]." ("base", "base", "base", "mid") # happy - $ cho_quid.E5_complete = True - $ cho_favors_unlocked = True + $ states.cho.ev.quidditch.e5_complete = True + $ states.cho.favors_unlocked = True jump cho_requests @@ -535,7 +535,7 @@ label cho_quid_E6: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"Tough luck, Miss Granger!\"": - $ her_mood += 16 + $ states.her.mood += 16 her "Tough luck?!" ("clench", "wide", "base", "stare") gen "You agreed to do this, remember..." ("base", xpos="far_left", ypos="head") @@ -547,7 +547,7 @@ label cho_quid_E6: "\"We'll look for somebody more competent, then.\"": - $ her_mood += 10 + $ states.her.mood += 10 her "More competent?!" ("clench", "base", "angry", "mid") gen "Surely we can find a replacement for you in no time." ("base", xpos="far_left", ypos="head") @@ -577,7 +577,7 @@ label cho_quid_E6: gen "(What in the great desert sands do these women want from me...)" ("angry", xpos="far_left", ypos="head") gen "(Can't they get along like me and my ol' pal Snape?)" ("base", xpos="far_left", ypos="head") - $ cho_quid.E6_complete = True + $ states.cho.ev.quidditch.e6_complete = True jump end_hermione_event @@ -603,7 +603,7 @@ label cho_quid_E7: gen "Your loss..." ("base", xpos="far_left", ypos="head") "\"You could make fun of those Slytherins.\"": - if her_tier >= 5: + if states.her.tier >= 5: her "I'm not that childish, [name_genie_hermione]." ("annoyed", "base", "base", "mid") gen "You're not?" ("base", xpos="far_left", ypos="head") gen "So what they're doing doesn't bother you? Calling you all sorts of names?" ("base", xpos="far_left", ypos="head") @@ -647,7 +647,7 @@ label cho_quid_E7: call hide_characters nar "You telepathically call Cho into your office." - if her_tier < 4: # Hermione changes into her school outfit + if states.her.tier < 4: # Hermione changes into her school outfit nar "While Hermione hastily puts on some less revealing clothes." $ her_outfit_last.save() $ hermione.equip(her_outfit_default) @@ -785,18 +785,18 @@ label cho_quid_E7: pause 1.0 gen "(Quest complete!)" ("grin", xpos="far_left", ypos="head") - $ cho_mood = 0 + $ states.cho.mood = 0 - $ hermione_busy = True - $ cho_busy = True + $ states.her.busy = True + $ states.cho.busy = True - $ cho_quid.E7_complete = True + $ states.cho.ev.quidditch.e7_complete = True - if cho_quid.slytherin_training: # Finished practice match? - $ cho_quid.lock_training = True + if states.cho.ev.quidditch.slytherin_training: # Finished practice match? + $ states.cho.ev.quidditch.lock_training = True # Reset - if her_tier < 4: + if states.her.tier < 4: $ hermione.equip(her_outfit_last) # Equip player outfit. jump main_room_menu @@ -879,7 +879,7 @@ label cho_quid_E8: ton "Well that's unfortunate..." ("upset", "base", "shocked", "L") ton "Perhaps you could ask Snape. He should be able to get those lazy gits back on the pitch..." ("open", "base", "base", "mid") - if cho_quid.E9_complete: + if states.cho.ev.quidditch.e9_complete: gen "I already did. He isn't going to help me out..." ("base", xpos="far_left", ypos="head") ton "Well that's just like him." ("open", "base", "angry", "R") else: @@ -893,7 +893,7 @@ label cho_quid_E8: ton "Perhaps I'll tell you my techniques some other time." ("base", "narrow", "angry", "mid") gen "..." ("base", xpos="far_left", ypos="head") - if not cho_quid.E7_complete: + if not states.cho.ev.quidditch.e7_complete: # Has NOT blackmailed Hermione gen "That's not all, though. There's something else I need your help with." ("base", xpos="far_left", ypos="head") @@ -944,10 +944,10 @@ label cho_quid_E8: else: nar "You finish your drinks before calling it a night." - $ tonks_busy = True - $ cho_quid.E8_complete = True - $ cho_quid.lock_practice = False - $ cho_quid.slytherin_prepared = True # Unlocks practice match + $ states.ton.busy = True + $ states.cho.ev.quidditch.e8_complete = True + $ states.cho.ev.quidditch.lock_practice = False + $ states.cho.ev.quidditch.slytherin_prepared = True # Unlocks practice match jump end_tonks_hangout_points @@ -992,10 +992,10 @@ label cho_quid_E9: nar "You feel a sense of remorse shortly after he's gone, realizing that you're both just parts of the same coin." nar "Your friendship level with him has not changed...{w=0.5} Probably..." - $ snape_busy = True + $ states.sna.busy = True $ ss_summon_pause = 5 # Snape can't be summoned for a couple of days. Can be set to 0 once you talked to Tonks. - $ cho_quid.E9_complete = True + $ states.cho.ev.quidditch.e9_complete = True $ chair_OBJ.hidden = False @@ -1065,8 +1065,8 @@ label cho_quid_E10: cho "Yes [name_genie_cho]!" ("soft", "narrow", "base", "mid", cheeks="blush") #Unlock Personal favours (Public locked) - $ cho_quid.E10_complete = True - $ cho_favors_unlocked = True + $ states.cho.ev.quidditch.e10_complete = True + $ states.cho.favors_unlocked = True jump cho_requests @@ -1106,7 +1106,7 @@ label cho_quid_E11: lun "Of course, [name_genie_luna]!" ("grin", "base", "base", "mid") gen "Great. Then I'll look forward at seeing you cheering at the game!" ("base", xpos="far_left", ypos="head") - $ cho_quid.E11_complete = True + $ states.cho.ev.quidditch.e11_complete = True call lun_walk(action="leave") @@ -1436,7 +1436,7 @@ label cho_quid_E12: gen "Makes perfect sense to me." ("base", xpos="far_left", ypos="head") cho "*Err*..." ("angry", "narrow", "base", "L") - if snape_picture_examined: + if states.map.snape_office.picture_examined: gen "That's why those portraits never keep quiet, isn't it?" ("base", xpos="far_left", ypos="head") hoo "Precisely... The portraits appear alive for this very reason." ("base", "base", "base", "mid", cheeks="blush") hoo "Every painting contains some characteristics from the artist who painted it." ("base", "shocked", "base", "L", cheeks="blush") @@ -1544,14 +1544,14 @@ label cho_quid_E12: $ renpy.end_replay() # - if cho_received_thestral: + if states.cho.ev.quidditch.given_thestral: gen "Wait, how come when I tried to give you a broom with a--" ("angry", xpos="far_left", ypos="head") else: gen "You will?" ("base", xpos="far_left", ypos="head") hoo "Fantastic news!" ("grin", "shocked", "shocked", "L", cheeks="blush") - if cho_received_thestral: + if states.cho.ev.quidditch.given_thestral: gen "..." ("base", xpos="far_left", ypos="head") cho "Just...{w=0.4} *Ahem*...{w=0.4} I have a question..." ("angry", "narrow", "base", "down", cheeks="heavy_blush") @@ -1574,21 +1574,21 @@ label cho_quid_E12: gen "How about..." ("base", xpos="far_left", ypos="head") menu: - #Sets Cho's broom name for use during and after match (name_broom_cho) + #Sets Cho's broom name for use during and after match (states.cho.ev.quidditch.broom_name) "\"The Schlickstick!\"": - $ name_broom_cho = "Schlickstick" + $ states.cho.ev.quidditch.broom_name = "Schlickstick" cho "The what?" ("angry", "wide", "base", "mid", cheeks="blush") gen "A fitting name for a fitted broom..." ("base", xpos="far_left", ypos="head") - hoo "[name_broom_cho] eh? I like it!" ("base", "base", "base", "mid") + hoo "[states.cho.ev.quidditch.broom_name] eh? I like it!" ("base", "base", "base", "mid") "\"The Scoot-a-ride!\"": - $ name_broom_cho = "Scoot-a-ride" + $ states.cho.ev.quidditch.broom_name = "Scoot-a-ride" gen "You know, cause you scoot around on it." ("base", xpos="far_left", ypos="head") cho "Very funny professor..." ("annoyed", "narrow", "base", "mid") hoo "Works for me." ("base", "base", "base", "mid") "\"The Speedblaster 2000!\"": - $ name_broom_cho = "Speedblaster 2000" + $ states.cho.ev.quidditch.broom_name = "Speedblaster 2000" gen "Cause it'll get up to higher speeds when it blasts your--" ("base", xpos="far_left", ypos="head") cho "Sir!" ("angry", "base", "angry", "mid", cheeks="blush") @@ -1597,13 +1597,13 @@ label cho_quid_E12: hoo "I like it!" ("base", "base", "base", "mid") cho "..." ("disgust", "base", "base", "L", cheeks="blush") "\"The Purple Rocket!\"": - $ name_broom_cho = "Purple Rocket" + $ states.cho.ev.quidditch.broom_name = "Purple Rocket" cho "The broom isn't... Oh I see..." ("disgust", "narrow", "base", "mid", cheeks="blush") hoo "Works for me." ("base", "base", "base", "mid") gen "*He-heh*..." ("grin", xpos="far_left", ypos="head") "\"The Cumet!!\"": - $ name_broom_cho = "Cumet" + $ states.cho.ev.quidditch.broom_name = "Cumet" hoo "There's already a broom called that unfortunately." ("normal", "base", "shocked", "mid") gen "There is?" ("base", xpos="far_left", ypos="head") @@ -1612,12 +1612,12 @@ label cho_quid_E12: cho "Huh?" ("open", "base", "base", "L") hoo "Yeah, cumet suits it just fine..." ("grin", "base", "raised", "R", cheeks="blush") "\"The Nimble 2069!\"": - $ name_broom_cho = "Nimble 2069" + $ states.cho.ev.quidditch.broom_name = "Nimble 2069" hoo "I see, since you're able to move more nimbly on it... Very clever." ("base", "base", "base", "mid") gen "(Heh-heh... Sixty-nine...)" ("base", xpos="far_left", ypos="head") "\"The Spurtstick 900!\"": - $ name_broom_cho = "Spurtstick 900" + $ states.cho.ev.quidditch.broom_name = "Spurtstick 900" hoo "It does go very fast once you get it going... I like it!" ("base", "shocked", "shocked", "mid") cho "I'm not sure that's why he wants to call it--" ("disgust", "narrow", "base", "L", cheeks="blush") @@ -1640,7 +1640,7 @@ label cho_quid_E12: nar "You leave Cho to her own devices...{w=0.4} And return to your office." - $ cho_quid.E12_complete = True + $ states.cho.ev.quidditch.e12_complete = True # Reset hooch's chibi values $ hooch_chibi.zoom = 0.28 @@ -1660,7 +1660,7 @@ label cho_quid_E13: gen "(Well then... That should be everything.)" ("base", xpos="far_left", ypos="head") gen "(Although perhaps I could leave her with that broom for a bit before arranging the finals...)" ("grin", xpos="far_left", ypos="head") - $ cho_quid.E13_complete = True + $ states.cho.ev.quidditch.e13_complete = True jump main_room_menu diff --git a/game/scripts/characters/cho/events/quidditch/quiz.rpy b/game/scripts/characters/cho/events/quidditch/quiz.rpy index 1f5f7b33..19a3889d 100644 --- a/game/scripts/characters/cho/events/quidditch/quiz.rpy +++ b/game/scripts/characters/cho/events/quidditch/quiz.rpy @@ -4,17 +4,17 @@ label cho_quiz: cho "" (xpos="mid",ypos="base", trans=fade) - $ cho_quiz.correct_answers = 0 + $ states.cho.ev.quiz.correct_answers = 0 - if cho_quiz.checkpoint: + if states.cho.ev.quiz.checkpoint: gen "I'm ready to show you what I know about Quidditch..." ("base", xpos="far_left", ypos="head") cho "Great!" ("base", "base", "base", "L") cho "Let's begin..." ("open", "wide", "raised", "mid") jump cho_quiz_checkpoint # Intro - if not cho_quiz.E1_complete: - $ cho_quiz.E1_complete = True + if not states.cho.ev.quiz.e1_complete: + $ states.cho.ev.quiz.e1_complete = True gen "It's time to start our first lesson, Miss Chang." ("base", xpos="far_left", ypos="head") cho "Okay then, where do we begin?" ("smile", "base", "base", "mid") gen "Well, first we'll need to discuss what you'll do for me in this arrangement of ours..." ("base", xpos="far_left", ypos="head") @@ -25,7 +25,7 @@ label cho_quiz: cho "Favours? What kind of favours?" ("annoyed", "narrow", "raised", "mid") gen "Nothing that Miss Granger hasn't had any issues with." ("base", xpos="far_left", ypos="head") - if her_reputation < 16: + if states.her.public_level < 16: cho "(So nothing sexual, at the very least...)" ("grin", "base", "base", "R") else: cho "(I hope it's nothing sexual. I've heard some rumours about Granger...)" ("quiver", "base", "worried", "R") @@ -90,8 +90,8 @@ label cho_quiz: play sound "sounds/kung-fu-punch.ogg" gen "Ah,{w=0.4} well..." ("angry", xpos="far_left", ypos="head") - "-[cho_quiz.hint]At the start of the game the ball gets thrown in the air...-": - $ cho_quiz.correct_answers += 1 + "-[states.cho.ev.quiz.hint]At the start of the game the ball gets thrown in the air...-": + $ states.cho.ev.quiz.correct_answers += 1 gen "You start the game by the referee throwing the ball into the air..." ("base", xpos="far_left", ypos="head") $ confidence_meter += 12 @@ -120,8 +120,8 @@ label cho_quiz: play sound "sounds/kung-fu-punch.ogg" gen "Of course!{w=0.4}... and in basketball..." ("angry", xpos="far_left", ypos="head") - "-[cho_quiz.hint]You may not go out of bounds with the ball...-": - $ cho_quiz.correct_answers += 1 + "-[states.cho.ev.quiz.hint]You may not go out of bounds with the ball...-": + $ states.cho.ev.quiz.correct_answers += 1 gen "You're not allowed outside the bounds whilst holding the ball or you'll have to hand it over to the opponent team..." ("base", xpos="far_left", ypos="head") $ confidence_meter += 12 @@ -136,8 +136,8 @@ label cho_quiz: # Question 3 menu: - "-[cho_quiz.hint]Each player takes a certain position...-": - $ cho_quiz.correct_answers += 1 + "-[states.cho.ev.quiz.hint]Each player takes a certain position...-": + $ states.cho.ev.quiz.correct_answers += 1 gen "Each player takes a certain position." ("base", xpos="far_left", ypos="head") gen "There are defensive positions..." ("base", xpos="far_left", ypos="head") @@ -184,8 +184,8 @@ label cho_quiz: gen "Well...{w=0.4}" ("angry", xpos="far_left", ypos="head") gen "Fine..." ("base", xpos="far_left", ypos="head") - "-[cho_quiz.hint]You score by getting the ball through a hoop...-": - $ cho_quiz.correct_answers += 1 + "-[states.cho.ev.quiz.hint]You score by getting the ball through a hoop...-": + $ states.cho.ev.quiz.correct_answers += 1 gen "The way you score is by getting the ball through a hoop." ("base", xpos="far_left", ypos="head") $ confidence_meter += 12 @@ -210,7 +210,7 @@ label cho_quiz: $ renpy.block_rollback() # Failed - if cho_quiz.correct_answers <= 1: # 0-1 answers correct? + if states.cho.ev.quiz.correct_answers <= 1: # 0-1 answers correct? gen "Well, I'm sure that the winning conditions are pretty similar at least..." ("base", xpos="far_left", ypos="head") cho "And what are the winning conditions?" ("base", "base", "base", "mid") gen "You win by having the most amount of points when the time is over." ("base", xpos="far_left", ypos="head") @@ -239,7 +239,7 @@ label cho_quiz: gen "(What am I supposed to do now... I clearly know fuck-all about Quidditch...)" ("angry", xpos="far_left", ypos="head") gen "(I'd rather not ask Snape... but unless there's someone else that I could ask without sounding like a complete dumb-ass it might have to do...)" ("base", xpos="far_left", ypos="head") - $ cho_quiz.lost = True + $ states.cho.ev.quiz.lost = True if quidditchguide_ITEM.used: gen "(Why didn't I just follow the book? Serves me right...)" ("base", xpos="far_left", ypos="head") @@ -250,9 +250,9 @@ label cho_quiz: # Success! Or did you? - elif cho_quiz.correct_answers == 4: + elif states.cho.ev.quiz.correct_answers == 4: - $ cho_quiz.correct_answers = 0 + $ states.cho.ev.quiz.correct_answers = 0 show screen meter(confidence_meter) gen "So, as you can see, Basketball and Quidditch are pretty much the same game..." ("base", xpos="far_left", ypos="head") @@ -299,7 +299,7 @@ label cho_quiz: gen "(The fuck am I supposed to do now... I feel like that must've been a fluke, I know nothing about Quidditch..)." ("angry", xpos="far_left", ypos="head") gen "(I'd rather not ask Snape... but unless there's someone else that I could ask without sounding like a complete dumb-ass it might have to do...)" ("base", xpos="far_left", ypos="head") - $ cho_quiz.lost = True + $ states.cho.ev.quiz.lost = True # Read the book. if quidditchguide_ITEM.used: @@ -313,7 +313,7 @@ label cho_quiz: elif item_store_intro_done: gen "(Actually, perhaps the twins might be a better idea...)" ("base", xpos="far_left", ypos="head") - $ cho_busy = True + $ states.cho.busy = True jump main_room_menu @@ -329,8 +329,8 @@ label cho_quiz_checkpoint: stop weather # Intro - if not cho_quiz.E2_complete: - $ cho_quiz.E2_complete = True + if not states.cho.ev.quiz.e2_complete: + $ states.cho.ev.quiz.e2_complete = True cho "You do seem to know some basic things, but do you know anything about the balls?" ("open", "narrow", "base", "mid") gen "I could probably teach you quite a lot..." ("base", xpos="far_left", ypos="head") gen "You should never neglect the balls." ("grin", xpos="far_left", ypos="head") @@ -366,7 +366,7 @@ label cho_quiz_checkpoint: gen "Of course not..." ("base", xpos="far_left", ypos="head") cho "Next question..." ("open", "base", "raised", "down") - "-[cho_quiz.hint]Snitch-": + "-[states.cho.ev.quiz.hint]Snitch-": gen "Snitch?" ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() play sound "sounds/gasp.ogg" @@ -375,7 +375,7 @@ label cho_quiz_checkpoint: cho "Yes!" ("smile", "wide", "base", "mid") gen "Well then, surely that should show you how superi--" ("grin", xpos="far_left", ypos="head") cho "Next question..." ("open", "closed", "base", "down") - $ cho_quiz.correct_answers += 1 + $ states.cho.ev.quiz.correct_answers += 1 cho "Apart from the Snitch there are two other types of balls on the pitch, what are they called?" ("open", "base", "angry", "mid") @@ -393,7 +393,7 @@ label cho_quiz_checkpoint: play sound "sounds/kung-fu-punch.ogg" cho "Next question..." ("open", "base", "raised", "down") - "-[cho_quiz.hint]Bludger and Quaffle-": + "-[states.cho.ev.quiz.hint]Bludger and Quaffle-": gen "Bludger and Quaffle?" ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() $ confidence_meter += 12 @@ -402,7 +402,7 @@ label cho_quiz_checkpoint: cho "Yes!" ("smile", "wide", "base", "mid") gen "Great! Then let's get started with the--" ("grin", xpos="far_left", ypos="head") cho "Next question..." ("open", "base", "raised", "down") - $ cho_quiz.correct_answers += 1 + $ states.cho.ev.quiz.correct_answers += 1 "-Quabble and Bluffer-": gen "Quabble and bluffer?" ("base", xpos="far_left", ypos="head") @@ -426,7 +426,7 @@ label cho_quiz_checkpoint: # Question 3 menu: - "-[cho_quiz.hint]Three Months-": + "-[states.cho.ev.quiz.hint]Three Months-": gen "Three months?" ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() $ confidence_meter += 12 @@ -437,7 +437,7 @@ label cho_quiz_checkpoint: gen "I feel like there weren't that many realistic options available this time..." ("base", xpos="far_left", ypos="head") cho "Okay... I'm not sure what that means..." ("soft", "narrow", "worried", "mid") cho "Anyway, final question..." ("open", "base", "raised", "down") - $ cho_quiz.correct_answers += 1 + $ states.cho.ev.quiz.correct_answers += 1 "-Seven Years-": gen "Seven years?" ("base", xpos="far_left", ypos="head") @@ -498,7 +498,7 @@ label cho_quiz_checkpoint: play sound "sounds/kung-fu-punch.ogg" cho "I'm not sure what else to tell you..." ("open", "closed", "base", "mid") - "-[cho_quiz.hint]I don't know...-": + "-[states.cho.ev.quiz.hint]I don't know...-": gen "Uh... I don't know..." ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() $ confidence_meter += 12 @@ -510,7 +510,7 @@ label cho_quiz_checkpoint: gen "Why wouldn't there be a rule for it?" ("angry", xpos="far_left", ypos="head") cho "Why would the defensive leave the pitch... they'd just leave the goal open..." ("soft", "base", "worried", "mid") gen "..." ("base", xpos="far_left", ypos="head") - $ cho_quiz.correct_answers += 1 + $ states.cho.ev.quiz.correct_answers += 1 pause 1.0 hide screen meter @@ -525,7 +525,7 @@ label cho_quiz_checkpoint: $ renpy.block_rollback() # Success - if cho_quiz.correct_answers >= 4: + if states.cho.ev.quiz.correct_answers >= 4: cho "Well Sir, I thought for a minute that you only cared about basketball, but it looks like I was wrong..." ("smile", "base", "base", "mid") gen "Of course, I am well versed in all sports. I just thought I'd teach you a thing or two." ("base", xpos="far_left", ypos="head") gen "So, will you let me train you then?" ("base", xpos="far_left", ypos="head") @@ -551,7 +551,7 @@ label cho_quiz_checkpoint: # Cho leaves. call cho_walk(action="leave") - $ cho_quiz.complete = True + $ states.cho.ev.quiz.complete = True call popup("You've unlocked the ability to train Cho in Quidditch.", "Congratulations!", "interface/icons/head/cho.webp") @@ -578,7 +578,7 @@ label cho_quiz_checkpoint: gen "(What am I supposed to do now... I clearly don't know enough about Quidditch...)" ("angry", xpos="far_left", ypos="head") gen "(I'd rather not ask Snape... but unless there's someone else that I could ask without sounding like a complete dumb-ass it might have to do...)" ("base", xpos="far_left", ypos="head") - $ cho_quiz.lost = True + $ states.cho.ev.quiz.lost = True # Read the book. if quidditchguide_ITEM.used: @@ -647,6 +647,6 @@ label ss_he_cho_E2: nar "You spend the rest of the evening in Snape's company once again talking about Cho's remarkable legs." - $ ss_he.cho_E2 = True + $ states.sna.ev.hangouts.cho_e2 = True jump end_snape_hangout_points diff --git a/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy b/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy index ec7585de..105fdfaf 100644 --- a/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy @@ -62,14 +62,14 @@ label start_slytherin_match: call cho_walk(action="leave") - $ cho_busy = True + $ states.cho.busy = True $ cc_event_pause += 1 # Event starts on the next day $ cc_summon_pause += 1 # Can't be summoned until next event - $ cho_quid.lock_training = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.lock_training = True + $ states.cho.ev.quidditch.lock_practice = True - $ slytherin_match = "start" + $ states.cho.ev.quidditch.slytherin_stage = "start" jump end_cho_event @@ -466,9 +466,9 @@ label slytherin_match: ton "Just ignore them sweetie, you're doing great." ("base", "happyCl", "base", "mid") - if ton_friendship > sna_friendship: + if states.ton.level > states.sna.level: gen "What she said." ("base", xpos="far_left", ypos="head") - elif ton_friendship == sna_friendship: + elif states.ton.level == states.sna.level: gen "What they said." ("base", xpos="far_left", ypos="head") else: gen "What he said." ("base", xpos="far_left", ypos="head") @@ -827,7 +827,7 @@ label slytherin_match: pause .8 stop music fadeout 3.0 - $ genie_zorder = 15 + $ states.gen.image.zorder = 15 show screen blktone with d5 pause 1.0 @@ -1380,7 +1380,6 @@ label slytherin_match_return: # The office, evening after the game $ game.daytime = False - call update_interface_color stop music fadeout 1 #show screen blkfade @@ -1579,7 +1578,7 @@ label slytherin_match_return: ton "" ("horny", "base", "base", "mid", trans=d5) pause .8 - if tonks_morph_known: #This wont be used if we make it so you learn it first time here and hangouts unlock after this + if states.gen.ev.tonks.metamorphmagi_aware: #This wont be used if we make it so you learn it first time here and hangouts unlock after this gen "It all makes sense now." ("base", xpos="far_left", ypos="head") ton "Hello sweet cheeks!" ("base", "base", "base", "mid") ton "Thought I was about to lose focus there for a second when you started going at it!" ("open", "base", "base", "R") @@ -1591,7 +1590,7 @@ label slytherin_match_return: ton "Impressive, isn't it?" ("horny", "base", "base", "mid") else: - $ tonks_morph_known = True + $ states.gen.ev.tonks.metamorphmagi_aware = True gen "You were Miss Granger the whole time?" ("angry", xpos="far_left", ypos="head") gen "Plot twist of the fucking century." ("base", xpos="far_left", ypos="head") ton "Of course not, don't be silly..." ("open", "closed", "base", "mid") @@ -1616,7 +1615,7 @@ label slytherin_match_return: cho "Want to give this snatch a little lick?" ("soft", "narrow", "base", "mid") gen "!!!" ("angry", xpos="far_left", ypos="head") - if astoria_unlocked: + if states.ast.unlocked: # Tonks turns into Astoria play sound "sounds/magic4.ogg" play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed @@ -1639,7 +1638,7 @@ label slytherin_match_return: gen "Tonks?" ("base", xpos="far_left", ypos="head") sus "Oh right...{w=0.3} Where was I?" ("smile", "happy", "low", "downL") - elif susan_unlocked: + elif states.sus.unlocked: # Tonks Turns into Susan play sound "sounds/magic4.ogg" play music "music/teddy-bear-waltz-by-kevin-macleod.ogg" fadein 1 if_changed @@ -1655,7 +1654,7 @@ label slytherin_match_return: gen "Tonks?" ("base", xpos="far_left", ypos="head") sus "Oh right... Where was I?" ("base", "base", "base", "mid") - if luna_unlocked: + if states.lun.unlocked: #Tonks turns into Luna gen "Now do Luna!" ("grin", xpos="far_left", ypos="head") @@ -1741,19 +1740,19 @@ label slytherin_match_return: gen "Corrupting... enticing..." ("angry", xpos="far_left", ypos="head") gen "I'd let her suck my life force any day." ("grin", xpos="far_left", ypos="head") - $ tonks_busy = True - $ snape_busy = True - $ hermione_busy = True - $ cho_busy = True + $ states.ton.busy = True + $ states.sna.busy = True + $ states.her.busy = True + $ states.cho.busy = True - $ cho_mood += 9 - $ cho_tier = 3 - $ cho_favors_unlocked = False - $ cho_requests_unlocked = False - $ cho_quid.lock_training = False - $ cho_quid.lock_practice = True - $ cho_quid.lock_tactic = False - $ slytherin_match = "completed" # Prevents this event from repeating. + $ states.cho.mood += 9 + $ states.cho.tier = 3 + $ states.cho.favors_unlocked = False + $ states.cho.requests_unlocked = False + $ states.cho.ev.quidditch.lock_training = False + $ states.cho.ev.quidditch.lock_practice = True + $ states.cho.ev.quidditch.lock_tactic = False + $ states.cho.ev.quidditch.slytherin_stage = "completed" # Prevents this event from repeating. call update_cho_favors # Reset diff --git a/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy b/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy index f9abce84..5ea2ce1a 100644 --- a/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy +++ b/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy @@ -15,7 +15,7 @@ label cc_st_start: cho "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) # Intro 1 - if not cho_quid.slytherin_prepared: + if not states.cho.ev.quidditch.slytherin_prepared: gen "Alright, we need to try out those new tactics!" ("base", xpos="far_left", ypos="head") gen "There is a lot at stake here! We can't afford to lose even a single game!" ("angry", xpos="far_left", ypos="head") gen "We can't show any weakness to those Slytherins!" ("angry", xpos="far_left", ypos="head") @@ -44,9 +44,9 @@ label cc_st_start: # Cho leaves. call cho_walk(action="leave") - $ hermione_busy = True + $ states.her.busy = True - $ cho_quid.in_progress = True + $ states.cho.ev.quidditch.in_progress = True call gen_chibi("sit_behind_desk") with fade @@ -55,7 +55,7 @@ label cc_st_start: label cc_st_return: - if not cho_quid.slytherin_prepared: + if not states.cho.ev.quidditch.slytherin_prepared: # Cho goes unprepared and fails. stop music fadeout 5.0 @@ -97,7 +97,7 @@ label cc_st_return: gen "(Damn it, that naivety of hers is turning me on!)" ("angry", xpos="far_left", ypos="head") "\"Brats like you need to be punished!\"": - $ cho_mood += 2 + $ states.cho.mood += 2 play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "Punished? For what?" ("soft", "narrow", "angry", "mid") # angry @@ -153,12 +153,12 @@ label cc_st_return: $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ hermione_busy = True - $ snape_busy = True #Set to busy since their hangouts are triggered after Hermione event next morning. - $ tonks_busy = True #Set to busy since their hangouts are triggered after Hermione event next morning. - $ cho_mood += 6 - $ cho_quid.lock_practice = True - $ cho_quid.slytherin_failed = True + $ states.her.busy = True + $ states.sna.busy = True #Set to busy since their hangouts are triggered after Hermione event next morning. + $ states.ton.busy = True #Set to busy since their hangouts are triggered after Hermione event next morning. + $ states.cho.mood += 6 + $ states.cho.ev.quidditch.lock_practice = True + $ states.cho.ev.quidditch.slytherin_failed = True jump end_cho_event else: @@ -180,7 +180,7 @@ label cc_st_return: cho "So long as they don't give my ass too much of a {i}bludgering{/i}..." ("clench", "base", "raised", "mid") gen "Just make sure to pick the right moment to distract them and you'll be fine." ("base", xpos="far_left", ypos="head") gen "Very well then, I guess we're ready to take those snakes on for the main match!" ("base", xpos="far_left", ypos="head") - if not cho_quid.E7_complete: + if not states.cho.ev.quidditch.e7_complete: cho "What about Granger?" ("annoyed", "base", "raised", "mid") gen "What about her?" ("base", xpos="far_left", ypos="head") cho "Is she commentating or what? We can't play without a commentator." ("open", "base", "base", "mid") @@ -206,11 +206,11 @@ label cc_st_return: $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ slytherin_match = "ready" - $ cho_quid.slytherin_training = True - $ cho_quid.lock_practice = True - if cho_quid.E7_complete: - $ cho_quid.lock_training = True + $ states.cho.ev.quidditch.slytherin_stage = "ready" + $ states.cho.ev.quidditch.slytherin_training = True + $ states.cho.ev.quidditch.lock_practice = True + if states.cho.ev.quidditch.e7_complete: + $ states.cho.ev.quidditch.lock_training = True jump end_cho_event @@ -220,8 +220,8 @@ label cc_st_talk: cho "" (xpos="right", ypos="base", trans=fade) - if cho_quid.E6_complete and (not cho_quid.E8_complete or not cho_quid.E7_complete): - if not cho_quid.E8_complete and not cho_quid.E7_complete: + if states.cho.ev.quidditch.e6_complete and (not states.cho.ev.quidditch.e8_complete or not states.cho.ev.quidditch.e7_complete): + if not states.cho.ev.quidditch.e8_complete and not states.cho.ev.quidditch.e7_complete: # Haven't done either cho "Wow, that was quick! I didn't think you'd get it done already!" ("open", "base", "base", "mid") gen "*Err*... Get what done?" ("base", xpos="far_left", ypos="head") @@ -231,7 +231,7 @@ label cc_st_talk: gen "Oh... Right... I forgot about that..." ("base", xpos="far_left", ypos="head") gen "And how am I supposed to do that?" ("base", xpos="far_left", ypos="head") cho "How would I know, I'm not a teacher, am I?...{w} Ask one of them." ("annoyed", "base", "base", "mid") - if cho_quid.E9_complete: + if states.cho.ev.quidditch.e9_complete: gen "Well, I asked Snape..." ("base", xpos="far_left", ypos="head") cho "And how did that work out for you?" ("open", "narrow", "raised", "mid") gen "It didn't." ("base", xpos="far_left", ypos="head") @@ -239,7 +239,7 @@ label cc_st_talk: gen "(*Hmm*... Maybe I could ask Tonks for help during one of our hangouts?)" ("base", xpos="far_left", ypos="head") else: gen "(I wonder if Snape would help me with this...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.E8_complete: + elif not states.cho.ev.quidditch.e8_complete: # Haven't done Tonks event cho "Have you gotten those Slytherin pigs to play yet?" ("open", "narrow", "base", "mid") gen "Not yet, but I'm on it." ("base", xpos="far_left", ypos="head") @@ -247,7 +247,7 @@ label cc_st_talk: cho "We need to try out those tactics..." ("annoyed", "narrow", "worried", "R") gen "Any ideas on how to get them to practice against you?" ("base", xpos="far_left", ypos="head") cho "How would I know, I'm not a teacher, am I?...{w} Ask one of them." ("open", "narrow", "base", "mid") - if cho_quid.E9_complete: + if states.cho.ev.quidditch.e9_complete: gen "Well, I asked Snape..." ("base", xpos="far_left", ypos="head") cho "And how did that work out for you?" ("open", "narrow", "raised", "mid") gen "It didn't." ("base", xpos="far_left", ypos="head") @@ -255,18 +255,18 @@ label cc_st_talk: gen "(*Hmm*... Maybe I could ask Tonks for help during one of our hangouts?)" ("base", xpos="far_left", ypos="head") else: gen "(I wonder if Snape would help me with this...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.E7_complete: + elif not states.cho.ev.quidditch.e7_complete: # Haven't done Hermione event cho "Will Hermione commentate the match or not?" ("open", "base", "base", "mid") gen "Probably..." ("base", xpos="far_left", ypos="head") cho "What do you mean probably?" ("clench", "base", "raised", "mid") gen "I haven't confronted her about it yet." ("base", xpos="far_left", ypos="head") cho "Then do it!" ("open", "base", "angry", "mid") - elif cho_quid.E5_complete and not cho_quid.E6_complete: + elif states.cho.ev.quidditch.e5_complete and not states.cho.ev.quidditch.e6_complete: cho "I'm still a bit worried about those brutes..." ("annoyed", "base", "raised", "down") cho "You better find a foolproof way of dealing with them." ("soft", "base", "angry", "mid") gen "(Perhaps I should {b}talk to her{/b} more, the problem might solve itself.)" ("base", xpos="far_left", ypos="head") - elif cc_pf_talk.is_tier_complete() and not cho_quid.lock_tactic: + elif cc_pf_talk.is_tier_complete() and not states.cho.ev.quidditch.lock_tactic: cho "You really believe that showing off my ass is the best tactic against Slytherin?" ("soft", "base", "base", "R", cheeks="blush") gen "I'm certain of it..." ("base", xpos="far_left", ypos="head") cho "..." ("annoyed", "base", "worried", "R", cheeks="blush") #Worried diff --git a/game/scripts/characters/cho/events/quidditch/training.rpy b/game/scripts/characters/cho/events/quidditch/training.rpy index db7a2474..96eba555 100644 --- a/game/scripts/characters/cho/events/quidditch/training.rpy +++ b/game/scripts/characters/cho/events/quidditch/training.rpy @@ -6,16 +6,16 @@ label cho_training: # Automatic-Events # Quiz. - if not cho_quiz.complete: + if not states.cho.ev.quiz.complete: jump cho_quiz # Training Intro 1. # Event fails. Cho will get mad and leaves. - if not cho_quid.E1_complete: + if not states.cho.ev.quidditch.e1_complete: jump cho_quid_E1 # Training Intro 2. - if not cho_quid.E2_complete: + if not states.cho.ev.quidditch.e2_complete: jump cho_quid_E2 # Setup @@ -41,25 +41,25 @@ label cho_training: menu: "-Discuss Quidditch Training-": - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff jump cc_ht_talk - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin jump cc_st_talk - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor jump cc_gt_talk jump cho_training.choices - "-Discuss Tactics-" if cc_pf_talk.is_tier_complete() and not cho_quid.lock_tactic: + "-Discuss Tactics-" if cc_pf_talk.is_tier_complete() and not states.cho.ev.quidditch.lock_tactic: - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff # Clothes: Skirt, Robes - if not hufflepuff_match == "intro_done": - $ hufflepuff_match = "intro_done" + if not states.cho.ev.quidditch.hufflepuff_stage == "intro_done": + $ states.cho.ev.quidditch.hufflepuff_stage = "intro_done" gen "I got it!" ("base", xpos="far_left", ypos="head") cho "Got what?" ("soft", "base", "base", "mid") @@ -79,7 +79,7 @@ label cho_training: else: # Repeated intro gen "So about that tactic..." ("base", xpos="far_left", ypos="head") - if cho_whoring < 3: + if states.cho.level < 3: # Fail cho "Got a better plan? One that doesn't involve showing off my panties?" ("annoyed", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") @@ -89,8 +89,8 @@ label cho_training: jump cho_training.choices - if cho_whoring >= 3: - $ cho_quid.lock_practice = False + if states.cho.level >= 3: + $ states.cho.ev.quidditch.lock_practice = False cho "..." ("normal", "narrow", "base", "downR", cheeks="blush") cho "You actually think that will work?" ("open", "closed", "angry", "mid", cheeks="blush") @@ -136,7 +136,7 @@ label cho_training: cho "You better come up with something else!" ("soft", "base", "angry", "mid", cheeks="blush") # Cho gets upset and leaves - $ cho_mood += 6 + $ states.cho.mood += 6 call cho_walk(action="leave") gen "(Damn... maybe I need to work on her confidence a bit...)" ("base", xpos="far_left", ypos="head") @@ -149,11 +149,11 @@ label cho_training: jump end_cho_event - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin # Clothes: Trousers, Pullover - if not slytherin_match == "intro_done": - $ slytherin_match = "intro_done" + if not states.cho.ev.quidditch.slytherin_stage == "intro_done": + $ states.cho.ev.quidditch.slytherin_stage = "intro_done" gen "I got it!" ("base", xpos="far_left", ypos="head") gen "I've got the perfect idea on how to beat those snakes!" ("base", xpos="far_left", ypos="head") @@ -167,7 +167,7 @@ label cho_training: else: # Repeated intro gen "So about that tactic..." ("base", xpos="far_left", ypos="head") - if cho_whoring < 9: + if states.cho.level < 9: # Fail cho "Got a better plan? One that doesn't involve flaunting my ass to those Slytherins?" ("annoyed", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") @@ -178,8 +178,8 @@ label cho_training: jump cho_training.choices - if cho_whoring >= 9 and cc_pf_strip.is_event_complete(2, 3): - $ cho_quid.lock_practice = False + if states.cho.level >= 9 and cc_pf_strip.is_event_complete(2, 3): + $ states.cho.ev.quidditch.lock_practice = False cho "..." ("soft", "base", "raised", "mid") gen "And yes, before you ask, I'm sure this will ensure the win." ("base", xpos="far_left", ypos="head") @@ -227,7 +227,7 @@ label cho_training: cho "If that's all you have then I think I'm done here." ("open", "base", "worried", "down", cheeks="blush") # Cho gets upset and leaves - $ cho_mood += 3 + $ states.cho.mood += 3 call cho_walk(action="leave") gen "(Damn...)" ("base", xpos="far_left", ypos="head") @@ -241,11 +241,11 @@ label cho_training: jump end_cho_event - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor: # Clothes: No clothes decided on yet - if not gryffindor_match == "intro_done": - $ gryffindor_match = "intro_done" + if not states.cho.ev.quidditch.gryffindor_stage == "intro_done": + $ states.cho.ev.quidditch.gryffindor_stage = "intro_done" gen "I have got it!" ("base", xpos="far_left", ypos="head") cho "Finally..." ("soft", "base", "raised", "R") @@ -268,7 +268,7 @@ label cho_training: jump cho_training.choices if cc_pf_strip.is_event_complete(3,3) and cc_pf_blowjob.is_event_complete(3,3): - $ cho_quid.lock_practice = False + $ states.cho.ev.quidditch.lock_practice = False cho "What is this plan of yours based on?" ("soft", "narrow", "base", "down", cheeks="blush") @@ -328,7 +328,7 @@ label cho_training: gen "But what if--" ("base", xpos="far_left", ypos="head") # Cho gets upset and leaves - $ cho_mood += 6 + $ states.cho.mood += 6 call cho_walk(action="leave") gen "(She doesn't seem fully convinced just yet...)" ("base", xpos="far_left", ypos="head") @@ -341,8 +341,8 @@ label cho_training: jump end_cho_event - "-Discuss tactics-" (style="disabled") if not cc_pf_talk.is_tier_complete() or cho_quid.lock_tactic: - if cho_quid.lock_tactic: + "-Discuss tactics-" (style="disabled") if not cc_pf_talk.is_tier_complete() or states.cho.ev.quidditch.lock_tactic: + if states.cho.ev.quidditch.lock_tactic: gen "(We've already established a tactic for the next match)" ("base", xpos="far_left", ypos="head") else: gen "(I don't know enough about the enemy team.)" ("base", xpos="far_left", ypos="head") @@ -350,20 +350,20 @@ label cho_training: jump cho_training.choices - "-Start Practice Match-" if game.daytime and not cho_quid.lock_practice: - if cho_tier == 1: + "-Start Practice Match-" if game.daytime and not states.cho.ev.quidditch.lock_practice: + if states.cho.tier == 1: # Hufflepuff jump cc_ht_start - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin jump cc_st_start - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor jump cc_gt_start - "-Start Practice Match-" (style="disabled") if not game.daytime or cho_quid.lock_practice: - if cho_quid.lock_practice: - if (cho_tier == 1 and cho_quid.hufflepuff_training) or (cho_tier == 2 and cho_quid.slytherin_training) or (cho_tier == 3 and cho_quid.gryffindor_training): + "-Start Practice Match-" (style="disabled") if not game.daytime or states.cho.ev.quidditch.lock_practice: + if states.cho.ev.quidditch.lock_practice: + if (states.cho.tier == 1 and states.cho.ev.quidditch.hufflepuff_training) or (states.cho.tier == 2 and states.cho.ev.quidditch.slytherin_training) or (states.cho.tier == 3 and states.cho.ev.quidditch.gryffindor_training): gen "(She doesn't need any more practice.)" ("base", xpos="far_left", ypos="head") else: nar "Cho isn't ready for practice yet." @@ -404,19 +404,19 @@ label cho_tactics: menu: gen "(What directions should I give her?)" ("base", xpos="far_left", ypos="head") - "\"Fly in front of me.\"" if cho_quid.position != "front": + "\"Fly in front of me.\"" if states.cho.ev.quidditch.position != "front": jump cho_tactics.change_front - "\"Fly in front of me.\" {size=-6}(selected){/size}" if cho_quid.position == "front": + "\"Fly in front of me.\" {size=-6}(selected){/size}" if states.cho.ev.quidditch.position == "front": pass - "\"Fly above me.\"" if cho_quid.position != "above": + "\"Fly above me.\"" if states.cho.ev.quidditch.position != "above": jump cho_tactics.change_above - "\"Fly above me.\" {size=-6}(selected){/size}" if cho_quid.position == "above": + "\"Fly above me.\" {size=-6}(selected){/size}" if states.cho.ev.quidditch.position == "above": pass - "\"Fly close to me.\"" if cho_quid.position != "close": + "\"Fly close to me.\"" if states.cho.ev.quidditch.position != "close": jump cho_tactics.change_close - "\"Fly close to me.\" {size=-6}(selected){/size}" if cho_quid.position == "close": + "\"Fly close to me.\" {size=-6}(selected){/size}" if states.cho.ev.quidditch.position == "close": pass gen "(No, that probably won't work...)" ("base", xpos="far_left", ypos="head") @@ -430,9 +430,9 @@ label cho_tactics: label .change_front: # The *ASS* position! - $ cho_quid.position = "front" + $ states.cho.ev.quidditch.position = "front" - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff call cho_walk(600, 150+180) @@ -443,7 +443,7 @@ label cho_tactics: gen "Yes, probably..." ("base", xpos="far_left", ypos="head") gen "How about instead you..." ("base", xpos="far_left", ypos="head") - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin call cho_walk(600, 150+180) @@ -483,8 +483,8 @@ label cho_tactics: call cho_walk(action="leave") - $ cho_quid.lock_practice = False - $ cho_quid.lock_tactic = True + $ states.cho.ev.quidditch.lock_practice = False + $ states.cho.ev.quidditch.lock_tactic = True $ cho.equip(cho_outfit_last) call popup("Cho's practice matches have been unlocked.", "Congratulations!", "interface/icons/head/cho.webp") @@ -494,7 +494,7 @@ label cho_tactics: jump end_cho_event - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor call cho_walk(600, 150+180) @@ -507,9 +507,9 @@ label cho_tactics: label .change_above: # The ~Panties~ position! - $ cho_quid.position = "above" + $ states.cho.ev.quidditch.position = "above" - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff gen "Now, start with getting in front of me..." ("base", xpos="far_left", ypos="head") @@ -575,9 +575,9 @@ label cho_tactics: call cho_walk(action="leave") - $ cho_quid.lock_practice = False - $ cho_quid.lock_tactic = True - $ cho_quid.hufflepuff_prepared = True + $ states.cho.ev.quidditch.lock_practice = False + $ states.cho.ev.quidditch.lock_tactic = True + $ states.cho.ev.quidditch.hufflepuff_prepared = True $ cho.equip(cho_outfit_last) call popup("Cho's practice matches have been unlocked.", "Congratulations!", "interface/icons/head/cho.webp") @@ -587,7 +587,7 @@ label cho_tactics: jump end_cho_event - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin cho "Above you, [name_genie_cho]?" ("annoyed", "base", "raised", "mid", ypos="head", flip=False) @@ -600,7 +600,7 @@ label cho_tactics: cho "You think?" ("angry", "base", "raised", "mid", ypos="head", flip=False) #annoyed gen "Yeah, how about instead you..." ("base", xpos="far_left", ypos="head") - elif cho_tier == 3: + elif states.cho.tier == 3: #Gryffindor cho "You want me to fly... above you?" ("clench", "base", "raised", "mid", ypos="head", flip=False) @@ -620,9 +620,9 @@ label cho_tactics: label .change_close: # The ~intimate~ position! - $ cho_quid.position = "close" + $ states.cho.ev.quidditch.position = "close" - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff cho "Close? How would you be able to see my--" ("annoyed", "base", "base", "mid", ypos="head", flip=False) @@ -634,7 +634,7 @@ label cho_tactics: cho "No shi--" ("open", "narrow", "base", "mid", ypos="head", flip=False) gen "Let's try this instead..." ("base", xpos="far_left", ypos="head") - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin cho "Close?" ("annoyed", "base", "base", "mid", ypos="head", flip=False) @@ -646,7 +646,7 @@ label cho_tactics: cho "Yeah, this is not going to work..." ("disgust", "narrow", "base", "mid", ypos="head", flip=False) gen "Fine, let's have you..." ("base", xpos="far_left", ypos="head") - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor gen "Come as close to me as you can..." ("base", xpos="far_left", ypos="head") @@ -690,8 +690,8 @@ label cho_tactics: call cho_walk(action="leave") - $ cho_quid.lock_practice = False - $ cho_quid.lock_tactic = True + $ states.cho.ev.quidditch.lock_practice = False + $ states.cho.ev.quidditch.lock_tactic = True $ cho.equip(cho_outfit_last) call popup("Cho's practice matches have been unlocked.", "Congratulations!", "interface/icons/head/cho.webp") diff --git a/game/scripts/characters/cho/events/requests/manipulate_boys.rpy b/game/scripts/characters/cho/events/requests/manipulate_boys.rpy index 9bd921ad..72a2691a 100644 --- a/game/scripts/characters/cho/events/requests/manipulate_boys.rpy +++ b/game/scripts/characters/cho/events/requests/manipulate_boys.rpy @@ -8,7 +8,7 @@ label cc_pr_manipulate_boys_start: cho "" (xpos="right", ypos="base", trans=fade) ### Tier 1 (pre Hufflepuff) ### - if cho_tier == 1: + if states.cho.tier == 1: # Intro if cc_pr_manipulate_boys.points == 0: @@ -67,7 +67,7 @@ label cc_pr_manipulate_boys_start: cho "Yes, [name_genie_cho]!" ("base", "base", "base", "mid") ### Tier 2 (pre Slytherin) ### - elif cho_tier == 2: + elif states.cho.tier == 2: # Intro if cc_pr_manipulate_boys.points == 0: @@ -137,7 +137,7 @@ label cc_pr_manipulate_boys_start: cho "Yes, Sir!" ("base", "base", "base", "mid") ### Tier 2 (pre Gryffindor) ### - elif cho_tier == 3: + elif states.cho.tier == 3: if not cc_pr_manipulate_boys.is_event_complete(3, 1): # Completed The Twins? if not cc_pr_spy_boys.is_event_complete(3, 1): @@ -288,8 +288,8 @@ label cc_pr_manipulate_boys_T1_intro_E1: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 3: # Points til 3. - $ cho_reputation += 1 + if states.cho.public_level < 3: # Points til 3. + $ states.cho.public_level += 1 jump end_cho_event @@ -322,8 +322,8 @@ label cc_pr_manipulate_boys_T1_E1: gen "Well done, [name_cho_genie]! You may leave now." ("grin", xpos="far_left", ypos="head") cho "Thank you, Sir." ("smile", "happyCl", "base", "mid") - if cho_reputation < 3: # Points til 3. - $ cho_reputation += 1 + if states.cho.public_level < 3: # Points til 3. + $ states.cho.public_level += 1 # Cho leaves. call cho_walk(action="leave") @@ -378,8 +378,8 @@ label cc_pr_manipulate_boys_T1_E2: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 3: # Points til 3. - $ cho_reputation += 1 + if states.cho.public_level < 3: # Points til 3. + $ states.cho.public_level += 1 jump end_cho_event @@ -417,8 +417,8 @@ label cc_pr_manipulate_boys_T1_E3: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 3: # Points til 3. - $ cho_reputation += 1 + if states.cho.public_level < 3: # Points til 3. + $ states.cho.public_level += 1 jump end_cho_event @@ -482,8 +482,8 @@ label cc_pr_manipulate_boys_T2_intro_E1: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event @@ -529,8 +529,8 @@ label cc_pr_manipulate_boys_T2_E1: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event @@ -570,8 +570,8 @@ label cc_pr_manipulate_boys_T2_intro_E2: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event @@ -640,8 +640,8 @@ label cc_pr_manipulate_boys_T2_intro_E3: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event @@ -713,8 +713,8 @@ label cc_pr_manipulate_boys_T2_E3: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event @@ -799,15 +799,15 @@ label cc_pr_manipulate_boys_T3_twins: # Cho leaves. call cho_walk(action="leave") - $ cho_mood += 20 + $ states.cho.mood += 20 gen "She sure is a feisty one..." ("base", xpos="far_left", ypos="head") "-Offer to fetch her something-": call cc_pr_manipulate_boys_twins_branch - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 $ cho.wear("all") $ cho.set_body_hue(0) @@ -869,8 +869,8 @@ label cc_pr_manipulate_boys_T3_ron: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -918,8 +918,8 @@ label cc_pr_manipulate_boys_T3_harry: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -1100,7 +1100,7 @@ label cc_pr_manipulate_boys_twins_branch: play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "Finally..." ("annoyed", "base", "angry", "mid", trans=d3) - if not fire_in_fireplace: + if not states.fireplace_started: cho "I've been freezing my butt off, and I couldn't figure out how to light the fire." ("open", "base", "angry", "mid") gen "Can't you use some spell for that?" ("base", xpos="far_left", ypos="head") cho "Where do you think I keep my wand?" ("annoyed", "base", "angry", "mid") @@ -1142,7 +1142,7 @@ label cc_pr_manipulate_boys_twins_branch: play sound "sounds/door_down.ogg" with hpunch gen "..." ("base", xpos="far_left", ypos="head") - $ cho_mood += 10 + $ states.cho.mood += 10 "{size=-3}\"It's not my fault, Some idiot picked that option!\"{/size}": cho "What?" ("annoyed", "wide", "angry", "mid") @@ -1177,7 +1177,7 @@ label cc_pr_manipulate_boys_twins_branch: call cho_walk(action="leave", speed=2.0) play sound "sounds/door_down.ogg" with hpunch - $ cho_mood += 5 + $ states.cho.mood += 5 "\"Sorry...\"": cho "..." ("normal", "wide", "base", "mid") @@ -1217,7 +1217,7 @@ label cc_pr_manipulate_boys_twins_branch: cho "Thanks..." ("upset", "base", "base", "downR") cho "Good night then." ("normal", "base", "base", "mid") call cho_walk(action="leave", speed=1.5) - $ cho_mood += 2 + $ states.cho.mood += 2 elif d_flag_02 == 2: # Gryffindor @@ -1337,7 +1337,7 @@ label cc_pr_manipulate_boys_twins_branch: cho "..." ("upset", "base", "angry", "R") cho "I'm leaving." ("upset", "base", "angry", "mid") call cho_walk(action="leave", speed=1.5) - $ cho_mood+= 2 + $ states.cho.mood+= 2 "\"That's true, maybe you should just head back naked...\"": cho "What!?" ("disgust", "wide", "base", "mid") @@ -1359,7 +1359,7 @@ label cc_pr_manipulate_boys_twins_branch: play sound "sounds/door_down.ogg" with hpunch - $ cho_mood += 10 + $ states.cho.mood += 10 gen "So ungrateful..." ("base", xpos="far_left", ypos="head") "\"I'm sure none of the Hufflepuffs will spot you...\"": @@ -1437,7 +1437,7 @@ label cc_pr_manipulate_boys_twins_branch: with hpunch gen "I'll just keep the wig for later then..." ("base", xpos="far_left", ypos="head") - $ cho_mood += 10 + $ states.cho.mood += 10 call unlock_clothing("Congratulations! You have unlocked a new outfit!", cho_outfit_smurfette) $ cho.equip(cho_outfit_last) diff --git a/game/scripts/characters/cho/events/requests/manipulate_girls.rpy b/game/scripts/characters/cho/events/requests/manipulate_girls.rpy index e1337d8e..d4ca73f2 100644 --- a/game/scripts/characters/cho/events/requests/manipulate_girls.rpy +++ b/game/scripts/characters/cho/events/requests/manipulate_girls.rpy @@ -210,8 +210,8 @@ label cc_pr_manipulate_girls_T3_alicia: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -307,8 +307,8 @@ label cc_pr_manipulate_girls_T3_katie_part1: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -370,8 +370,8 @@ label cc_pr_manipulate_girls_T3_katie_part2: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -505,7 +505,7 @@ label cc_pr_manipulate_girls_T3_angelina: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event diff --git a/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy b/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy index 8e858687..0e448a9c 100644 --- a/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy +++ b/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy @@ -179,8 +179,8 @@ label cc_pr_spy_boys_T3_twins: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points till 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points till 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -217,8 +217,8 @@ label cc_pr_spy_boys_T3_ron: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points till 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points till 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -267,7 +267,7 @@ label cc_pr_spy_boys_T3_harry: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points till 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points till 12. + $ states.cho.public_level += 1 jump end_cho_event diff --git a/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy b/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy index 5ab32d6b..7394e295 100644 --- a/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy +++ b/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy @@ -216,8 +216,8 @@ label cc_pr_spy_girls_T3_showers: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -244,7 +244,7 @@ label cc_pr_spy_girls_T3_alicia: cho "The only reason she's assisting them, is because they promised they'd behave during Quidditch." ("open", "narrow", "raised", "mid") # Has player sent Hermione to work with the Twins, promoting the cardgame? - if not first_time_cardgame_work: + if not states.her.ev.sell_cards.first_time: gen "(I thought Hermione was helping them with that already...)" ("base", xpos="far_left", ypos="head") cho "And she sure doesn't seem to have any problems enticing people." ("soft", "narrow", "base", "mid") @@ -309,8 +309,8 @@ label cc_pr_spy_girls_T3_alicia: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -384,8 +384,8 @@ label cc_pr_spy_girls_T3_katie: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -436,7 +436,7 @@ label cc_pr_spy_girls_T3_angelina: gen "(Wrapped around your finger...{w} good one...)" ("grin", xpos="far_left", ypos="head") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event diff --git a/game/scripts/characters/cho/events/summon.rpy b/game/scripts/characters/cho/events/summon.rpy index 4a79095a..6cc42c20 100644 --- a/game/scripts/characters/cho/events/summon.rpy +++ b/game/scripts/characters/cho/events/summon.rpy @@ -1,6 +1,6 @@ label cho_summon_setup: - $ cho_wardrobe_unlocked = True + $ states.cho.wardrobe_unlocked = True # Reset doll state $ cho.wear("all") @@ -9,10 +9,10 @@ label cho_summon_setup: # Unlock favours at tier 3 # this will probably move to a cho_quid_E# event once we've implemented Gryffindor lead-up events - if cho_tier == 3: - $ cho_favors_unlocked = True + if states.cho.tier == 3: + $ states.cho.favors_unlocked = True - if cho_outfits_schedule: + if states.cho.wardrobe_scheduling: $ cho.equip_random_outfit() play sound "sounds/door.ogg" @@ -22,24 +22,24 @@ label cho_summon_setup: #Cho greeting. play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed - if cho_mood > 0: - if 5 > cho_mood >= 1: + if states.cho.mood > 0: + if 5 > states.cho.mood >= 1: cho "Yes, [name_genie_cho]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - elif 10 > cho_mood >= 5: + elif 10 > states.cho.mood >= 5: cho "*sigh*... Yes, [name_genie_cho]?" ("open", "base", "base", "R", xpos="base", ypos="base", trans=d3) - elif 20 > cho_mood >= 10: + elif 20 > states.cho.mood >= 10: cho "What is it, [name_genie_cho]?" ("annoyed", "base", "angry", "mid", xpos="base", ypos="base",trans=d3) - elif 30 > cho_mood >= 20: + elif 30 > states.cho.mood >= 20: cho "What do you want, \"[name_genie_cho]\"?" ("angry", "narrow", "angry", "mid", xpos="base", ypos="base",trans=d3) - elif 40 > cho_mood >= 30: + elif 40 > states.cho.mood >= 30: cho "*Hmph*..." ("upset", "base", "angry", "R", xpos="base", ypos="base",trans=d3) - elif 50 > cho_mood >= 40: + elif 50 > states.cho.mood >= 40: cho "*Tsk*" ("soft", "narrow", "angry", "R", xpos="base", ypos="base",trans=d3) - elif cho_mood >= 50: + elif states.cho.mood >= 50: cho "I can't believe you've done this!" ("scream", "wide", "angry", "mid", xpos="base", ypos="base",trans=d3) cho "" ("upset", "wide", "angry", "mid") - call describe_mood("Cho", cho_mood) + call describe_mood("Cho", states.cho.mood) call tutorial("moodngifts") else: if game.daytime: @@ -47,9 +47,9 @@ label cho_summon_setup: else: cho "Good evening, [name_genie_cho]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - if cho_tier == 1: + if states.cho.tier == 1: # Intro hints - if not ss_he.cho_E1 or not cho_intro.E3_complete: + if not states.sna.ev.hangouts.cho_e1 or not states.cho.ev.intro.e4_complete: label .hint_menu: @@ -60,9 +60,9 @@ label cho_summon_setup: cho "Yes!" ("angry", "base", "base", "mid") gen "Right..." ("base", xpos="far_left", ypos="head") gen "(Hmm... I think I could use this tension between those two...)" ("base", xpos="far_left", ypos="head") - if not ss_he.cho_E1: + if not states.sna.ev.hangouts.cho_e1: gen "(Better tell Snape about my plan before confronting Miss Granger...)" ("base", xpos="far_left", ypos="head") - elif not cho_intro.E3_complete: + elif not states.cho.ev.intro.e4_complete: gen " (I should probably talk to Hermione...)" ("base", xpos="far_left", ypos="head") jump cho_summon_setup.hint_menu @@ -70,7 +70,7 @@ label cho_summon_setup: "-Dismiss Her-": stop music fadeout 3.0 - if cho_mood == 0: + if states.cho.mood == 0: cho "Goodbye, [name_genie_cho]." (face="happy") else: cho "Goodbye, [name_genie_cho]." (face="annoyed") diff --git a/game/scripts/characters/cho/gifts.rpy b/game/scripts/characters/cho/gifts.rpy index 5cc50cbb..78572770 100644 --- a/game/scripts/characters/cho/gifts.rpy +++ b/game/scripts/characters/cho/gifts.rpy @@ -5,21 +5,21 @@ label give_cho_gift(gift_item): with d5 cho "" (xpos="mid", ypos="base", trans=d5) - $ gave_cho_gift = True + $ states.cho.gifted = True if gift_item == lollipop_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Sweets?" (pupils="down", face="horny", xpos="mid", ypos="base") cho "My team captain hasn't let me buy any to keep my blood sugar balanced, whatever that means." (mouth="soft", face="annoyed") call give_gift("You give the sweets to Cho...",gift_item) cho "But thanks, [name_genie_cho]." (face="neutral") call cho_mood(-2) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Sweets?" (pupils="down", face="horny", xpos="mid", ypos="base") call give_gift("You give the sweets to Cho...",gift_item) cho "Thank you, [name_genie_cho] I do think I deserve one at least after winning our first match." ("smile", "base", "base", "L") call cho_mood(-2) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Sweets?" (pupils="down", face="horny", xpos="mid", ypos="base") cho "But we're up against Gryffindor soon, I don't want to get addicted to sugar..." (mouth="soft", face="annoyed") call give_gift("You give the sweets to Cho...",gift_item) @@ -34,19 +34,19 @@ label give_cho_gift(gift_item): call cho_mood(-1) elif gift_item == chocolate_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Chocolate?" (pupils="down", face="horny", xpos="mid", ypos="base") cho "I probably shouldn't... although." (pupils="R", face="horny") call give_gift("You give the chocolate to Cho...",gift_item) cho "I'll take it, [name_genie_cho]!" (face="happy") call cho_mood(-2) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Chocolate... now that would be a treat..." (pupils="down", face="horny", xpos="mid", ypos="base") call give_gift("You give the chocolate to Cho...",gift_item) cho "What the heck, I deserve it." ("smile", "base", "base", "L") cho "Thank you, [name_genie_cho]." ("open", "base", "base", "L") call cho_mood(-2) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Chocolate?" (pupils="down", face="horny", xpos="mid", ypos="base") cho "But we're up against Gryffindor soon, I don't want to get addicted to sugar..." (mouth="soft", face="annoyed") call give_gift("You give the chocolate to Cho...",gift_item) @@ -61,19 +61,19 @@ label give_cho_gift(gift_item): call cho_mood(-2) elif gift_item == plush_owl_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "A toy?" (face="annoyed", xpos="mid", ypos="base") call give_gift("You give the stuffed owl to Cho...",gift_item) cho "My team would probably laugh if they saw me with this..." (mouth="open", face="annoyed") cho "I guess it's cute..." (face="annoyed") call cho_mood(0) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "A toy?" (pupils="down", face="horny", xpos="mid", ypos="base") call give_gift("You give the stuffed owl to Cho...",gift_item) cho "That's very nice of you [name_genie_cho] but I'd probably be made fun of owning this..." ("annoyed", "base", "base", "mid") cho "I guess I could give it to someone." ("open", "base", "base", "down") call cho_mood(0) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "A toy?" (pupils="down", face="horny", xpos="mid", ypos="base") call give_gift("You give the stuffed owl to Cho...",gift_item) cho "I'm not a child [name_genie_cho]..." ("annoyed", "base", "base", "mid") @@ -87,18 +87,18 @@ label give_cho_gift(gift_item): call cho_mood(0) elif gift_item == butterbeer_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Butterbeer?" (face="disgusted", xpos="mid", ypos="base") cho "Isn't this supposed to be alcoholic? I'm not supposed to drink during the season..." (face="annoyed") call cho_mood(1) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Butterbeer?" (pupils="down", face="horny", xpos="mid", ypos="base") cho "Yes, I'll take it... turns out my team mates had been lying about the alcohol content to mess with me." ("open", "narrow", "base", "mid") cho "I guess I'll finally find out what I've been missing out on!" ("soft", "base", "raised", "L") call give_gift("You give the Butterbeer to Cho...",gift_item) cho "Thank you, [name_genie_cho]." (face="neutral") call cho_mood(-2) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Butterbeer?" (pupils="down", face="horny", xpos="mid", ypos="base") cho "It's a bit tame isn't it? I chugged a lot of it after our last win and can't say I felt a buzz even." ("open", "narrow", "base", "L") call give_gift("You give the Butterbeer to Cho...",gift_item) @@ -112,18 +112,18 @@ label give_cho_gift(gift_item): call cho_mood(0) elif gift_item == science_mag_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Oh, I heard that they put out a new formula for broom polish in this issue." (mouth="open", pupils="R", face="neutral", xpos="mid", ypos="base") call give_gift("You give an assortment of educational magazines to Cho...",gift_item) cho "Thank you, [name_genie_cho]." (face="neutral") call cho_mood(-1) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "*Hmm*... Broom aerodynamics and how to utilise your opponents slipstream..." (pupils="down", face="horny", xpos="mid", ypos="base") cho "Interesting..." ("smile", "base", "base", "mid") call give_gift("You give an assortment of educational magazines to Cho...",gift_item) cho "Thank you, [name_genie_cho]." (face="neutral") call cho_mood(-1) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Five steps to modify your brooms legally..." (pupils="down", face="horny", xpos="mid", ypos="base") cho "Sounds useful." ("smile", "base", "base", "mid") call give_gift("You give an assortment of educational magazines to Cho...",gift_item) @@ -137,18 +137,18 @@ label give_cho_gift(gift_item): call cho_mood(-1) elif gift_item == girls_mag_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Girls magazines, what do you think I am... a gi--" (pupils="down", face="horny", xpos="mid", ypos="base") cho "I'm good thank you..." ("open", "base", "base", "L",xpos="mid",ypos="base") call cho_mood(0) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Girls magazines?" (pupils="down", face="annoyed", xpos="mid", ypos="base") call give_gift("You give an assortment of rather girly magazines to Cho...",gift_item) cho "I don't usually read these types of magazines, the boys used to make fun of me for it." (face="annoyed") cho "But they can't get into the girls dorm." (face="neutral") cho "Thank you, [name_genie_cho]." (face="neutral") call cho_mood(-1) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Girls magazines?" (pupils="down", face="horny", xpos="mid", ypos="base") call give_gift("You give an assortment of rather girly magazines to Cho...",gift_item) cho "They do have some interesting stuff on skincare I suppose..." ("annoyed", "closed", "base", "mid") @@ -163,19 +163,19 @@ label give_cho_gift(gift_item): call cho_mood(-1) elif gift_item == adult_mag_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Adult magazines?" ("angry", "wide", "raised", "mid",xpos="mid",ypos="base") cho "This is highly inappropriate [name_genie_cho]!" ("scream", "narrow", "raised", "mid") cho "Is this the kind of thing you usually give to people?" ("angry", "base", "base", "L") call cho_mood(1) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Adult magazines?" (face="disgusted", xpos="mid", ypos="base") call give_gift("You give an assortment of adult magazines to Cho...",gift_item) cho "These people do have nice, posture..." (face="horny") cho "I... I guess they could be useful." (face="horny") cho "Thank you, [name_genie_cho]." (face="neutral") call cho_mood(-1) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Adult magazines?" (pupils="down", face="horny", xpos="mid", ypos="base") call give_gift("You give an assortment of adult magazines to Cho...",gift_item) cho "They're all so fit in these magazines, totally my type." ("open", "wide", "raised", "down") @@ -192,19 +192,19 @@ label give_cho_gift(gift_item): call cho_mood(-2) elif gift_item == porn_mag_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "What is this!?!" ("angry", "wide", "raised", "mid",xpos="mid",ypos="base") cho "Porn magazines?" ("open", "wide", "angry", "mid") cho "Sir, why would you even think of giving me something like this?" ("scream", "narrow", "angry", "L",xpos="mid",ypos="base") cho "" ("angry", "base", "angry", "down") call cho_mood(3) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "What is this?" (pupils="down", face="horny", xpos="mid", ypos="base") cho "Porn magazines? Sir, that's too much even for you..." ("annoyed", "narrow", "base", "down") cho "Is that a snitch in her sna-- No... just no..." ("open", "wide", "raised", "down") cho "" ("angry", "base", "angry", "down") call cho_mood(2) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "What's this?" (face="annoyed", xpos="mid", ypos="base") call give_gift("You give an assortment of porn magazines to Cho...",gift_item) cho "What's with these positions? Is that a broom handle up her..." (mouth="open",eyes="wide",eyebrows="raised", pupils="down") @@ -220,14 +220,14 @@ label give_cho_gift(gift_item): call cho_mood(-3) elif gift_item == krum_poster_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "A Viktor Krum poster?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") cho "Professor, he doesn't have his shirt on!" ("scream", "wide", "base", "down") cho "That's...{w=0.3} highly inappropriate..." ("open", "narrow", "base", "downR") cho "I can't...{w=0.3} I can't accept this." ("upset", "closed", "base", "mid") cho "" ("base", "base", "base", "mid") call cho_mood(0) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "A Viktor Krum poster?" (mouth="soft", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") cho "He really is quite muscular isn't he..." ("open", "narrow", "base", "down") cho "I'll use it..." ("smile", "base", "base", "mid") @@ -235,7 +235,7 @@ label give_cho_gift(gift_item): cho "As a motivational poster that is!" ("open", "wide", "raised", "L") cho "Thank you [name_genie_cho]." (face="neutral") call cho_mood(-2) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "A Viktor Krum poster?" (mouth="smile", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") cho "Wasn't his nudes leaked in Wizard Hunks weekly?" ("open", "narrow", "base", "mid") cho "..." ("angry", "wide", "raised", "down") @@ -252,19 +252,19 @@ label give_cho_gift(gift_item): call cho_mood(-5) elif gift_item == sexy_lingerie_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Lingerie?" ("annoyed", "narrow", "raised", "down",xpos="mid",ypos="base") cho "Sir, are you expecting me to wear this?" ("open", "wide", "raised", "mid") cho "Are you insane?!" ("scream", "wide", "raised", "L") cho "No thank you..." ("open", "base", "angry", "down") cho "" ("annoyed", "base", "base", "mid") call cho_mood(2) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Lingerie?" ("annoyed", "narrow", "base", "down",xpos="mid",ypos="base") cho "Why would I want this? I have plenty of clothes I like already..." ("open", "wide", "raised", "down") cho "I'll pass on that one, thanks." ("base", "base", "base", "mid") call cho_mood(0) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Lingerie?" (face="annoyed", xpos="mid", ypos="base") cho "Seems pretty flexible. I might be able use these when stretching." (mouth="annoyed", pupils="down", face="annoyed") call give_gift("You give the lingerie to Cho...",gift_item) @@ -280,19 +280,19 @@ label give_cho_gift(gift_item): call cho_mood(-3) elif gift_item == sexy_stockings_ITEM : - if cho_tier <= 1: + if states.cho.tier <= 1: cho "stockings?" ("annoyed", "narrow", "raised", "down",xpos="mid",ypos="base") cho "Surely that must be against some kind of dresscode..." ("open", "wide", "raised", "mid") cho "I'll pass..." ("open", "base", "angry", "down") cho "" ("annoyed", "base", "base", "mid") call cho_mood(1) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Stockings?" ("annoyed", "narrow", "base", "down",xpos="mid",ypos="base") cho "I guess I wont get sunburnt on my legs wearing these..." ("open", "narrow", "base", "mid") call give_gift("You give the lingerie to Cho...",gift_item) cho "Thank you [name_genie_cho]." (face="neutral") call cho_mood(-1) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Stockings?" ("annoyed", "narrow", "base", "down",xpos="mid",ypos="base") cho "I can almost see right through these..." (mouth="annoyed", pupils="down", face="annoyed") call give_gift("You give the lingerie to Cho...",gift_item) @@ -304,18 +304,18 @@ label give_cho_gift(gift_item): call cho_mood(0) elif gift_item == pink_condoms_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Condoms?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") cho "You're expecting me to go and fuck the teachers, is that what you want?" ("scream", "narrow", "raised", "L") cho "I'm not one of those Slytherin skanks that impale themselves on the daily." ("angry", "narrow", "base", "mid") cho "You can take those and go fuck yourself with them..." ("soft", "narrow", "angry", "mid") call cho_mood(2) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Condoms?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") cho "I'm not the kind of girl to go around banging everything I come across..." ("soft", "base", "base", "down") cho "Thanks but no thanks..." ("open", "base", "base", "mid") call cho_mood(1) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Condoms?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") cho "Are you expecting that I should use these? I know safe sex is important and all but I know what you're insinuating." ("angry", "narrow", "raised", "L") cho "Keep them..." ("soft", "base", "base", "down") @@ -329,18 +329,18 @@ label give_cho_gift(gift_item): call cho_mood(-2) elif gift_item == vibrator_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "A vibrator?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") cho "Sir, are you out of your mind?" ("scream", "wide", "raised", "L") cho "I'm your student for crying out loud, giving gifts in general is a bit weird but sex toys..." ("angry", "wide", "base", "mid") cho "Seriously?!" ("scream", "wide", "raised", "L") call cho_mood(3) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "A vibrator?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") cho "Why would you give me that..." ("angry", "base", "base", "down") cho "Give it to Granger, I'm sure she'd love to accept a sex toy from her headmaster." ("smile", "narrow", "angry", "mid") call cho_mood(2) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "A vibrator?" (face="horny", xpos="mid", ypos="base") cho "Sir, I don't think this would be appropriate to bring to my dorm..." ("soft", "narrow", "base", "down") cho "The girls... they'd hear it... not that I want it or anything!" ("quiver", "wide", "base", "downR") @@ -353,17 +353,17 @@ label give_cho_gift(gift_item): call cho_mood(-3) elif gift_item == anal_lube_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "A lubricant?" (face="annoyed", xpos="mid", ypos="base") cho "What the hell, why do you think this is an appropriate gift? What's wrong with you..." ("angry", "wide", "raised", "L") cho "Senile old man..." ("angry", "narrow", "base", "mid") call cho_mood(4) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "A lubricant?" (face="annoyed", xpos="mid", ypos="base") cho "*Ew* Why are you giving me this... when would I ever have the need for lube." ("angry", "wide", "raised", "down") cho "Give it to one of those Slytherin skanks, they probably go through a ton of it every week." ("base", "narrow", "raised", "mid") call cho_mood(3) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Anal lube?" (face="annoyed", xpos="mid", ypos="base") cho "Why would I need something like this? The broom goes under my butt, not in my butt..." ("soft", "wide", "raised", "L") call cho_mood(0) @@ -375,17 +375,17 @@ label give_cho_gift(gift_item): call cho_mood(-5) elif gift_item == ballgag_and_cuffs_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Ball gag... and cuffs?" (pupils="down", face="annoyed", xpos="mid", ypos="base") cho "Wait, is this a sex thing?" ("soft", "wide", "raised", "mid") cho "Professor, that's disgusting... why would you give me this." ("angry", "wide", "raised", "mid") call cho_mood(4) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Ball gag and cuffs?" (pupils="down", face="annoyed", xpos="mid", ypos="base") cho "Sir, this is highly inappropriate gift to give to a student!" ("scream", "narrow", "raised", "mid") cho "Why would you give me these, how is this going to help me with Quidditch?" ("angry", "base", "base", "mid") call cho_mood(3) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Ball gag and cuffs?" (face="annoyed", xpos="mid", ypos="base") cho "I prefer not to lock myself up, I'm a free spirit." ("soft", "base", "raised", "L") cho "Thanks... but no thanks." ("open", "base", "base", "mid") @@ -398,18 +398,18 @@ label give_cho_gift(gift_item): call cho_mood(-3) elif gift_item == anal_plugs_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Anal plugs?" (face="annoyed", xpos="mid", ypos="base") cho "That's disgusting... why do you think it's a good idea to give these to me?" ("angry", "wide", "raised", "L") cho "That one has a tail on it..." ("angry", "narrow", "raised", "mid") call cho_mood(4) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Anal plugs?" (face="annoyed", xpos="mid", ypos="base") cho "Why do you have these? They're not used are they..." ("angry", "wide", "raised", "L") cho "*Ew* Just, no..." ("open", "narrow", "raised", "mid") cho "" ("annoyed", "base", "base", "mid") call cho_mood(3) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Anal plugs?" (face="annoyed", xpos="mid", ypos="base") cho "Sir, are you expecting me to wear this?" ("angry", "base", "base", "L") cho "During Quidditch?" ("angry", "wide", "raised", "L") @@ -426,18 +426,18 @@ label give_cho_gift(gift_item): call cho_mood(-2) elif gift_item == testral_strapon_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Is that a strap-on?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") cho "It's huge!" ("scream", "wide", "raised", "L") cho "I mean, why are you showing me this?" ("annoyed", "narrow", "base", "mid") cho "get it away from me." ("soft", "narrow", "base", "mid") call cho_mood(3) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "A strap-on?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") cho "Seriously? Why are you giving me this..." ("angry", "wide", "base", "down") cho "That's disgusting..." ("open", "narrow", "base", "mid") call cho_mood(2) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "A strap-on?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") cho "But it's so big..." ("horny", "wide", "raised", "mid") cho "I.. I don't want it..." ("open", "narrow", "base", "down") @@ -450,19 +450,19 @@ label give_cho_gift(gift_item): call cho_mood(-1) elif gift_item == broom_2000_ITEM: - $ cho_received_thestral = True + $ states.cho.ev.quidditch.given_thestral = True - if cho_tier <= 1: + if states.cho.tier <= 1: cho "A broom... yes! Finally something better than my old--" (mouth="scream", eyes="wide", eyebrows="raised", pupils="down", xpos="mid", ypos="base") cho "Hold on, is that a double ended dildo sticking out of it?!?" ("angry", "wide", "base", "mid") cho "What's wrong with you?" ("scream", "wide", "base", "L") cho "Get that away from my... from me!" ("angry", "narrow", "base", "mid") call cho_mood(4) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Is that a broom with dildos on it?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") cho "Professor, seriously... why... just why." ("angry", "narrow", "base", "mid") call cho_mood(2) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "A broom?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") cho "A sex broom? Where did you even get this..." ("open", "wide", "raised", "mid") cho "No..{w=0.3} I don't...{w=0.3} I don't want that." ("horny", "narrow", "base", "mid") @@ -476,18 +476,18 @@ label give_cho_gift(gift_item): call cho_mood(-6) elif gift_item == sexdoll_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "A sex doll? What the heck... why do you have this?" (face="annoyed", xpos="mid", ypos="base") cho "And more importantly..." ("smile", "closed", "base", "mid") cho "{size=+4}Why are you giving it to me?{/size}" ("scream", "wide", "base", "L") cho "You disgust me..." ("open", "narrow", "angry", "mid") call cho_mood(4) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "A sex doll?" (face="annoyed", xpos="mid", ypos="base") cho "Why would you give this to me? Wait, did you use this?" ("angry", "wide", "base", "L") cho "Get it away from me..." ("open", "wide", "raised", "L") call cho_mood(3) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "A sex doll?" (face="annoyed", xpos="mid", ypos="base") cho "Why would I need this, it's a girl doll..." ("annoyed", "wide", "base", "L") cho "I mean, why would I need a sex doll in general. I'm not into this sort of thing..." ("open", "wide", "raised", "mid") @@ -500,17 +500,17 @@ label give_cho_gift(gift_item): call cho_mood(-7) elif gift_item == anal_beads_ITEM: - if cho_tier <= 1: + if states.cho.tier <= 1: cho "Anal beads?" (face="annoyed", xpos="mid", ypos="base") cho "Yeah, that's not going anywhere near their intended target..." ("angry", "wide", "raised", "L") call cho_mood(4) - elif cho_tier == 2: + elif states.cho.tier == 2: cho "Anal beads?" (face="annoyed", xpos="mid", ypos="base") cho "How... where did you..." ("angry", "wide", "raised", "L") cho "*Gross!" ("open", "narrow", "raised", "mid") cho "" ("annoyed", "base", "base", "mid") call cho_mood(3) - elif cho_tier == 3: + elif states.cho.tier == 3: cho "Anal beads?" (face="annoyed", xpos="mid", ypos="base") cho "Sir, how would I be able to sit on a broom if I used these?" ("angry", "base", "base", "L") cho "Not that I would ever use them!" ("angry", "wide", "raised", "L") @@ -526,7 +526,7 @@ label give_cho_gift(gift_item): call cho_mood(-2) elif gift_item == wine_ITEM: - if cho_tier <= 2: + if states.cho.tier <= 2: cho "A wine bottle?" (face="annoyed", xpos="mid", ypos="base") cho "[name_genie_cho], I cannot drink alcohol, it would ruin my career.." ("open", "narrow", "angry", "mid") call cho_mood(4) @@ -562,9 +562,9 @@ label cho_mood(value=0): else: "Cho's mood hasn't changed." - $ was_negative = cho_mood > 0 - $ cho_mood = max(min(cho_mood+value, 100), 0) + $ was_negative = states.cho.mood > 0 + $ states.cho.mood = max(min(states.cho.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, cho_mood, value) + call describe_mood_after_gift(was_negative, states.cho.mood, value) return diff --git a/game/scripts/characters/cho/summon.rpy b/game/scripts/characters/cho/summon.rpy index f1dcd311..ce589a20 100644 --- a/game/scripts/characters/cho/summon.rpy +++ b/game/scripts/characters/cho/summon.rpy @@ -3,29 +3,28 @@ label summon_cho: #play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed #play sound "sounds/door.ogg" - $ active_girl = "cho" - $ last_character = "cho" + $ states.active_girl = "cho" - $ cho_busy = True - #call update_cho_tier + $ states.cho.busy = True + #call update_states.cho.tier call update_cho $ renpy.checkpoint(hard=True) - if has_cho_panties: - if cho_tier == 2: + if states.cho.ev.panty_thief.acquired: + if states.cho.tier == 2: jump cho_panties_response_T2 - elif cho_tier == 3: + elif states.cho.tier == 3: jump cho_panties_response_T3 # Slytherin Quidditch Intro. - if cho_tier == 2 and not cho_quid.E5_complete: + if states.cho.tier == 2 and not states.cho.ev.quidditch.e5_complete: jump cho_quid_E5 # Gryffindor Quidditch Intro. - elif cho_tier == 3 and not cho_quid.E10_complete: + elif states.cho.tier == 3 and not states.cho.ev.quidditch.e10_complete: jump cho_quid_E10 # Quidditch Outro - elif cho_tier == 4 and not cho_quid.E14_complete: + elif states.cho.tier == 4 and not states.cho.ev.quidditch.e14_complete: jump cho_quid_E14 # Clothes Events @@ -40,8 +39,8 @@ label summon_cho: menu: # Main Matches - "-Start Hufflepuff Match-" (icon="interface/icons/small/huff.webp") if (cho_tier == 1 and hufflepuff_match == "ready"): - if cho_reputation == 0: + "-Start Hufflepuff Match-" (icon="interface/icons/small/huff.webp") if (states.cho.tier == 1 and states.cho.ev.quidditch.hufflepuff_stage == "ready"): + if states.cho.public_level == 0: gen "(If I want Cho to do anything in public with those {i}Muffletuffs{/i} I better do it before the match.)" ("base", xpos="far_left", ypos="head") gen "(Although maybe not...)" ("base", xpos="far_left", ypos="head") menu: @@ -52,8 +51,8 @@ label summon_cho: jump cho_requests jump start_hufflepuff_match - "-Start Slytherin Match-" (icon="interface/icons/small/slyt.webp") if (cho_tier == 2 and slytherin_match == "ready" and cho_quid.E7_complete): - if cho_reputation <= 3: + "-Start Slytherin Match-" (icon="interface/icons/small/slyt.webp") if (states.cho.tier == 2 and states.cho.ev.quidditch.slytherin_stage == "ready" and states.cho.ev.quidditch.e7_complete): + if states.cho.public_level <= 3: gen "(If I want Cho to do anything in public with those {i}Slythershits{/i} I better do it before the match.)" ("base", xpos="far_left", ypos="head") gen "(Although maybe not...)" ("base", xpos="far_left", ypos="head") menu: @@ -64,8 +63,8 @@ label summon_cho: jump cho_requests jump start_slytherin_match - "-Start Gryffindor Match-" (icon="interface/icons/small/gryf.webp") if (cho_tier == 3 and gryffindor_match == "ready" and cho_quid.E13_complete): - if cho_reputation <= 6: + "-Start Gryffindor Match-" (icon="interface/icons/small/gryf.webp") if (states.cho.tier == 3 and states.cho.ev.quidditch.gryffindor_stage == "ready" and states.cho.ev.quidditch.e13_complete): + if states.cho.public_level <= 6: gen "(If I want Cho to do anything in public with those {i}Gryphoncucks{/i} I better do it before the match.)" ("base", xpos="far_left", ypos="head") gen "(Although maybe not...)" ("base", xpos="far_left", ypos="head") @@ -83,7 +82,7 @@ label summon_cho: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if cho_mood > 0: + if states.cho.mood > 0: cho "I have nothing to say to you, [name_genie_cho]..." (face="annoyed") jump cho_requests @@ -91,10 +90,10 @@ label summon_cho: jump cho_talk # Quidditch Training - "-Training-" (icon="interface/icons/small/quidditch.webp") if cho_tier < 4 and not cho_quid.lock_training: - if cho_mood > 0: + "-Training-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier < 4 and not states.cho.ev.quidditch.lock_training: + if states.cho.mood > 0: gen "Ready to get back to training?" ("base", xpos="far_left", ypos="head") - if cho_mood >= 5: + if states.cho.mood >= 5: cho "No.{w=0.5} And I don't want to hear of it right now, Sir." (face="angry") else: cho "I'm sorry, [name_genie_cho]. But I don't feel like training today." ("soft", "base", "worried", "down") @@ -103,32 +102,32 @@ label summon_cho: jump cho_training - "-Training-" (icon="interface/icons/small/quidditch.webp", style="disabled") if cho_tier < 4 and cho_quid.lock_training: + "-Training-" (icon="interface/icons/small/quidditch.webp", style="disabled") if states.cho.tier < 4 and states.cho.ev.quidditch.lock_training: gen "(She's as ready as one can be.)" ("base", xpos="far_left", ypos="head") jump cho_requests - "-Sexual favours-" (icon="interface/icons/small/condom.webp") if cho_favors_unlocked: - if cho_mood > 0: + "-Sexual favours-" (icon="interface/icons/small/condom.webp") if states.cho.favors_unlocked: + if states.cho.mood > 0: cho "I'm sorry, [name_genie_cho]. But I don't feel like it today..." ("upset", "base", "worried", "mid") jump cho_requests else: jump cho_favor_menu - "-Sexual favours-" (icon="interface/icons/small/condom.webp", style="disabled") if not cho_favors_unlocked: - if cho_tier == 1: + "-Sexual favours-" (icon="interface/icons/small/condom.webp", style="disabled") if not states.cho.favors_unlocked: + if states.cho.tier == 1: gen "(I need to help her with her Quidditch training, before I can ask for something like this.)" ("base", xpos="far_left", ypos="head") - elif cho_tier == 4: + elif states.cho.tier == 4: gen "(I have a feeling this is as far as I can progress with her at the moment.)" ("base", xpos="far_left", ypos="head") else: gen "(I should ask her about the next Quidditch match first. See who we're up against...)" ("base", xpos="far_left", ypos="head") jump cho_requests - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if cho_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.cho.wardrobe_unlocked: hide cho_main with d1 call wardrobe jump cho_requests - "-Hidden-" (style="disabled") if not cho_wardrobe_unlocked: + "-Hidden-" (style="disabled") if not states.cho.wardrobe_unlocked: nar "You haven't unlocked this feature yet." jump cho_requests @@ -141,7 +140,7 @@ label summon_cho: "-Dismiss Her-": stop music fadeout 3.0 - if cho_mood == 0: + if states.cho.mood == 0: cho "Goodbye, [name_genie_cho]." ("base", "base", "base", "mid") else: cho "Goodbye, [name_genie_cho]." ("annoyed", "base", "base", "L") @@ -162,7 +161,7 @@ label cho_favor_menu: for i in cc_favor_list: if i in []: # Not in the game yet. menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > cho_tier: + elif i.start_tier > states.cho.tier: menu_choices.append(gui.menu_item("-Not ready-", "vague", style="disabled")) else: menu_choices.append(i.get_menu_item()) @@ -181,14 +180,14 @@ label cho_favor_menu: else: $ renpy.jump(result) - "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime or not cho_requests_unlocked: - if not cho_requests_unlocked: + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime or not states.cho.requests_unlocked: + if not states.cho.requests_unlocked: nar "Progress further to unlock public requests." elif not game.daytime: nar "Public requests are available during the day only." jump cho_favor_menu - "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and cho_requests_unlocked: + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and states.cho.requests_unlocked: jump cho_requests_menu "-Never mind-": @@ -197,7 +196,7 @@ label cho_favor_menu: label update_cho_favors: python: for i in cc_favor_list: - i.tier = cho_tier + i.tier = states.cho.tier return # Cho Requests Menu @@ -209,7 +208,7 @@ label cho_requests_menu: if i in []: # Not in the game yet. menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) menu_choices.append(gui.menu_item()) - elif i.start_tier > cho_tier: + elif i.start_tier > states.cho.tier: menu_choices.append(gui.menu_item("-Not ready-", "vague", style="disabled")) else: menu_choices.append(i.get_menu_item()) @@ -231,7 +230,7 @@ label update_cho_requests: # Set event tier to current Cho tier if they are different python: for i in cc_requests_list: - i.tier = cho_tier + i.tier = states.cho.tier return label favor_not_ready: diff --git a/game/scripts/characters/cho/talk.rpy b/game/scripts/characters/cho/talk.rpy index 57cad6cd..03d22a93 100644 --- a/game/scripts/characters/cho/talk.rpy +++ b/game/scripts/characters/cho/talk.rpy @@ -3,18 +3,18 @@ label cho_talk: menu: #"-Working-": - "-Discuss Quidditch Training-" (icon="interface/icons/small/quidditch.webp") if not cho_quid.lock_training: - if cho_tier == 1: + "-Discuss Quidditch Training-" (icon="interface/icons/small/quidditch.webp") if not states.cho.ev.quidditch.lock_training: + if states.cho.tier == 1: jump cc_ht_talk - elif cho_tier == 2: + elif states.cho.tier == 2: jump cc_st_talk - elif cho_tier == 3: + elif states.cho.tier == 3: jump cc_gt_talk jump cho_talk # Naming - "\"-Address me only as-\"" if cho_quid.E1_complete: + "\"-Address me only as-\"" if states.cho.ev.quidditch.e1_complete: menu: "\"-Sir-\"": $ name_genie_cho = "Sir" @@ -30,7 +30,7 @@ label cho_talk: $ name_genie_cho = "Captain" "\"-Old Man-\"": $ name_genie_cho = "Old Man" - "\"-Daddy-\"" if cho_tier >= 4: + "\"-Daddy-\"" if states.cho.tier >= 4: $ name_genie_cho = "Daddy" "-Custom Input-": $ name_genie_cho = renpy.input("(Please enter the name.)", name_genie_cho, ALLOWED_CHARACTERS, length=14).strip() or "Professor" @@ -39,7 +39,7 @@ label cho_talk: jump genie_cho_change - "\"-From now on I will refer to you as-\"" if cho_quid.E1_complete: + "\"-From now on I will refer to you as-\"" if states.cho.ev.quidditch.e1_complete: menu: "\"-Miss Chang-\"": $ name_cho_genie = "Miss Chang" @@ -55,9 +55,9 @@ label cho_talk: $ name_cho_genie = "Tomboy" "\"-Boy-\"": $ name_cho_genie = "Boy" - "\"-Champ-\"" if cho_tier >= 4: + "\"-Champ-\"" if states.cho.tier >= 4: $ name_cho_genie = "Champ" - "\"-Slut-\"" if cho_tier >= 4: + "\"-Slut-\"" if states.cho.tier >= 4: $ name_cho_genie = "Slut" "-Custom Input-": $ name_cho_genie = renpy.input("(Please enter the name.)", name_cho_genie, ALLOWED_CHARACTERS, length=14).strip() or "Miss Chang" @@ -110,7 +110,7 @@ label name_cho_genie: gen "..." ("base", xpos="far_left", ypos="head") cho "Yes [name_genie_cho]!" ("angry", "happyCl", "base", "mid") elif name_cho_genie == "Tomboy": - if cho_tier <= 3: + if states.cho.tier <= 3: cho "Tomboy?" ("soft", "base", "base", "mid") gen "Is that not accurate?" ("base", xpos="far_left", ypos="head") cho "I--{w=0.4} I suppose..." ("angry", "narrow", "base", "down") @@ -122,7 +122,7 @@ label name_cho_genie: cho "*Hmph*..." ("annoyed", "narrow", "base", "R", cheeks="blush") cho "Fine... I guess that's fair..." ("open", "narrow", "base", "R", cheeks="blush") elif name_cho_genie == "Boy": - if cho_tier <= 3: + if states.cho.tier <= 3: cho "You want to call me what?!" ("angry", "base", "base", "mid") gen "Boy!" ("base", xpos="far_left", ypos="head") cho "But [name_genie_cho]!" ("disgust", "narrow", "base", "mid") @@ -151,7 +151,7 @@ label name_cho_genie: cho "..." ("horny", "narrow", "base", "stare", cheeks="heavy_blush") #horny cho "*Ah*...{w=0.4} Yes, I suppose that's fine..." ("soft", "narrow", "base", "mid", cheeks="heavy_blush") elif name_cho_genie == "Princess": #Custom choice - if cho_tier <= 3: + if states.cho.tier <= 3: cho "Princess?!" ("angry", "base", "base", "mid") gen "Yes, is that a problem?" ("base", xpos="far_left", ypos="head") cho "It's... It's a bit girly don't you think?" ("clench", "narrow", "base", "mid", cheeks="blush") diff --git a/game/scripts/characters/cho/vars.rpy b/game/scripts/characters/cho/vars.rpy index 77411582..1f6007f6 100644 --- a/game/scripts/characters/cho/vars.rpy +++ b/game/scripts/characters/cho/vars.rpy @@ -1,45 +1,84 @@ -# Main -default use_cho_head = False +# General states -# Stats -default cho_tier = 1 -default cho_whoring = 0 -default cho_reputation = 0 -default cho_mood = 0 -default cho_jerk_off_counter = 0 +default states.cho.tier = 1 +default states.cho.level = 0 +default states.cho.public_tier = 0 # TODO: Not in use. +default states.cho.public_level = 0 +default states.cho.mood = 0 +default states.cho.unlocked = False +default states.cho.busy = False +default states.cho.gifted = False +default states.cho.favors_unlocked = False +default states.cho.requests_unlocked = False +default states.cho.wardrobe_unlocked = False +default states.cho.wardrobe_scheduling = True +default states.cho.chatted = False +default states.cho.map_location = "training_grounds" -# Flags -default cho_known = False -default cho_unlocked = False -default cho_favors_unlocked = False -default cho_requests_unlocked = False -default cho_strip_complete = False -default cho_wardrobe_unlocked = False -default cho_busy = False -default cho_chatted = False -default has_cho_panties = False -default cho_panties_soaked = False -default cho_outfits_schedule = True -default cho_bj_choice = None # Dynamic string. Valid choices: failed, swallow, throat, points, taste. -default doppler_done = False # For Strip event with Tonks. -default succubus_done = False # For Strip event with Tonks. -default cho_received_thestral = False -default cho_hermione_affection = None # Dynamic string. Valid choices: cho, hermione, neither. -default cho_blowjob_done = False +# Sexual activity states -# Intro -default jerked_off_during_cho_intro = False +# default states.cho.status.kissing = False +# default states.cho.status.stripping = False +# default states.cho.status.handjob = False +default states.cho.status.blowjob = False +# default states.cho.status.masturbating = False +# default states.cho.status.sex = False +# default states.cho.status.anal = False -# Quidditch Matches -default hufflepuff_match = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. -default slytherin_match = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. -default gryffindor_match = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. +# Event flags -default name_broom_cho = "Purple Rocket" +default states.cho.ev.intro.masturbated = False +default states.cho.ev.intro.e1_complete = False +default states.cho.ev.intro.e2_complete = False +default states.cho.ev.intro.e3_complete = False +default states.cho.ev.intro.e4_complete = False +default states.cho.ev.panty_thief.acquired = False +default states.cho.ev.panty_thief.soaked = False +default states.cho.ev.suck_it.variant = None # Dynamic string. Valid choices: failed, swallow, throat, points, taste. +default states.cho.ev.inspect_her_body.tonks_doppler_encounter = False +default states.cho.ev.inspect_her_body.tonks_succubus_encounter = False +default states.cho.ev.quidditch.e1_complete = False +default states.cho.ev.quidditch.e2_complete = False +default states.cho.ev.quidditch.e3_complete = False +default states.cho.ev.quidditch.e4_complete = False +default states.cho.ev.quidditch.e5_complete = False +default states.cho.ev.quidditch.e6_complete = False +default states.cho.ev.quidditch.e7_complete = False +default states.cho.ev.quidditch.e8_complete = False +default states.cho.ev.quidditch.e9_complete = False +default states.cho.ev.quidditch.e10_complete = False +default states.cho.ev.quidditch.e11_complete = False +default states.cho.ev.quidditch.e12_complete = False +default states.cho.ev.quidditch.e13_complete = False +default states.cho.ev.quidditch.e14_complete = False +default states.cho.ev.quidditch.given_thestral = False +default states.cho.ev.quidditch.hermione_affection = None # Dynamic string. Valid choices: cho, hermione, neither. +default states.cho.ev.quidditch.hufflepuff_stage = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. +default states.cho.ev.quidditch.hufflepuff_prepared = False # Ready for practice match? (Requirements: tactic) +default states.cho.ev.quidditch.hufflepuff_training = False # Finished Hufflepuff practice match? +default states.cho.ev.quidditch.slytherin_stage = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. +default states.cho.ev.quidditch.slytherin_failed = False # Has failed first training match? +default states.cho.ev.quidditch.slytherin_prepared = False # Ready for practice match? (Requirements: tactic, blackmail Hermione, Tonks' help) +default states.cho.ev.quidditch.slytherin_training = False # Finished Slytherin practice match? +default states.cho.ev.quidditch.gryffindor_stage = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. +default states.cho.ev.quidditch.gryffindor_failed = False # Found a cheerleader? (Requirements: Ask Luna) +default states.cho.ev.quidditch.gryffindor_training = False # Finished Gryffindor practice match? +default states.cho.ev.quidditch.broom_name = "Purple Rocket" +default states.cho.ev.quidditch.position = "" # Valid choices: "front", "above", "close" +default states.cho.ev.quidditch.lock_training = False +default states.cho.ev.quidditch.lock_practice = True +default states.cho.ev.quidditch.lock_tactic = False +default states.cho.ev.quidditch.in_progress = False +default states.cho.ev.quiz.e1_complete = False +default states.cho.ev.quiz.e2_complete = False +default states.cho.ev.quiz.correct_answers = 0 +default states.cho.ev.quiz.checkpoint = False +default states.cho.ev.quiz.lost = False +default states.cho.ev.quiz.complete = False +default states.cho.ev.quiz.hint = "" # Set after reading Quidditch Book # Names + default name_genie_cho = "Professor" default name_cho_genie = "Cho" default name_cho_tonks = "Sweetie" - -default gave_cho_gift = False diff --git a/game/scripts/characters/cho/wardrobe_reactions.rpy b/game/scripts/characters/cho/wardrobe_reactions.rpy index 6cfb1c78..49f00582 100644 --- a/game/scripts/characters/cho/wardrobe_reactions.rpy +++ b/game/scripts/characters/cho/wardrobe_reactions.rpy @@ -59,13 +59,13 @@ label cho_reaction_touch(what): if what == "head": $ mouse_headpat() - if cho_whoring < 10: #Pre Slytherin match (after hufflepuff match) + if states.cho.level < 10: #Pre Slytherin match (after hufflepuff match) random: cho "Are you measuring my height or something?" ("annoyed", "narrow", "base", "mid") cho "Is this supposed to encourage me?" ("disgust", "closed", "base", "mid") cho "You'd usually only pet a dog when they do well with their training you know that right?" ("open", "narrow", "raised", "mid") cho "What next? A treat?" ("soft", "narrow", "base", "R") - elif cho_whoring < 16: # Pre Gryffindor match (after Slytherin match) + elif states.cho.level < 16: # Pre Gryffindor match (after Slytherin match) random: cho "*Hmm*... Well I suppose this is fine... You did help me beat those Slytherins after all." ("soft", "closed", "base", "mid", cheeks="blush") cho "Thank you, but don't we have other things to focus on?" ("open", "narrow", "base", "R", cheeks="blush") @@ -73,7 +73,7 @@ label cho_reaction_touch(what): block: cho "Yes, I do believe I've deserved some praise..." ("base", "base", "base", "mid", cheeks="blush") cho "Although petting is a bit out there as a reward..." ("soft", "base", "base", "R", cheeks="blush") - elif cho_whoring < 22: #Post Gryffindor match (start of tier) + elif states.cho.level < 22: #Post Gryffindor match (start of tier) random: cho "I could get used to this..." ("base", "narrow", "base", "R", cheeks="blush") cho "Thank you [name_genie_cho]..." ("open", "narrow", "base", "down", cheeks="blush") @@ -91,7 +91,7 @@ label cho_reaction_touch(what): elif what == "breasts": $ mouse_heart() - if cho_whoring < 16: # Before Gryffindor match + if states.cho.level < 16: # Before Gryffindor match random: cho "Kissing them for good luck are we?" ("smile", "narrow", "base", "mid", cheeks="blush") @@ -113,7 +113,7 @@ label cho_reaction_touch(what): elif what == "vagina": $ mouse_heart() - if cho_whoring < 16: #Before Gryffindor match + if states.cho.level < 16: #Before Gryffindor match random: cho "*Hmm*... I can appreciate a man who goes for what he wants no matter what..." ("base", "narrow", "base", "mid", cheeks="blush") cho "Such speed... Fancy yourself a seeker do you?" ("smile", "narrow", "base", "mid", cheeks="blush") @@ -194,7 +194,7 @@ label cho_reaction_equip_fail(item): label cho_reaction_unequip(item): ### Example # if item.type == "panties": - # if cho_whoring > 15: + # if states.cho.level > 15: # cho "You want to see my snatch?" # cho "You got it [name_genie_hermione]!" # @@ -239,14 +239,14 @@ label cho_reaction_equip_outfit(item): ######################## if item == cho_outfit_default: gen "Could you put on your normal school uniform?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "Sure." ("soft", "base", "base", "mid") cho "Let me just go change real quick." ("open", "base", "base", "R") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "My regular school uniform?" ("open", "narrow", "raised", "mid") gen "That's the one." ("base", xpos="far_left", ypos="head") cho "Alright, give me a moment..." ("soft", "narrow", "base", "mid") - elif cho_whoring < 16: + elif states.cho.level < 16: cho "With the vest and all?" ("soft", "narrow", "raised", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") cho "*Hmm*...{w=0.3} Is this some sort of trick?" ("annoyed", "narrow", "raised", "mid") @@ -266,7 +266,7 @@ label cho_reaction_equip_outfit(item): ######################## elif item == cho_outfit_cheerleader: #Req 10 whoring gen "Could you wear the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: + if states.cho.level < 16: cho "The cheerleader outfit..." ("soft", "narrow", "base", "down") cho "You want me to cheer for myself or what?" ("angry", "narrow", "raised", "mid") gen "*Heh-Heh*...{w=0.2} Yeah, that sounds funny..." ("grin", xpos="far_left", ypos="head") @@ -326,7 +326,7 @@ label cho_reaction_equip_outfit(item): ############################ elif item == cho_outfit_j_school: #Req 4 (top, bottom) gen "Could you put on the Japanese schoolgirl uniform?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 10: + if states.cho.level < 10: cho "*Hmm*... It's a bit..." ("disgust", "narrow", "base", "down") gen "A bit what?" ("base", xpos="far_left", ypos="head") cho "I don't know..." ("clench", "narrow", "worried", "down") @@ -334,7 +334,7 @@ label cho_reaction_equip_outfit(item): cho "Yes..." ("annoyed", "narrow", "base", "mid", cheeks="blush") gen "I'm sure you'll look great in it then!" ("base", xpos="far_left", ypos="head") cho "...{w=0.3} Alright, fine..." ("disgust", "narrow", "base", "down", cheeks="blush") - elif cho_whoring < 16: + elif states.cho.level < 16: cho "*Hmm*... I guess this is what I'd be wearing if my family had stayed in Asia..." ("soft", "narrow", "base", "down") gen "I thought you said you weren't Japanese?" ("base", xpos="far_left", ypos="head") cho "There's only one Wizard school in Asia and it's in Japan... Surely you'd know this...." ("disgust", "narrow", "base", "mid") @@ -356,7 +356,7 @@ label cho_reaction_equip_outfit(item): ################### elif item == cho_outfit_bikini: #req 14 (bra, panties) gen "I've got this bikini for you to wear today." ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: + if states.cho.level < 16: cho "A Bikini?" ("soft", "narrow", "base", "mid", cheeks="blush") gen "Yep, this one..." ("base", xpos="far_left", ypos="head") cho "..." ("soft", "narrow", "base", "down", cheeks="blush") @@ -379,7 +379,7 @@ label cho_reaction_equip_outfit(item): ########################## elif item == cho_outfit_lacelingerie: #req 14 (bra) gen "Could you put on this lace underwear set?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: + if states.cho.level < 16: cho "This is lingerie isn't it?" ("soft", "narrow", "base", "down", cheeks="blush") gen "Well spotted." ("base", xpos="far_left", ypos="head") cho "I can't say this is the type of underwear I usually like to wear." ("normal", "narrow", "base", "mid", cheeks="blush") @@ -413,7 +413,7 @@ label cho_reaction_equip_outfit(item): #################### elif item == cho_outfit_trainee: #req 10 (top) (Part of clothing event) gen "I've got the perfect outfit for you to wear when you exercise, mind putting it on?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: + if states.cho.level < 16: cho "Did you get a size too small on purpose?" ("disgust", "narrow", "base", "down", cheeks="blush") gen "What do you mean?" ("base", xpos="far_left", ypos="head") cho "That tank top would slide up any time I try to do stretches..." ("angry", "narrow", "base", "mid", cheeks="blush") @@ -431,7 +431,7 @@ label cho_reaction_equip_outfit(item): ################ elif item == cho_outfit_smurfette: #req 15 (no bra, no panties) gen "I've got this smurfette Cosplay for you to wear." ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: + if states.cho.level < 16: cho "Smurf... What?" ("soft", "narrow", "raised", "mid") gen "Ette." ("base", xpos="far_left", ypos="head") cho "*Huh*?" ("annoyed", "base", "base", "mid") @@ -558,7 +558,7 @@ label cho_reaction_equip_outfit_fail(item): ######################## if item == cho_outfit_cheerleader: #Req 10 whoring gen "Could you wear the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "Cheerleader--{w=0.4} [name_genie_cho]!" ("clench", "narrow", "base", "mid") gen "what?" ("base", xpos="far_left", ypos="head") cho "I am a real athlete!" ("disgust", "narrow", "angry", "mid") @@ -586,7 +586,7 @@ label cho_reaction_equip_outfit_fail(item): ################## elif item == cho_outfit_misty: #Req 15 (no bra) gen "Put on this misty cosplay for me will you?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "What on earth is this?!" ("angry", "wide", "base", "down") gen "Misty cosplay..." ("base", xpos="far_left", ypos="head") cho "Who?" ("disgust", "narrow", "angry", "mid") @@ -595,7 +595,7 @@ label cho_reaction_equip_outfit_fail(item): gen "Well, she does obviously... Although it's more of an every day clothing." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "narrow", "base", "mid") cho "Yeah, no thank you..." ("annoyed", "narrow", "angry", "R") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "A cosplay?" ("open", "base", "raised", "mid") cho "Whoa... Who is this Misty girl to be wearing something like this?" ("open", "base", "raised", "down") gen "She's a trainer, much like me." ("base", xpos="far_left", ypos="head") @@ -624,7 +624,7 @@ label cho_reaction_equip_outfit_fail(item): ################## elif item == cho_outfit_party: #Req 16 (bottom) (clothing event unlock, this is a fallback) gen "Can you put on the party outfit?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "The... Party outfit?" ("open", "base", "raised", "mid") gen "Yeah... This one..." ("base", xpos="far_left", ypos="head") cho "..." ("normal", "base", "base", "down") @@ -635,7 +635,7 @@ label cho_reaction_equip_outfit_fail(item): gen "Maybe not from every angle but if you were careful not to--" ("base", xpos="far_left", ypos="head") cho "I am not wearing this!" ("angry", "narrow", "angry", "mid") gen "Alright, No partying for you I guess..." ("base", xpos="far_left", ypos="head") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "This outfit has no underwear!" ("angry", "base", "base", "down") gen "Oh... It doesn't?" ("base", xpos="far_left", ypos="head") cho "It does not..." ("disgust", "narrow", "base", "mid") @@ -655,11 +655,11 @@ label cho_reaction_equip_outfit_fail(item): ################### elif item == cho_outfit_sailor: #Req 18 (bottom, panties) gen "I've got this sailors outfit with your name on it!" ("grin", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "Why would I put on a sailors outfit?" ("soft", "narrow", "base", "mid") gen "Say that again once you've seen it!" ("grin", xpos="far_left", ypos="head") cho "I'd rather not..." ("disgust", "narrow", "base", "mid") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "Why would I put on a sailors outfit in here?" ("soft", "narrow", "raised", "mid") gen "Cause you'd look great in it!" ("grin", xpos="far_left", ypos="head") cho "... Is that the only reason?" ("disgust", "base", "base", "mid") @@ -703,7 +703,7 @@ label cho_reaction_equip_outfit_fail(item): ################### elif item == cho_outfit_bikini: #req 14 (bra, panties) gen "I've got this bikini for you to wear today." ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "A what?!" ("clench", "wide", "base", "mid") gen "Well... It's technically a two piece set..." ("base", xpos="far_left", ypos="head") gen "These ones..." ("base", xpos="far_left", ypos="head") @@ -712,7 +712,7 @@ label cho_reaction_equip_outfit_fail(item): gen "Define regular..." ("base", xpos="far_left", ypos="head") cho "..." ("mad", "narrow", "angry", "mid") gen "Alright, whatever... Forget I said anything..." ("base", xpos="far_left", ypos="head") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "A bikini? Why would I--" ("angry", "narrow", "base", "mid") gen "This one..." ("base", xpos="far_left", ypos="head") cho "[name_genie_cho]!" ("clench", "narrow", "base", "down") @@ -734,7 +734,7 @@ label cho_reaction_equip_outfit_fail(item): ########################## elif item == cho_outfit_lacelingerie: #req 14 (bra) gen "Could you put on this lace underwear set?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "Lace what?" ("soft", "narrow", "raised", "mid") gen "Underwear!" ("base", xpos="far_left", ypos="head") gen "These ones..." ("base", xpos="far_left", ypos="head") @@ -752,7 +752,7 @@ label cho_reaction_equip_outfit_fail(item): cho "..." ("disgust", "narrow", "angry", "mid") gen "Just put them on already before you fail another test!" ("base", xpos="far_left", ypos="head") cho "I think I'll have to take the fail on this one..." ("normal", "narrow", "angry", "mid") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "This is lingerie..." ("disgust", "narrow", "base", "down", cheeks="blush") gen "That it is... Well spotted, seeker." ("base", xpos="far_left", ypos="head") cho "You can see completely through it..." ("angry", "narrow", "base", "down", cheeks="blush") @@ -810,7 +810,7 @@ label cho_reaction_equip_outfit_fail(item): ################ elif item == cho_outfit_smurfette: #req 15 (no bra, no panties) (part of event unlock, this is a fallback) gen "I've got this smurfette Cosplay for you to wear." ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "A Cosplay?" ("angry", "narrow", "base", "mid") gen "Yep, she's that cute--" ("base", xpos="far_left", ypos="head") cho "I am not putting on some cosplay for you..." ("annoyed", "narrow", "angry", "mid") @@ -841,14 +841,14 @@ label cho_reaction_equip_outfit_fail(item): elif item == cho_outfit_chun_li: #req 16 (tattoo's) gen "I've got this cosplay outfit for you to wear." ("base", xpos="far_left", ypos="head") cho "cosplay?" ("normal", "base", "raised", "mid") - if cho_whoring < 4: + if states.cho.level < 4: cho "I'm not putting on a cosplay outfit for you..." ("angry", "narrow", "base", "mid") gen "Why not?" ("base", xpos="far_left", ypos="head") cho "Just look at it!" ("mad", "base", "base", "down") cho "Even the armour has got nipples on it." ("disgust", "narrow", "angry", "down") gen "Indeed, some fine eye for detail!" ("base", xpos="far_left", ypos="head") cho "I'm not wearing it..." ("disgust", "base", "angry", "mid") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "Why is this so revealing?" ("disgust", "narrow", "base", "down") gen "All good cosplays are." ("base", xpos="far_left", ypos="head") cho "Really?" ("annoyed", "narrow", "angry", "mid") @@ -877,7 +877,7 @@ label cho_reaction_equip_outfit_fail(item): gen "Did I say cosplay? I meant uniform!" ("base", xpos="far_left", ypos="head") cho "*Hmm*... Let me see it." ("annoyed", "narrow", "base", "mid") gen "This one." ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "I don't know about that [name_genie_cho]..." ("disgust", "narrow", "base", "down") cho "Looks a lot like cosplay to me..." ("disgust", "narrow", "base", "down") gen "So what? I'm sure you'll look great in it." ("base", xpos="far_left", ypos="head") @@ -992,16 +992,16 @@ label cho_reaction_blacklist(item): return label cho_reaction_fallback(item): - if cho_whoring < get_character_requirement("cho", "unequip top") and not "top" in cho.blacklist and not item.type == "top": + if states.cho.level < get_character_requirement("cho", "unequip top") and not "top" in cho.blacklist and not item.type == "top": $ cho.equip(cho_top_school1) - if cho_whoring < get_character_requirement("cho", "unequip bottom") and not "bottom" in cho.blacklist and not item.type == "bottom": + if states.cho.level < get_character_requirement("cho", "unequip bottom") and not "bottom" in cho.blacklist and not item.type == "bottom": $ cho.equip(cho_bottom_school1) - if cho_whoring < get_character_requirement("cho", "unequip bra") and not "bra" in cho.blacklist and not item.type == "bra": + if states.cho.level < get_character_requirement("cho", "unequip bra") and not "bra" in cho.blacklist and not item.type == "bra": $ cho.equip(cho_bra_basic1) - if cho_whoring < get_character_requirement("cho", "unequip panties") and not "panties" in cho.blacklist and not item.type == "panties": + if states.cho.level < get_character_requirement("cho", "unequip panties") and not "panties" in cho.blacklist and not item.type == "panties": $ cho.equip(cho_panties_basic1) cho "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/genie/common.rpy b/game/scripts/characters/genie/common.rpy index 1d7c89b5..1448de52 100644 --- a/game/scripts/characters/genie/common.rpy +++ b/game/scripts/characters/genie/common.rpy @@ -3,7 +3,6 @@ define character.genie_say = Character("Genie", show_icon="genie") init python: def gen(what, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): - global genie_xpos, genie_ypos, genie_offset, genie_flip, genie_zoom redraw = False tag = "genie_main" layer = "screens" @@ -11,18 +10,18 @@ init python: #showing = renpy.showing(name=tag, layer=layer) if xpos != None or ypos != None: - xpos = genie_xpos if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = genie_ypos if ypos == None else sprite_pos.get("y").get(ypos, ypos) - genie_xpos = xpos - genie_ypos = ypos + xpos = states.gen.image.xpos if xpos == None else sprite_pos.get("x").get(xpos, xpos) + ypos = states.gen.image.ypos if ypos == None else sprite_pos.get("y").get(ypos, ypos) + states.gen.image.xpos = xpos + states.gen.image.ypos = ypos head_ypos = sprite_pos.get("y").get("head") far_xpos = sprite_pos.get("x").get("far_left") - if genie_ypos in ("head", head_ypos): - genie_offset = (-25, 630) + if states.gen.image.ypos in ("head", head_ypos): + states.gen.image.offset = (-25, 630) else: - genie_offset = (0, 600) + states.gen.image.offset = (0, 600) if face: variant = "genie {}".format(face) @@ -33,15 +32,15 @@ init python: renpy.show(variant, layer=layer, tag="genie") if flip != None: - genie_flip = -1 if flip else 1 + states.gen.image.xzoom = -1 if flip else 1 if what: character.genie_say(what, image=side, **kwargs) label update_genie: - $ genie_flip = 1 - $ genie_zorder = 15 + $ states.gen.image.xzoom = 1 + $ states.gen.image.zorder = 15 call gen_chibi("sit_behind_desk") return diff --git a/game/scripts/characters/genie/vars.rpy b/game/scripts/characters/genie/vars.rpy index aec37729..615c39b7 100644 --- a/game/scripts/characters/genie/vars.rpy +++ b/game/scripts/characters/genie/vars.rpy @@ -1,16 +1,38 @@ -# Main -default genie_xpos = 200 -default genie_ypos = 0 -default genie_offset = (0, 600) -default genie_zorder = 15 -default genie_flip = 1 -default genie_zoom = 0.2 -default genie_outfit = "robes" -# Flags -default genie_masturbating = False +# General states + +default states.gen.masturbating = False + +# Image states + +default states.gen.image.xpos = 200 +default states.gen.image.ypos = 0 +default states.gen.image.offset = (0, 600) +default states.gen.image.zorder = 15 +default states.gen.image.xzoom = 1 +default states.gen.image.zoom = 0.2 + +# Event flags + +default states.gen.ev.intro.e1_complete = False +default states.gen.ev.intro.e2_complete = False +default states.gen.ev.intro.e3_complete = False +default states.gen.ev.intro.e4_complete = False +default states.gen.ev.intro.bird_examined = False +default states.gen.ev.intro.desk_examined = False +default states.gen.ev.intro.cupboard_examined = False +default states.gen.ev.intro.door_examined = False +default states.gen.ev.intro.fireplace_examined = False +default states.gen.ev.tonks.metamorphmagi_aware = False # Genie knows about Tonks being a Metamorphmagus + +# Statistics + +default states.gen.stats.quidditch_position = "Nobody" +default states.gen.stats.masturbated_to_hermione = 0 +default states.gen.stats.masturbated_to_luna = 0 +default states.gen.stats.masturbated_to_cho = 0 +default states.gen.stats.hangouts_with_snape = 0 + +# Names + default name_dumbledore_genie = "Albus Dumbledore" - -# Stats - -default genie_quid_position = "???" # For stats. diff --git a/game/scripts/characters/genie/wardrobe.rpy b/game/scripts/characters/genie/wardrobe.rpy index 03704d28..2dcf7d69 100644 --- a/game/scripts/characters/genie/wardrobe.rpy +++ b/game/scripts/characters/genie/wardrobe.rpy @@ -1,10 +1,10 @@ init python: def genie_transform(trans, st, at): - trans.xpos = genie_xpos - trans.ypos = genie_ypos - trans.zoom = genie_zoom - trans.xzoom = genie_flip - trans.offset = genie_offset + trans.xpos = states.gen.image.xpos + trans.ypos = states.gen.image.ypos + trans.zoom = states.gen.image.zoom + trans.xzoom = states.gen.image.xzoom + trans.offset = states.gen.image.offset return 0 layeredimage genie_stats: diff --git a/game/scripts/characters/hermione/chibi.rpy b/game/scripts/characters/hermione/chibi.rpy index 2cd75859..205ccc56 100644 --- a/game/scripts/characters/hermione/chibi.rpy +++ b/game/scripts/characters/hermione/chibi.rpy @@ -162,7 +162,7 @@ label her_chibi_scene(action="reset", xpos="mid", ypos="base", trans=None): $ zord = hermione_chibi.zorder # Note: Images are inconsistent, some have the chair already in it, some don't, it's kind of stupid. - if current_room == "main_room": + if states.room == "main_room": $ desk_OBJ.hidden = True # Hide desk object $ chair_left_OBJ.hidden = True # Hide left chair object diff --git a/game/scripts/characters/hermione/chitchats.rpy b/game/scripts/characters/hermione/chitchats.rpy index eda5db73..10be1da3 100644 --- a/game/scripts/characters/hermione/chitchats.rpy +++ b/game/scripts/characters/hermione/chitchats.rpy @@ -1,13 +1,13 @@ label hermione_chitchat: - if hermione_chatted: + if states.her.chatted: return - $ hermione_chatted = True + $ states.her.chatted = True ### WHORING LEVEL 01 ### - if her_whoring >= 0 and her_whoring <= 2: + if states.her.level >= 0 and states.her.level <= 2: random: block: her "Maybe, if I'd work harder, I could squeeze a few more classes into my schedule..." ("open", "closed", "angry", "mid") @@ -59,7 +59,7 @@ label hermione_chitchat: her "" ("normal", "base", "base", "mid") ### WHORING LEVEL 02 ### - if her_whoring >= 3 and her_whoring <= 5: + if states.her.level >= 3 and states.her.level <= 5: random: block: her "I read somewhere that a full moon often makes it easier to concentrate at a task at hand..." ("open", "closed", "angry", "mid") @@ -112,7 +112,7 @@ label hermione_chitchat: her "" ("annoyed", "narrow", "annoyed", "mid") ### WHORING LEVEL 03 ### - if her_whoring >= 6 and her_whoring <= 8: + if states.her.level >= 6 and states.her.level <= 8: random: her "I dislike the entire house of Slytherin with all my heart, sir." ("angry", "base", "angry", "mid") @@ -166,7 +166,7 @@ label hermione_chitchat: her "" ("annoyed", "squint", "base", "mid") ### WHORING LEVEL 04 ### - if her_whoring >= 9 and her_whoring <= 11: + if states.her.level >= 9 and states.her.level <= 11: random: block: her "My \"men's rights movement\" has been losing its popularity lately..." ("open", "base", "worried", "mid") @@ -219,7 +219,7 @@ label hermione_chitchat: her "" ("base", "base", "base", "mid") ### WHORING LEVEL 05 ### - if her_whoring >= 12 and her_whoring <= 14: + if states.her.level >= 12 and states.her.level <= 14: random: her "What will it be today, sir?" ("annoyed", "narrow", "annoyed", "mid") @@ -267,7 +267,7 @@ label hermione_chitchat: ### WHORING LEVEL 06 ### - if her_whoring >= 15 and her_whoring <= 17: + if states.her.level >= 15 and states.her.level <= 17: random: block: her "Would you like me to show you my breasts today, sir?" ("open", "narrow", "worried", "down") @@ -326,7 +326,7 @@ label hermione_chitchat: her "" ("soft", "base", "base", "mid") ### WHORING LEVEL 07 ### - if her_whoring >= 18 and her_whoring <= 20: + if states.her.level >= 18 and states.her.level <= 20: random: her "I am doing well, thank you for asking." ("base", "base", "base", "mid") @@ -377,7 +377,7 @@ label hermione_chitchat: her "" ("upset", "closed", "base", "mid") ### WHORING LEVEL 08+ ### - if her_whoring == 21: + if states.her.level == 21: random: her "I wonder what Ginny is going to wear for the ball..." ("base", "base", "base", "mid") @@ -424,7 +424,7 @@ label hermione_chitchat: her "And Slytherin is not even on the list!" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "" ("upset", "closed", "base", "mid") - if her_whoring >= 22: + if states.her.level >= 22: random: block: her "If you ever need some \"help\", sir, please let me know." ("open_wide_tongue", "base", "base", "R",cheeks="blush") diff --git a/game/scripts/characters/hermione/common.rpy b/game/scripts/characters/hermione/common.rpy index 501b7d24..e478045f 100644 --- a/game/scripts/characters/hermione/common.rpy +++ b/game/scripts/characters/hermione/common.rpy @@ -55,8 +55,9 @@ label end_hermione_event: call update_hermione - $ active_girl = None - $ hermione_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.her.busy = True $ hermione.wear("all") $ hermione.set_cum(None) @@ -126,7 +127,7 @@ label too_much: gen "(Perhaps I should rethink my approach...)" ("base", xpos="far_left", ypos="head") gen "(Judging by her reaction she's not yet ready for it...)" ("base", xpos="far_left", ypos="head") - $ her_mood += 6 + $ states.her.mood += 6 jump end_hermione_event @@ -146,6 +147,6 @@ label too_much_public: gen "(Did I ask too much of her...?)" ("base", xpos="far_left", ypos="head") gen "(She doesn't seem to be ready for this just yet.)" ("base", xpos="far_left", ypos="head") - $ her_mood += 6 + $ states.her.mood += 6 jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/cardgame_wager.rpy b/game/scripts/characters/hermione/events/cardgame_wager.rpy index 55df9778..1871c461 100644 --- a/game/scripts/characters/hermione/events/cardgame_wager.rpy +++ b/game/scripts/characters/hermione/events/cardgame_wager.rpy @@ -1,12 +1,12 @@ label hg_wager_bj: gen "Well if you want to avoid losing the points you could come over here and get on your knees." ("grin", xpos="far_left", ypos="head") gen "And put my dick in your mouth!" ("grin", xpos="far_left", ypos="head") - if her_whoring < 19: #blowjob tier (It's fine if this is her first one) + if states.her.level < 19: #blowjob tier (It's fine if this is her first one) her "I don't want to lose those points, but that is too much!" ("angry", "base", "angry", "mid") her "Isn't there anything else I could do?" ("open", "base", "base", "mid") gen "You're no fun!" ("angry", xpos="far_left", ypos="head") gen "Come over here and let me give your butt a squeeze, then I'll only deduct ten points from Gryffindor." ("grin", xpos="far_left", ypos="head") - if her_whoring < 9: + if states.her.level < 9: her "No! what kind of girl do you take me for [name_genie_hermione]!" ("scream", "base", "angry", "mid") gen "Fine, twenty points from Gryffindor!" ("base", xpos="far_left", ypos="head") $ gryffindor -= 20 @@ -35,7 +35,7 @@ label hg_wager_bj: her "{size=-5}All this because of a stupid card game{/size}." ("upset", "happyCl", "worried", "mid") gen "I know, we should definitely do this again." ("base", xpos="far_left", ypos="head") - if hg_strip.trigger: #If snape walked in during the dance favour. + if states.her.status.stripping: #If snape walked in during the dance favour. play music "music/Dark Fog.ogg" fadein 1 if_changed $ hermione_chibi.zorder = 2 #Under snape @@ -115,7 +115,7 @@ label hg_wager_bj: her "Okay then, I'll do it." ("open", "closed", "base", "mid") if hg_pf_blowjob.points > 0: #if she's done the blowjob favour these show her "Not like I haven't done it before." ("base", "happy", "base", "mid_soft", cheeks="blush") - if her_whoring > 21: #When she has done all BJ events in main favour + if states.her.level > 21: #When she has done all BJ events in main favour her "And it does feel good having my mouth full of your cock..." ("soft", "happyCl", "base", "mid", cheeks="blush") gen "Get over here then!" ("base", xpos="far_left", ypos="head") call her_walk("desk", "base", reduce=0.8) @@ -196,7 +196,7 @@ label hg_wager_bj: with d5 play sound "sounds/07_run.ogg" #snape runs back and draws his wand hide snape_main - $ snape_chibi.zorder = desk_zorder + 1 + $ snape_chibi.zorder = states.desk_chibi_zorder + 1 call sna_chibi("wand_defend", "mid") pause 1 hide screen blkfade @@ -210,7 +210,7 @@ label hg_wager_bj: sna "Reveal yourself! I won't let you harm him!" (face="snape_10", wand=True, flip=False) gen "Severus, wait!" ("angry", xpos="far_left", ypos="head") sna "I knew something was wrong from the start, you can't hide from me, now reveal yourself or prepare to die!" (face="snape_30", wand=True) - if not hg_strip.trigger: #if hermione hasn't stripped twice + if not states.her.status.stripping: #if hermione hasn't stripped twice gen "What are you doing Severus?" ("base", xpos="far_left", ypos="head") her "..." ("soft", "base", "worried", "mid", cheeks="blush") gen "You're being very strange..." ("base", xpos="far_left", ypos="head") @@ -239,7 +239,7 @@ label hg_wager_bj: sna "Miss Granger?! I thou-- I..." (face="snape_14") hide snape_main play music "music/Dark Fog.ogg" if_changed - if her_whoring > 21: + if states.her.level > 21: her "Hello, Professor Snape." ("cum", "base", "base", "mid", xpos="left", ypos="base", flip=True) her "I was just giving the headmaster some help with an \"itch\"." ("soft", "base", "base", "mid_soft", flip=True) sna "I see... I was expecting a poor excuse, your honesty is admirable..." (face="snape_02") @@ -273,14 +273,14 @@ label hg_wager_bj: pause.2 gen "Well, that was something..." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: #if she has lower whoring than 22 + if states.her.level < 22: #if she has lower whoring than 22 her "That was mortifying!" ("angry", "closed", "angry", "mid") her "How could you make me keep going?!?" ("angry", "base", "angry", "mid") gen "Well, you were down there already, how could I not?" ("base", xpos="far_left", ypos="head") her "I can't believe you..." ("angry", "closed", "angry", "mid") her "I'm going now, don't expect me to do anything for you any time soon!" ("clench", "base", "angry", "mid") call gen_chibi("sit_behind_desk") - $ her_mood += 10 + $ states.her.mood += 10 else: # 22+ her "The old me would have been embarrassed by that..." ("clench", "narrow", "worried", "mid_soft", cheeks="blush") her "But I thought it was hot!" ("grin", "happy", "base", "mid_soft", cheeks="blush") @@ -308,7 +308,7 @@ label hg_wager_bj: her "*Glick*?" ("open_wide_tongue", "wide", "base", "R") gen "No, I think I should be able to exorcise these spirits myself..." ("base", xpos="far_left", ypos="head") sna "You can do that?" (face="snape_11") - if her_whoring > 21: + if states.her.level > 21: her "*Slurp*, *Slurp*, *Gobble*" ("open_wide_tongue", "narrow", "annoyed", "up", cheeks="blush") gen "*Ghh*, of--{w=0.3} of course I can..." ("angry", xpos="far_left", ypos="head") sna "I didn't think you could still use your powers like that..." (face="snape_01") @@ -499,7 +499,7 @@ label hg_wager_bj: sna "Someone's a sore loser..." (face="snape_13") gen "Aching..." ("base", xpos="far_left", ypos="head") gen "Now get out..." ("base", xpos="far_left", ypos="head") - if sna_friendship >= 30: + if states.sna.level >= 30: sna "Fine, but next time I'm playing you for one of those bottles..." (face="snape_03") else: sna "Fine..." (face="snape_03") @@ -520,7 +520,7 @@ label hg_wager_bj: $ gryffindor -= 20 her "..." ("base", "base", "angry", "mid") her "What ever..." ("open", "closed", "angry", "mid") - $ her_mood += 15 + $ states.her.mood += 15 "-Deduct even more-": gen "Oh, don't you worry..." ("base", xpos="far_left", ypos="head") her "..." @@ -533,7 +533,7 @@ label hg_wager_bj: her "{size=-5}That's what I did...{/size}" ("open", "narrow", "annoyed", "mid", cheeks="blush") gen "Excuse me?" ("base", xpos="far_left", ypos="head") her "Never mind..." ("clench", "narrow", "angry", "R") - $ her_mood += 25 + $ states.her.mood += 25 "-Let her go-": gen "No, I feel like I've reached a net gain somehow during this whole ordeal..." ("base", xpos="far_left", ypos="head") her "..." ("normal", "base", "base", "mid") @@ -629,7 +629,7 @@ label hg_wager_bj: her "Fine..." ("clench", "narrow", "annoyed", "mid") gen "Twenty Points from Gryffindor!" ("base", xpos="far_left", ypos="head") $ gryffindor -= 20 - $ her_mood += 10 + $ states.her.mood += 10 $ hg_pf_blowjob.points += 1 $ hg_pf_blowjob.counter += 1 diff --git a/game/scripts/characters/hermione/events/clothing.rpy b/game/scripts/characters/hermione/events/clothing.rpy index aa2820d8..f275f8ca 100644 --- a/game/scripts/characters/hermione/events/clothing.rpy +++ b/game/scripts/characters/hermione/events/clothing.rpy @@ -10,7 +10,7 @@ label hermione_summon_setup: # # if game.weather == "clear": - # if her_tier >= 3 and game.daytime and not hg_muggle_hot_ITEM.unlocked: + # if states.her.tier >= 3 and game.daytime and not hg_muggle_hot_ITEM.unlocked: # $ hg_muggle_hot_ITEM.unlocked = True # if not persistent.game_complete: @@ -35,7 +35,7 @@ label hermione_summon_setup: # gen "(Wow! Look at her!)" ("angry", xpos="far_left", ypos="head") # gen "That's quite a sexy outfit, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") - # if her_whoring < 11: + # if states.her.level < 11: # her "*Ehm*... Thank you, [name_genie_hermione]." ("soft", "base", "base", "R") # her "I normally don't wear something like this." ("open", "base", "base", "mid") # her "(Showing so much cleavage...)" ("disgust", "narrow", "worried", "down", cheeks="blush") @@ -87,9 +87,9 @@ label hermione_summon_setup: # gen "What's with all these clothes you are wearing?" ("base", xpos="far_left", ypos="head") # her "It's a bit cold outside, [name_genie_hermione]... and my..." ("soft", "base", "base", "R", cheeks="blush") - # if her_whoring < 11: + # if states.her.level < 11: # her "I better not mention it..." ("disgust", "narrow", "worried", "down", cheeks="blush") - # elif her_whoring < 18: + # elif states.her.level < 18: # her "{size=-5}People can see my... my nipples...{/size}" ("disgust", "narrow", "worried", "down", cheeks="blush") # else: # her "I can't have my nipples poking out all the time, [name_genie_hermione]! It's distracting!" ("annoyed", "narrow", "angry", "R") @@ -122,7 +122,7 @@ label hermione_summon_setup: # # Raining # if game.weather == "rain": - # if her_tier >= 2 and not hg_muggle_rainy_ITEM.unlocked: + # if states.her.tier >= 2 and not hg_muggle_rainy_ITEM.unlocked: # $ hg_muggle_rainy_ITEM.unlocked = True # if not persistent.game_complete: @@ -150,9 +150,9 @@ label hermione_summon_setup: # gen "It's fine, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") # gen "Besides, I wouldn't mind seeing you in jeans more often!" ("grin", xpos="far_left", ypos="head") # her "Thank you, [name_genie_hermione]." ("normal", "base", "base", "R") - # $ her_mood -= 10 - # if her_mood < 0: - # $ her_mood = 0 + # $ states.her.mood -= 10 + # if states.her.mood < 0: + # $ states.her.mood = 0 # else: # call update_her_uniform @@ -176,7 +176,7 @@ label hermione_summon_setup: # with d3 # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - # if her_mood > 1: + # if states.her.mood > 1: # her "" ("annoyed", "base", "base", "R", xpos="base", ypos="base") # else: # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") @@ -187,7 +187,7 @@ label hermione_summon_setup: # # Snow # if game.weather in ("snow", "blizzard"): - # if her_tier >= 2 and not hg_muggle_cold_ITEM.unlocked: + # if states.her.tier >= 2 and not hg_muggle_cold_ITEM.unlocked: # $ hg_muggle_cold_ITEM.unlocked = True # if not persistent.game_complete: @@ -213,9 +213,9 @@ label hermione_summon_setup: # her "Yes, [name_genie_hermione]. I brought it with me from home. It's a bit too cold for just my normal uniform..." ("open", "base", "base", "R") # her "Do you like it?" ("soft", "base", "base", "mid") # gen "I do, [name_hermione_genie]. It's cute." ("grin", xpos="far_left", ypos="head") - # $ her_mood -= 10 - # if her_mood < 0: - # $ her_mood = 0 + # $ states.her.mood -= 10 + # if states.her.mood < 0: + # $ states.her.mood = 0 # else: # call update_her_uniform @@ -229,7 +229,7 @@ label hermione_summon_setup: # #Unlocks rewards. # call unlock_clothing(text = "New clothing items for Hermione have been unlocked!", item = hg_muggle_cold_ITEM) - # elif her_tier >= 3 and not hg_muggle_cold_sexy_ITEM.unlocked: + # elif states.her.tier >= 3 and not hg_muggle_cold_sexy_ITEM.unlocked: # $ hg_muggle_cold_sexy_ITEM.unlocked = True # if not persistent.game_complete: @@ -256,9 +256,9 @@ label hermione_summon_setup: # her "Thank you, [name_genie_hermione]. I made some changes to the old one..." ("open", "base", "base", "R") # her "Do you like it?" ("soft", "base", "base", "mid") # gen "Very much so, [name_hermione_genie]. I love the breast window." ("grin", xpos="far_left", ypos="head") - # $ her_mood -= 10 - # if her_mood < 0: - # $ her_mood = 0 + # $ states.her.mood -= 10 + # if states.her.mood < 0: + # $ states.her.mood = 0 # else: # call update_her_uniform @@ -272,10 +272,10 @@ label hermione_summon_setup: # #Unlocks rewards. # call unlock_clothing(text = "New clothing items for Hermione have been unlocked!", item = hg_muggle_cold_sexy_ITEM) - if hermione_outfits_schedule: + if states.her.wardrobe_scheduling: $ hermione.equip_random_outfit() - if not config.developer and not tutorial_is_done("schedule") and hermione_wardrobe_unlocked: + if not config.developer and not tutorial_is_done("schedule") and states.her.wardrobe_unlocked: play sound "sounds/door.ogg" call her_chibi("stand","mid","base") with d3 @@ -295,11 +295,11 @@ label hermione_summon_setup: "-Yes-": "Outfits scheduling remains turned {b}ON{/b}." "-No-": - $ hermione_outfits_schedule = False - $ tonks_outfits_schedule = False - $ cho_outfits_schedule = False - $ astoria_outfits_schedule = False - $ luna_outfits_schedule = False + $ states.her.wardrobe_scheduling = False + $ states.ton.wardrobe_scheduling = False + $ states.cho.wardrobe_scheduling = False + $ states.ast.wardrobe_scheduling = False + $ states.lun.wardrobe_scheduling = False # Susan "Outfit scheduling turned {b}Off{/b}." @@ -316,24 +316,24 @@ label hermione_summon_setup: #Hermione greeting. play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - if her_mood > 0: - if 5 > her_mood >= 1: + if states.her.mood > 0: + if 5 > states.her.mood >= 1: her "Yes, [name_genie_hermione]?" ("soft", "base", "worried", "mid", xpos="base", ypos="base", trans=d3) - elif 10 > her_mood >= 5: + elif 10 > states.her.mood >= 5: her "*sigh*... Yes, [name_genie_hermione]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - elif 20 > her_mood >= 10: + elif 20 > states.her.mood >= 10: her "What is it, [name_genie_hermione]?" ("open", "closed", "annoyed", "mid", xpos="base", ypos="base", trans=d3) her "" ("upset", "base", "annoyed", "mid") - elif 30 > her_mood >= 20: + elif 30 > states.her.mood >= 20: her "What do you want, \"[name_genie_hermione]\"?" ("upset", "squint", "angry", "R", xpos="base", ypos="base", trans=d3) - elif 40 > her_mood >= 30: + elif 40 > states.her.mood >= 30: her "*Hmph*..." ("normal", "squint", "angry", "R", xpos="base", ypos="base", trans=d3) - elif 50 > her_mood >= 40: + elif 50 > states.her.mood >= 40: her "*Tsk*" ("angry", "base", "angry", "R", xpos="base", ypos="base", trans=d3) - elif her_mood >= 50: + elif states.her.mood >= 50: her "I have nothing to tell you, sir!" ("mad", "narrow", "angry", "L", xpos="base", ypos="base", trans=d3) - call describe_mood("Hermione", her_mood) + call describe_mood("Hermione", states.her.mood) call tutorial("moodngifts") else: if game.daytime: diff --git a/game/scripts/characters/hermione/events/favors/dance_for_me.rpy b/game/scripts/characters/hermione/events/favors/dance_for_me.rpy index ba890154..c826720d 100644 --- a/game/scripts/characters/hermione/events/favors/dance_for_me.rpy +++ b/game/scripts/characters/hermione/events/favors/dance_for_me.rpy @@ -36,7 +36,7 @@ label hg_pf_strip: $ hermione.wear("all") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=blackfade) else: her "" ("normal", "squint", "base", "mid", xpos="mid", ypos="base", trans=blackfade) @@ -50,13 +50,13 @@ label hg_pf_strip: call her_chibi("leave") # Increase level - if her_tier == 3: - if her_whoring < 12: # Points til 12 - $ her_whoring += 1 + if states.her.tier == 3: + if states.her.level < 12: # Points til 12 + $ states.her.level += 1 - if her_tier == 4: - if her_whoring < 18: # Points til 18 - $ her_whoring += 1 + if states.her.tier == 4: + if states.her.level < 18: # Points til 18 + $ states.her.level += 1 jump end_hermione_event @@ -124,7 +124,7 @@ label hg_pf_strip_T2_fail_intro: # Hermione starts dancing, but it will fail any call her_walk(action="leave") - $ her_mood += 5 + $ states.her.mood += 5 $ hg_pf_strip.fail_intentional() jump end_hermione_event @@ -143,7 +143,7 @@ label hg_pf_strip_T2_fail_repeat: call her_walk(action="leave") - $ her_mood += 5 + $ states.her.mood += 5 $ hg_pf_strip.fail_intentional() jump end_hermione_event @@ -408,7 +408,7 @@ label hg_pf_strip_T3_intro_E1: # Complete call her_walk(action="leave") # Event does not fail. She just gets mad, but no whoring increase. - $ her_mood += 25 + $ states.her.mood += 25 jump end_hermione_event @@ -674,7 +674,7 @@ label hg_pf_strip_T3_intro_E2: her "{size=-7}(I want to die!){/size}" ("angry", "happyCl", "worried", "mid") "\"Severus! Please, come join us.\"": - $ her_mood += 20 + $ states.her.mood += 20 sna "Seriously?" ("snape_14") her "([name_genie_hermione], no, please.............................)" ("angry", "happyCl", "worried", "mid") sna "A very tempting offer indeed..." ("snape_13") @@ -735,10 +735,10 @@ label hg_pf_strip_T3_intro_E2: her "Can I just get my points now, please?" ("angry", "happyCl", "worried", "mid", emote="sweat") pause.5 - if not hg_strip.trigger: + if not states.her.status.stripping: $ achievements.unlock("herstrip") $ hg_pf_strip.change_icon(a="heart_half", b="heart_red") - $ hg_strip.triggered() # .trigger = True, .counter += 1 + $ states.her.status.stripping = True $ hg_pf_strip.title = "Strip for Me!" jump end_hg_pf_strip @@ -753,7 +753,7 @@ label hg_pf_strip_T3_E2: gen "Sure! The usual rate." ("base", xpos="far_left", ypos="head") her "..................." ("annoyed", "narrow", "angry", "R") - if ss_he.hermione_strip: #Turns TRUE after Dance Event 2 and the next Date with Snape. + if states.sna.ev.hangouts.hermione_strip_invite: #Turns TRUE after Dance Event 2 and the next Date with Snape. gen "(*Hmm*... Should I invite Snape to watch as well?)" ("base", xpos="far_left", ypos="head") menu: @@ -926,7 +926,7 @@ label hg_pf_strip_T3_watch: gen "You have a lot of talent for this!" ("base", xpos="far_left", ypos="head") her "Thank you [name_genie_hermione]." ("soft", "base", "worried", "R", emote="sweat") "{size=-3}\"*Hmm*... This was quite awful...\"{/size}": - $ her_mood += 4 + $ states.her.mood += 4 her "............" ("annoyed", "base", "angry", "mid") gen "You just need to practise more..." ("base", xpos="far_left", ypos="head") her "Whatever........." ("annoyed", "narrow", "angry", "R") @@ -985,7 +985,7 @@ label hg_pf_strip_T3_masturbate: nar "You reluctantly put your cock away..." her "I would like to get paid now." ("annoyed", "narrow", "annoyed", "mid") - $ her_mood += 6 + $ states.her.mood += 6 jump end_hg_pf_strip @@ -1035,7 +1035,7 @@ label hg_pf_strip_T4_intro_E2: label hg_pf_strip_T4_E2: gen "[name_hermione_genie], how do you feel about getting on my desk for another show?" ("base", xpos="far_left", ypos="head") - if her_tier <= 5: + if states.her.tier <= 5: her "Of course, [name_genie_hermione]..." ("base", "base", "base", "mid", xpos="base", ypos="base") else: her "I'd love to, [name_genie_hermione]!" ("open_tongue", "narrow", "annoyed", "up", xpos="base", ypos="base") @@ -1045,11 +1045,11 @@ label hg_pf_strip_T4_E2: label hg_pf_strip_T4: menu: gen "(...)" ("base", xpos="far_left", ypos="head") - "-Invite Snape to watch-" if ss_he.hermione_strip: + "-Invite Snape to watch-" if states.sna.ev.hangouts.hermione_strip_invite: jump hg_pf_strip_T4_snape "-Ask her to lock the door-": - if her_tier <= 5: + if states.her.tier <= 5: her "Of course..." ("base", "base", "base", "mid") else: her "(How boring...)" ("annoyed", "narrow", "annoyed", "up") @@ -1074,7 +1074,7 @@ label hg_pf_strip_T4: her "All done!" ("smile", "closed", "base", "mid", trans=d3) "-Tell her to leave the door open-": - if her_tier <= 4: + if states.her.tier <= 4: her "But, what if somebody walks in again!" ("shock", "wide", "base", "stare") gen "Nonsense. No such thing will happen..." ("base", xpos="far_left", ypos="head") her "It happened before so why--" ("angry", "base", "angry", "mid") @@ -1084,7 +1084,7 @@ label hg_pf_strip_T4: stop music fadeout 1.0 call her_walk("desk", "base", reduce=0.8) - $ her_mood += 4 + $ states.her.mood += 4 else: her "Yes, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") @@ -1118,7 +1118,7 @@ label hg_pf_strip_T4: her "I'm not!" ("open", "base", "angry", "mid") her "It's just... I..." ("disgust", "narrow", "base", "down") gen "Would you like some help with it?" ("grin", xpos="far_left", ypos="head") - if her_tier <= 5: + if states.her.tier <= 5: her "No..." ("annoyed", "base", "angry", "mid") her "I can do it, [name_genie_hermione]." ("open", "closed", "base", "mid") else: @@ -1146,7 +1146,7 @@ label hg_pf_strip_T4: gen "Yes! Shake those tits!" ("grin", xpos="far_left", ypos="head") - if her_tier <= 4: + if states.her.tier <= 4: her "Must you be so vulgar, [name_genie_hermione]?" ("annoyed", "closed", "base", "mid") her ".............." ("annoyed", "narrow", "worried", "down") @@ -1229,9 +1229,9 @@ label hg_pf_strip_T4: menu: "-Ask her to masturbate-": - if her_tier == 4: + if states.her.tier == 4: jump hg_pf_strip_T4_fingering - elif her_tier == 5: + elif states.her.tier == 5: jump hg_pf_strip_T5_fingering else: # Tier 6, and a fallback for cheaters! jump hg_pf_strip_T6_fingering @@ -1443,7 +1443,7 @@ label hg_pf_strip_T4_masturbate: her "... Can I just get paid now, [name_genie_hermione]... please?" ("annoyed", "narrow", "angry", "R") - $ her_mood += 20 + $ states.her.mood += 20 jump end_hg_pf_strip @@ -1480,7 +1480,7 @@ label hg_pf_strip_T4_masturbate: her "............." ("annoyed", "narrow", "angry", "R") her "I'll take it." ("soft", "base", "angry", "mid") - $ her_mood += 20 + $ states.her.mood += 20 $ current_payout += 1 hide screen bld1 call ctc @@ -1499,7 +1499,7 @@ label hg_pf_strip_T4_masturbate: her "..............." ("annoyed", "narrow", "angry", "R") her "Well, alright... Better than nothing I suppose..." ("soft", "base", "angry", "mid") - $ her_mood += 10 + $ states.her.mood += 10 hide screen bld1 call ctc @@ -1552,7 +1552,7 @@ label hg_pf_strip_T4_masturbate: menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Oh, no, you are still getting that.\"": - $ her_mood += 20 + $ states.her.mood += 20 her "How generous of you, [name_genie_hermione]." ("soft", "base", "angry", "mid") hide screen bld1 call ctc @@ -1588,6 +1588,6 @@ label hg_pf_strip_T4_masturbate: call her_walk(action="leave") - $ her_mood += 30 + $ states.her.mood += 30 jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy b/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy index 1bce3c1e..d40c1b71 100644 --- a/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy +++ b/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy @@ -5,8 +5,8 @@ ### Tier 4 (Intro) ### label hg_pf_strip_T4_fingering: - if not hg_masturbated.trigger: - $ hg_masturbated.triggered() + if not states.her.status.masturbating: + $ states.her.status.masturbating = True gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") @@ -277,7 +277,7 @@ label hg_pf_strip_T4_fingering: call her_walk(action="run", xpos="door", speed=2, reduce=True) call her_chibi("leave") - $ her_mood += 15 + $ states.her.mood += 15 pause 1.0 gen "..." ("base", xpos="far_left", ypos="head") @@ -314,12 +314,12 @@ label hg_pf_strip_T5_fingering: her "{heart}{heart}{heart}" ("base", "narrow", "base", "mid_soft") her "............." ("base", "base", "base", "R_soft") her "Alright...{w=0.4} if that's what you want..." ("base", "narrow", "worried", "down") - if not hg_masturbated.trigger: + if not states.her.status.masturbating: her "(I can't believe I'm agreeing to do this...)" ("soft", "narrow", "base", "down") else: her "(I can't believe I'm agreeing to do this...{w=0.4} again...)" ("soft", "narrow", "base", "down") - $ hg_masturbated.triggered() + $ states.her.status.masturbating = True if hermione.is_worn("panties"): nar "Hermione bends over and takes off her panties." @@ -416,12 +416,12 @@ label hg_pf_strip_T5_fingering: label hg_pf_strip_T6_fingering: - $ hg_masturbated.triggered() + $ states.her.status.masturbating = True gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "[name_genie_hermione]?" ("base", "base", "base", "mid") gen "You don't mind pleasuring yourself in front of me, do you?" ("base", xpos="far_left", ypos="head") - if her_whoring <= 16: + if states.her.level <= 16: her "As long as I am being paid..." ("grin", "base", "base", "R") gen "That's the spirit!" ("grin", xpos="far_left", ypos="head") else: diff --git a/game/scripts/characters/hermione/events/favors/dance_for_me_snape.rpy b/game/scripts/characters/hermione/events/favors/dance_for_me_snape.rpy index 0698f71d..9a5c7809 100644 --- a/game/scripts/characters/hermione/events/favors/dance_for_me_snape.rpy +++ b/game/scripts/characters/hermione/events/favors/dance_for_me_snape.rpy @@ -25,7 +25,7 @@ label hg_pf_strip_T3_snape: # Fails call her_walk(action="leave") - $ her_mood += 15 + $ states.her.mood += 15 $ hg_pf_strip.fail() jump end_hermione_event @@ -37,8 +37,8 @@ label hg_pf_strip_T3_snape: # Fails # Invite Snape label hg_pf_strip_T4_snape: - if hg_strip.ss_counter == 0: - $ hg_strip.ss_counter += 1 + if not states.her.ev.dance_for_me.snape_invited: + $ states.her.ev.dance_for_me.snape_invited = True hide screen blktone hide hermione_main @@ -200,7 +200,7 @@ label hg_pf_strip_T4_snape: menu: gen "..." ("base", xpos="far_left", ypos="head") "\"[name_hermione_genie], show some respect!\"": - $ her_mood += 9 + $ states.her.mood += 9 her "What?" ("annoyed", "base", "angry", "mid") her "But [name_genie_hermione]!" gen "[name_hermione_genie], you {size=+4}will{/size} calm down now." ("base", xpos="far_left", ypos="head") @@ -211,7 +211,7 @@ label hg_pf_strip_T4_snape: sna "..........." ("snape_13") "\"Severus, you started this.\"": - $ sna_friendship -= 5 + $ states.sna.level -= 5 sna "What? Me?!" ("snape_10") her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") sna "Albus, you are spoiling the girl! She must be taught a lesson!" ("snape_08") @@ -245,8 +245,8 @@ label hg_pf_strip_T4_snape: sna "............." ("snape_13") "-Unleash your rage {size=-2}(Hardcore){/size}-" if game.difficulty >= 3: #Hardcore difficulty dialogue. - $ her_mood += 18 - $ sna_friendship -= 10 + $ states.her.mood += 18 + $ states.sna.level -= 10 gen "Both of you..." ("base", xpos="far_left", ypos="head") stop music with hpunch @@ -509,8 +509,8 @@ label hg_pf_strip_T4_snape_masturbate: pass - if her_tier < 5: # Hermione is NOT ok with it. - $ her_mood += 15 + if states.her.tier < 5: # Hermione is NOT ok with it. + $ states.her.mood += 15 her "Oh..." ("open", "wide", "base", "stare") her "No, I can't! This is just not worth it!" ("angry", "happyCl", "worried", "mid") call hide_characters @@ -743,7 +743,7 @@ label hg_pf_strip_T4_snape_masturbate: menu: gen "..." ("base", xpos="far_left", ypos="head") "\"*huh*? What mission?\"": - $ her_mood += 7 + $ states.her.mood += 7 her "I only agreed to this so that you could catch professor Snape in the act, [name_genie_hermione]!" ("scream", "happyCl", "worried", "mid") her "So that we would have definite proof that he is \"dirty\"!" ("normal", "happyCl", "worried", "mid") gen "Oh, that mission..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/hermione/events/favors/give_me_a_handy.rpy b/game/scripts/characters/hermione/events/favors/give_me_a_handy.rpy index c7e256b6..0154de1a 100644 --- a/game/scripts/characters/hermione/events/favors/give_me_a_handy.rpy +++ b/game/scripts/characters/hermione/events/favors/give_me_a_handy.rpy @@ -37,13 +37,13 @@ label hg_pf_handjob: call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade) else: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) # Points - if her_tier <= 5: + if states.her.tier <= 5: gen "Yes, [name_hermione_genie]. {number=current_payout} to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout else: @@ -60,12 +60,12 @@ label hg_pf_handjob: call her_walk(action="leave") # Increase level - if her_tier == 4: - if her_whoring < 18: # Points til 18 - $ her_whoring += 1 - if her_tier == 5: - if her_whoring < 21: # Points til 21 - $ her_whoring += 1 + if states.her.tier == 4: + if states.her.level < 18: # Points til 18 + $ states.her.level += 1 + if states.her.tier == 5: + if states.her.level < 21: # Points til 21 + $ states.her.level += 1 jump end_hermione_event @@ -113,7 +113,7 @@ label hg_pf_handjob_T4_intro_E1: menu: gen "..." ("base", xpos="far_left", ypos="head") "\"You will get fifteen house points.\"": - $ her_mood += 7 + $ states.her.mood += 7 her "For fifteen house points I suppose I could let you molest me a little, but that is all you'll be getting, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") her "I will not stoop as low as to sell handjobs for fifteen house points." her "That is just insulting, [name_genie_hermione]." @@ -121,7 +121,7 @@ label hg_pf_handjob_T4_intro_E1: jump back_to_handjob_choices "\"You will get forty-five house points.\"": - $ her_mood += 3 + $ states.her.mood += 3 her "....." ("annoyed", "narrow", "angry", "R") her "{number=current_payout} house points...?" ("open", "narrow", "worried", "down") her "This could put Gryffindor back in the lead..." @@ -378,14 +378,14 @@ label hg_pf_handjob_1: call her_chibi_scene("hj_kiss", trans=kissiris) pause 1 - if hg_kiss.trigger == False: + if states.her.status.kissing == False: $ achievements.unlock("herkiss") $ hg_pf_handjob.change_icon(a="heart_half", b="heart_red") if hg_pr_kiss.counter == 0: her "(It was my first kiss ever and I gave it away to a... cock...)" ("disgust", "narrow", "worried", "down") else: her "(Our first kiss ever and I gave it away to his... cock...)" ("disgust", "narrow", "worried", "down") - $ hg_kiss.triggered() # .trigger = True, .counter += 1 + $ states.her.status.kissing = True pause 2 call her_chibi_scene("hj", trans=d5) @@ -578,7 +578,7 @@ label hg_pf_handjob_1: if d_flag_01: #If TRUE Genie promised to warn her. play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. - $ her_mood += 11 + $ states.her.mood += 11 her "You promised to give me a warning, [name_genie_hermione]!" ("angry", "base", "angry", "mid") gen "Oh, that's right... My bad." ("base", xpos="far_left", ypos="head") if hermione.is_worn("top"): @@ -763,7 +763,7 @@ label hg_pf_handjob_2_continue: menu: gen "..." ("base", xpos="far_left", ypos="head") "{size=-4}\"I fantasise about being touched by my father.\"{/size}": - $ her_mood += 11 + $ states.her.mood += 11 her "I do not!" ("angry", "base", "angry", "mid") gen "I know. Just say it." ("base", xpos="far_left", ypos="head") her "My father? That's disgusting, [name_genie_hermione]!" ("angry", "base", "angry", "mid", emote="angry") @@ -988,7 +988,7 @@ label hg_pf_handjob_2_cumming: else: gen "Would keep your sweet tits clean." ("base", xpos="far_left", ypos="head") - if hg_blowjob.trigger == False: # Hasn't done blowjobs yet. + if states.her.status.blowjob == False: # Hasn't done blowjobs yet. her "With all due respect [name_genie_hermione]..." ("upset", "closed", "base", "mid") her "Not for the meagre {number=current_payout} points..." ("angry", "wink", "base", "mid") her "Speaking of which. Can I get may payment now please?" @@ -1054,7 +1054,7 @@ label hg_pf_handjob_2_cumming: her "I will just wipe the worst off and wear a robe, I hope that nobody will notice..." ("grin", "narrow", "base", "dead") her "Can I get my payment now?" ("angry", "wink", "base", "mid") - "-Cum in her mouth!-" if hg_blowjob.trigger == True: # Has done blowjobs already. + "-Cum in her mouth!-" if states.her.status.blowjob == True: # Has done blowjobs already. call bld gen "Open your mouth, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") her "What?!" ("open", "wide", "base", "stare", ypos="head", flip=False) diff --git a/game/scripts/characters/hermione/events/favors/give_me_a_tittyjob.rpy b/game/scripts/characters/hermione/events/favors/give_me_a_tittyjob.rpy index 58628817..574c9558 100644 --- a/game/scripts/characters/hermione/events/favors/give_me_a_tittyjob.rpy +++ b/game/scripts/characters/hermione/events/favors/give_me_a_tittyjob.rpy @@ -40,13 +40,13 @@ label hg_pf_titjob: call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade) else: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) # Points - if her_tier <= 5: + if states.her.tier <= 5: gen "Yes, [name_hermione_genie]. {number=current_payout} to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout else: @@ -68,12 +68,12 @@ label hg_pf_titjob: # Increase level - if her_tier == 5: - if her_whoring < 21: # Points til 21 - $ her_whoring +=1 - if her_tier == 6: - if her_whoring < 24: # Points til 24 - $ her_whoring += 1 + if states.her.tier == 5: + if states.her.level < 21: # Points til 21 + $ states.her.level +=1 + if states.her.tier == 6: + if states.her.level < 24: # Points til 24 + $ states.her.level += 1 jump end_hermione_event @@ -124,8 +124,8 @@ label hg_pf_titjob_T5_intro_E1: label back_to_titjob_choices: menu: gen "(...)" ("base", xpos="far_left", ypos="head") - "\"You'll get fifteen house points.\"" if her_mood == 0: - $ her_mood += 7 + "\"You'll get fifteen house points.\"" if states.her.mood == 0: + $ states.her.mood += 7 her "[name_genie_hermione], are you seriously expecting me to give you a titjob..." ("angry", "closed", "angry", "mid") her "For only a meagre fifteen points?!" ("scream", "base", "angry", "mid") her "" ("clench", "base", "angry", "mid") @@ -150,7 +150,7 @@ label hg_pf_titjob_T5_intro_E1: "\"You'll get one hundred house points.\"": play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. $ current_payout = 100 - $ her_mood = 0 + $ states.her.mood = 0 her "{number=current_payout} house points?!" ("scream", "wide", "base", "mid") her "This might be enough to put Gryffindor in the lead!" ("smile", "wide", "base", "stare") gen "So... Is that a yes?" ("base", xpos="far_left", ypos="head") @@ -416,7 +416,7 @@ label hg_pf_titjob_1: menu: gen "..." ("base", xpos="far_left", ypos="head") "-Cum in her mouth!-": - $ her_mood += 3 + $ states.her.mood += 3 call bld gen "Here it comes, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") show her_titjob_personal h13 as cg @@ -893,7 +893,7 @@ label hg_pf_titjob_2_cumming: gen "*Hmm*... You sure you wouldn't like people seeing your tits covered in cum..." ("base", xpos="far_left", ypos="head") her "What? Walk around school covered in your cum, [name_genie_hermione]?" ("angry", "wink", "base", "mid") - if her_tier < 6: + if states.her.tier < 6: her "With all due respect, [name_genie_hermione]..." ("upset", "closed", "base", "mid") her "I don't plan on getting a reputation as a cum-loving whore..." ("angry", "wink", "base", "mid") her "Not like those Slytherin girls..." ("angry", "narrow", "angry", "R") @@ -956,7 +956,7 @@ label hg_pf_titjob_2_cumming: show her_titjob_personal h37 as cg her "I'll just wipe it off and hope that nobody will notice..." ("upset", "closed", "base", "mid") gen "You could lick them clean..." ("base", xpos="far_left", ypos="head") - if her_tier < 6: + if states.her.tier < 6: her "You want me to lick your cum off my tits?" ("soft", "narrow", "annoyed", "up") her "I don't think so, [name_genie_hermione]..." ("soft", "narrow", "annoyed", "up") else: diff --git a/game/scripts/characters/hermione/events/favors/grope_her.rpy b/game/scripts/characters/hermione/events/favors/grope_her.rpy index 0a8e07b7..79f01466 100644 --- a/game/scripts/characters/hermione/events/favors/grope_her.rpy +++ b/game/scripts/characters/hermione/events/favors/grope_her.rpy @@ -34,29 +34,29 @@ label hg_pf_grope: call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade) else: her "" ("soft", "narrow", "base", "R", xpos="mid", ypos="base", trans=fade) gen "This will do for now." ("base", xpos="far_left", ypos="head") - if her_tier <= 3: + if states.her.tier <= 3: her "................" ("annoyed", "narrow", "angry", "R", cheeks="blush") else: her "................" (face="horny", cheeks="blush") # Points - if her_tier <= 5: + if states.her.tier <= 5: $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") else: gen "You may leave now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - if her_tier <= 2: + if states.her.tier <= 2: her ".................." ("annoyed", "base", "worried", "R") her "Thank you, [name_genie_hermione]..." - elif her_tier <= 4: + elif states.her.tier <= 4: her ".................." ("base", "base", "base", "R") her "Thank you, [name_genie_hermione]..." ("soft", "base", "base", "mid") else: @@ -71,9 +71,9 @@ label hg_pf_grope: # Hermione leaves call her_walk("door", "base") - if her_tier > 5: + if states.her.tier > 5: her "(What about my points?)" ("disgust", "narrow", "base", "down", cheeks="blush", xpos="base", flip=True) - if her_whoring < 24: + if states.her.level < 24: her "(I'll just ask him about it next time...)" ("annoyed", "narrow", "angry", "R") else: her "(Eh, who cares...)" ("base", "narrow", "base", "up", cheeks="blush") @@ -83,13 +83,13 @@ label hg_pf_grope: # Increase level - if her_tier == 2: - if her_whoring < 9: # Points til 9 - $ her_whoring += 1 + if states.her.tier == 2: + if states.her.level < 9: # Points til 9 + $ states.her.level += 1 - if her_tier == 3: - if her_whoring < 12: # Points til 12 - $ her_whoring += 1 + if states.her.tier == 3: + if states.her.level < 12: # Points til 12 + $ states.her.level += 1 jump end_hermione_event @@ -118,7 +118,7 @@ label hg_pf_grope_T1_fail_repeat: call her_walk(action="leave") - $ her_mood += 6 + $ states.her.mood += 6 $ hg_pf_grope.fail_intentional() diff --git a/game/scripts/characters/hermione/events/favors/grope_her_ass.rpy b/game/scripts/characters/hermione/events/favors/grope_her_ass.rpy index e0320f4f..c5b49157 100644 --- a/game/scripts/characters/hermione/events/favors/grope_her_ass.rpy +++ b/game/scripts/characters/hermione/events/favors/grope_her_ass.rpy @@ -68,7 +68,7 @@ label hg_pf_grope_ass_T2_front: call her_walk(action="leave") - $ her_mood += 4 + $ states.her.mood += 4 jump end_hermione_event @@ -92,7 +92,7 @@ label hg_pf_grope_ass_T2_back: jump hg_pf_grope_ass_T2_continue "-Give her butt a slap-": - $ her_mood += 2 + $ states.her.mood += 2 pass # Slap her! @@ -107,7 +107,7 @@ label hg_pf_grope_ass_T2_back: jump hg_pf_grope_ass_T2_continue "-Give her butt another slap-": - $ her_mood += 2 + $ states.her.mood += 2 pass # Slap her! @@ -123,7 +123,7 @@ label hg_pf_grope_ass_T2_back: jump hg_pf_grope_ass_T2_continue "-Give her butt another slap-": - $ her_mood += 2 + $ states.her.mood += 2 pass # Slap her! @@ -160,7 +160,7 @@ label hg_pf_grope_ass_T2_back: call bld gen "(Whatever...)" ("base", xpos="far_left", ypos="head") - $ her_mood += 15 + $ states.her.mood += 15 jump end_hermione_event @@ -172,7 +172,7 @@ label hg_pf_grope_ass_T2_back: call bld gen "*Tsk!* (You brat!)" ("angry", xpos="far_left", ypos="head") - $ her_mood += 20 + $ states.her.mood += 20 jump end_hermione_event @@ -201,7 +201,7 @@ label hg_pf_grope_ass_T2_back: gen "I bet she actually enjoyed the slapping and just won't admit it..." ("grin", xpos="far_left", ypos="head") $ gryffindor -=10 - $ her_mood += 30 + $ states.her.mood += 30 jump end_hermione_event @@ -293,7 +293,7 @@ label hg_pf_grope_ass_T3_front: jump end_hg_pf_grope "\"Open your eyes, or you'll lose the points!\"": - $ her_mood += 10 + $ states.her.mood += 10 her "*Tsk*! {size=-5}(You wretched old--){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush", ypos="head", flip=False) gen "Did you say something, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") @@ -375,7 +375,7 @@ label hg_pf_grope_ass_T3_continue: gen "You are being awfully quiet today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Am I...?" ("base", "base", "base", "R", cheeks="blush") - if her_tier <= 5: + if states.her.tier <= 5: her "Well, you know me, [name_genie_hermione]..." ("base", "narrow", "base", "up", cheeks="blush") her "I'm just happy to be able to do my part for the Gryffindor house..." ("base", "narrow", "base", "up", cheeks="blush") else: @@ -450,7 +450,7 @@ label hg_pf_grope_ass_T3_continue: nar "You slide one of your fingers down and place it against the girls slit..." her "[name_genie_hermione]? No! What are you...?" ("mad", "wide", "base", "stare", cheeks="blush") nar "Hermione tries to pull away from you..." - $ her_mood += 3 + $ states.her.mood += 3 menu: "-Force your finger into her pussy!-": @@ -466,7 +466,7 @@ label hg_pf_grope_ass_T3_continue: "-Prod her butthole instead-": nar "You place one of your thumbs against the girls butthole..." her "[name_genie_hermione]? No! What are you doing!?" ("mad", "wide", "base", "stare", cheeks="blush") - $ her_mood += 3 + $ states.her.mood += 3 menu: "-Force your thumb into her butthole-": @@ -506,7 +506,7 @@ label hg_pf_grope_ass_T3_fail: gen "(...)" ("base", xpos="far_left", ypos="head") "\"Alright, alright... One hundred points it is...\"": $ gryffindor += 100 - $ her_mood += 9 + $ states.her.mood += 9 gen "One hundred points to Gryffindor!" ("base", xpos="far_left", ypos="head") gen "There, it is done..." ("base", xpos="far_left", ypos="head") @@ -520,7 +520,7 @@ label hg_pf_grope_ass_T3_fail: her "What ever..." ("angry", "base", "base", "R", cheeks="blush") "\"Surely you can't be serious, [name_hermione_genie]!\"": - $ her_mood += 27 + $ states.her.mood += 27 her "Yes... I Am!" ("scream", "happyCl", "worried", "mid", cheeks="blush", ypos="head") gen "By the great desert..." ("angry", xpos="far_left", ypos="head") @@ -746,7 +746,7 @@ label hg_pf_grope_ass_T4_continue: nar "You slowly slide one of your hands across her pussy.." her "[name_genie_hermione]... What are you...?" ("open", "base", "base", "R", cheeks="blush", ypos="head", flip=False) - if her_tier <= 5: + if states.her.tier <= 5: gen "It's alright, just think about those {number=current_payout} points your house is about to receive..." ("base", xpos="far_left", ypos="head") else: gen "It's alright, just try to relax and enjoy yourself." ("base", xpos="far_left", ypos="head") @@ -787,7 +787,7 @@ label hg_pf_grope_ass_T4_continue: her "*Hnnngh*" ("clench", "happyCl", "worried", "mid", cheeks="blush") #still has eyes closed her "...." ("disgust", "wide", "base", "stare", cheeks="blush") #Opens her eyes wide gen "Did you just--" ("base", xpos="far_left", ypos="head") - if her_tier <= 5: + if states.her.tier <= 5: her "No..." ("angry", "happyCl", "worried", "mid", cheeks="blush") gen "Well it sure looks like you just--" ("base", xpos="far_left", ypos="head") her "I think we're done here!" ("soft", "happyCl", "worried", "mid", cheeks="blush", emote="angry") diff --git a/game/scripts/characters/hermione/events/favors/grope_her_breasts.rpy b/game/scripts/characters/hermione/events/favors/grope_her_breasts.rpy index 07066d3a..58964017 100644 --- a/game/scripts/characters/hermione/events/favors/grope_her_breasts.rpy +++ b/game/scripts/characters/hermione/events/favors/grope_her_breasts.rpy @@ -36,7 +36,7 @@ label hg_pf_grope_breasts_T2: menu: "-Squeeze her tits with all of your strength-": - $ her_mood += 6 + $ states.her.mood += 6 nar "You put strength into your hold..." her "my........." ("disgust", "narrow", "base", "down", cheeks="blush") nar "You squeeze her tits even harder..." @@ -55,7 +55,7 @@ label hg_pf_grope_breasts_T2: jump end_hg_pf_grope "-Give her tits a tender massage-": - $ her_mood += 3 + $ states.her.mood += 3 nar "You start massaging Hermione's beasts through her clothes..." her "[name_genie_hermione]...?" ("shock", "happyCl", "worried", "mid") gen "The points, [name_hermione_genie]... You need the points. Concentrate on that." ("base", xpos="far_left", ypos="head") @@ -86,7 +86,7 @@ label hg_pf_grope_breasts_T3: # Favour fails if you Slap them. call her_chibi_scene("behind_desk_front", trans=d7) $ hermione.strip("robe", "accessory") - if hg_strip.trigger: + if states.her.status.stripping: menu: "\"First, lift up your top\"" if hermione.is_worn("top"): her "[name_genie_hermione]?!" ("clench", "base", "base", "mid") @@ -135,7 +135,7 @@ label hg_pf_grope_breasts_T3: # Favour fails if you Slap them. nar "You give Hermione's tits a loud slap!" call slap_her - $ her_mood += 10 + $ states.her.mood += 10 her "!!!" ("scream", "wide", "base", "stare", cheeks="blush") her "Ouch! It hurts! *SOB*!" ("angry", "base", "worried", "mid", cheeks="blush") gen "Did you like it though?" ("base", xpos="far_left", ypos="head") @@ -296,7 +296,7 @@ label hg_pf_grope_breasts_T4_clothed: "*squeeze-squeeze-squeeze*" nar "You keep massaging her soft tits..." - if her_tier <= 5: + if states.her.tier <= 5: her "I mean, this isn't a big deal, as long as I am getting paid..." ("base", "narrow", "base", "up", cheeks="blush") if hermione.is_worn("top"): nar "You keep on massaging her tits through her clothes..." diff --git a/game/scripts/characters/hermione/events/favors/lets_have_sex.rpy b/game/scripts/characters/hermione/events/favors/lets_have_sex.rpy index 5ce313e3..7010296a 100644 --- a/game/scripts/characters/hermione/events/favors/lets_have_sex.rpy +++ b/game/scripts/characters/hermione/events/favors/lets_have_sex.rpy @@ -39,7 +39,7 @@ label hg_pf_sex: call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade, tears=hermione_tears, flip =False) else: her "" ("normal", "base", "base", "mid", cheeks="blush", xpos="mid", ypos="base", flip=False, trans=blackfade) @@ -65,9 +65,9 @@ label hg_pf_sex: call her_chibi("leave") # Increase level - $ hg_sex.trigger = True - if her_whoring < 24: #Adds points till 24. - $ her_whoring += 1 + $ states.her.status.sex = True + if states.her.level < 24: #Adds points till 24. + $ states.her.level += 1 $ achievements.unlock("nerdgasm") diff --git a/game/scripts/characters/hermione/events/favors/lets_have_sex_anal.rpy b/game/scripts/characters/hermione/events/favors/lets_have_sex_anal.rpy index 05c88805..4fe75387 100644 --- a/game/scripts/characters/hermione/events/favors/lets_have_sex_anal.rpy +++ b/game/scripts/characters/hermione/events/favors/lets_have_sex_anal.rpy @@ -5,7 +5,7 @@ ### Anal Sex Event 1 ### label hg_anal_sex_1_intro: - $ hg_anal.trigger = True + $ states.her.status.anal = True $ current_payout = 90 $ hg_pf_sex.change_icon(a="heart_half", b="heart_red") @@ -729,7 +729,7 @@ label hg_anal_sex_1_intro: ### Anal Sex Event 2 ### label hg_anal_sex_2_intro: - $ hg_anal.trigger = True + $ states.her.status.anal = True $ current_payout = 90 $ hg_pf_sex.change_icon(a="heart_half", b="heart_red") @@ -1135,7 +1135,7 @@ label hg_anal_sex_2_intro: label hg_anal_sex_3: - $ hg_anal.trigger = True + $ states.her.status.anal = True $ current_payout = 90 ### Will be added with Missionary pose ### diff --git a/game/scripts/characters/hermione/events/favors/show_me_your_panties.rpy b/game/scripts/characters/hermione/events/favors/show_me_your_panties.rpy index 40ec5786..8072f297 100644 --- a/game/scripts/characters/hermione/events/favors/show_me_your_panties.rpy +++ b/game/scripts/characters/hermione/events/favors/show_me_your_panties.rpy @@ -32,17 +32,17 @@ label hg_pf_admire_panties: $ hermione.wear("all") hide screen blkfade - if her_tier <= 2: + if states.her.tier <= 2: her ".................." ("annoyed", "base", "base", "R", trans=fade) - elif her_tier <= 3: + elif states.her.tier <= 3: her "" ("annoyed", "narrow", "base", "down", cheeks="blush", trans=fade) - elif her_tier <= 5: + elif states.her.tier <= 5: her "" ("base", "base", "base", "mid", trans=fade) else: her "" ("smile", "narrow", "base", "mid_soft", trans=fade) # If Hermione is at tier 4+, she does not care about points. - if her_tier < 4 and current_payout > 0: + if states.her.tier < 4 and current_payout > 0: $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]. Well done." ("base", xpos="far_left", ypos="head") @@ -63,7 +63,7 @@ label hg_pf_admire_panties: call her_walk("door", "base") # If Hermione is at tier 4+, she does not care/forgets about points. - if her_tier >= 4: + if states.her.tier >= 4: her "What about my points..." her "Eh... Who cares..." @@ -71,21 +71,21 @@ label hg_pf_admire_panties: call her_chibi("leave") # Increase level - if her_tier == 1: - if her_whoring < 3: # Points til 3 - $ her_whoring += 1 + if states.her.tier == 1: + if states.her.level < 3: # Points til 3 + $ states.her.level += 1 - elif her_tier == 2: - if her_whoring < 9: # Points til 9 - $ her_whoring += 1 + elif states.her.tier == 2: + if states.her.level < 9: # Points til 9 + $ states.her.level += 1 - elif her_tier == 3: - if her_whoring < 12: # Points til 12 - $ her_whoring += 1 + elif states.her.tier == 3: + if states.her.level < 12: # Points til 12 + $ states.her.level += 1 - elif her_tier == 4: - if her_whoring < 18: # Points til 18 - $ her_whoring += 1 + elif states.her.tier == 4: + if states.her.level < 18: # Points til 18 + $ states.her.level += 1 jump end_hermione_event @@ -254,7 +254,7 @@ label hg_pf_admire_panties_T2: # Call label label hg_pf_admire_panties_T3_intro_E1: if hg_pf_admire_panties.counter == 1: gen "[name_hermione_genie], could you show me your panties?" ("base", xpos="far_left", ypos="head") - if not hg_strip.trigger: + if not states.her.status.stripping: her "My panties?" ("open", "narrow", "base", "mid") gen "If it's not too much trouble..." ("base", xpos="far_left", ypos="head") her "*Hmm*... I suppose not..." ("angry", "squint", "base", "R") @@ -263,7 +263,7 @@ label hg_pf_admire_panties_T3_intro_E1: gen "(You'd be so lucky...)" ("base", xpos="far_left", ypos="head") else: gen "[name_hermione_genie], I think it's time I took another look at your panties." ("base", xpos="far_left", ypos="head") - if not hg_strip.trigger: + if not states.her.status.stripping: her "Again?" ("open", "narrow", "base", "mid") gen "Yes, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Okay." ("angry", "squint", "base", "R") @@ -326,7 +326,7 @@ label hg_pf_admire_panties_T3_intro_E1: her "[name_genie_hermione]?" ("angry", "base", "base", "mid", cheeks="blush") gen "First I'd like you to take those panties off." ("base", xpos="far_left", ypos="head") - if not hg_strip.trigger: + if not states.her.status.stripping: her "You want me to--" ("clench", "squint", "base", "mid", cheeks="blush") gen "Take them off for me, yes." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "mid", cheeks="blush") @@ -555,7 +555,7 @@ label hg_pf_admire_panties_T4_intro_E1: gen "Good girl." ("base", xpos="far_left", ypos="head") $ current_payout = 0 - $ her_mood +=5 + $ states.her.mood +=5 call ctc @@ -646,7 +646,7 @@ label hg_pf_admire_panties_T4_E1: gen "Good girl." ("base", xpos="far_left", ypos="head") $ current_payout = 0 - $ her_mood +=5 + $ states.her.mood +=5 call ctc diff --git a/game/scripts/characters/hermione/events/favors/show_me_your_tits.rpy b/game/scripts/characters/hermione/events/favors/show_me_your_tits.rpy index edd7c851..97ac2175 100644 --- a/game/scripts/characters/hermione/events/favors/show_me_your_tits.rpy +++ b/game/scripts/characters/hermione/events/favors/show_me_your_tits.rpy @@ -1,8 +1,6 @@ ### Hermione Admire Breasts ### -default hg_pf_admire_breasts_no_points = False - label hg_pf_admire_breasts: gen "{size=-4}(I feel like gazing upon those titties.){/size}" ("base", xpos="far_left", ypos="head") @@ -34,9 +32,9 @@ label hg_pf_admire_breasts: $ hermione.wear("all") hide screen blkfade - if her_tier <= 2: + if states.her.tier <= 2: her ".................." ("annoyed", "base", "worried", "R", xpos="mid", ypos="base", trans=fade) - elif her_tier <= 5: + elif states.her.tier <= 5: her "" ("base", "base", "base", "R", xpos="mid", ypos="base", trans=fade) else: her "" ("base", "narrow", "annoyed", "up", xpos="mid", ypos="base", trans=fade) @@ -46,10 +44,10 @@ label hg_pf_admire_breasts: gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") stop music fadeout 10.0 - if her_tier <= 2: + if states.her.tier <= 2: her ".................." ("annoyed", "base", "worried", "R") her "Thank you, [name_genie_hermione]..." ("open", "base", "base", "R") - elif her_tier <= 5: + elif states.her.tier <= 5: her ".................." ("annoyed", "base", "worried", "R") her "Thank you, [name_genie_hermione]..." ("soft", "base", "base", "mid") else: @@ -65,13 +63,13 @@ label hg_pf_admire_breasts: # Hermione leaves call her_walk("door", "base") - if her_tier <= 1 and hg_pf_admire_breasts.points == 1: + if states.her.tier <= 1 and hg_pf_admire_breasts.points == 1: her "........................" ("disgust", "narrow", "base", "down", cheeks="blush", xpos="far_right", flip=True, trans=d3) - elif her_tier <= 2 and hg_pf_admire_breasts.points == 1: + elif states.her.tier <= 2 and hg_pf_admire_breasts.points == 1: her "(How humiliating... What have I become...?)" ("disgust", "narrow", "base", "down", cheeks="blush", xpos="far_right", flip=True, trans=d3) - elif her_tier <= 2: + elif states.her.tier <= 2: her "........................" ("disgust", "narrow", "base", "down", cheeks="blush", xpos="far_right", flip=True, trans=d3) - elif her_tier <= 3 and hg_pf_admire_breasts.points == 1: + elif states.her.tier <= 3 and hg_pf_admire_breasts.points == 1: her "{size=-5}(That was so humiliating...){/size}" ("base", "narrow", "base", "up", cheeks="blush", xpos="far_right", flip=True, trans=d3) her "{size=-5}(No, Hermione, you silly girl!){/size}" ("angry", "base", "angry", "mid", cheeks="blush") her "{size=-5}(We are doing this to protect the honour of our house!){/size}" ("angry", "base", "angry", "mid", cheeks="blush") @@ -81,13 +79,13 @@ label hg_pf_admire_breasts: # Increase level - if her_tier == 1: - if her_whoring < 3: # Points til 3 - $ her_whoring += 1 + if states.her.tier == 1: + if states.her.level < 3: # Points til 3 + $ states.her.level += 1 - elif her_tier == 2: - if her_whoring < 9: # Points til 9 - $ her_whoring += 1 + elif states.her.tier == 2: + if states.her.level < 9: # Points til 9 + $ states.her.level += 1 jump end_hermione_event @@ -148,7 +146,7 @@ label hg_pf_admire_breasts_T1_intro_E1: call her_walk(action="leave") - $ her_mood += 3 + $ states.her.mood += 3 $ hg_pf_admire_breasts.fail() gen "Well.. Next time I guess." ("base", xpos="far_left", ypos="head") @@ -236,7 +234,7 @@ label hg_pf_admire_breasts_T1_intro_E2: call her_walk(action="leave") - $ her_mood += 6 + $ states.her.mood += 6 $ hg_pf_admire_breasts.fail() gen "Bummer.." ("base", xpos="far_left", ypos="head") @@ -303,7 +301,7 @@ label hg_pf_admire_breasts_T2_intro_E1: gen "How much will it cost me to see your tits?" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 - if not hg_pf_admire_breasts_no_points: + if not states.her.ev.show_me_your_tits.failed: her "How much will it cost you to...?" ("open", "base", "base", "mid") play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. @@ -352,7 +350,7 @@ label hg_pf_admire_breasts_T2_intro_E1: menu: "\"Fine. A hundred it is! Bare them already!\"": $ current_payout = 100 - $ her_mood = 0 + $ states.her.mood = 0 her "................." ("annoyed", "wide", "base", "stare") her "A hundred points..." ("annoyed", "base", "base", "R") @@ -365,7 +363,7 @@ label hg_pf_admire_breasts_T2_intro_E1: "\"Twenty-five house points that's my final offer!\"": $ current_payout = 25 - $ her_mood += 9 + $ states.her.mood += 9 her "..............." ("annoyed", "narrow", "worried", "down") her "You have to promise me not to touch them, [name_genie_hermione]." @@ -382,9 +380,9 @@ label hg_pf_admire_breasts_T2_intro_E1: gen "... She really left." ("base", xpos="far_left", ypos="head") gen "Maybe I have pushed her a bit too hard." ("base", xpos="far_left", ypos="head") - $ her_mood += 12 + $ states.her.mood += 12 $ hg_pf_admire_breasts.fail() - $ hg_pf_admire_breasts_no_points = True + $ states.her.ev.show_me_your_tits.failed = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/favors/show_me_your_tits_branches.rpy b/game/scripts/characters/hermione/events/favors/show_me_your_tits_branches.rpy index d5095d57..971c3b48 100644 --- a/game/scripts/characters/hermione/events/favors/show_me_your_tits_branches.rpy +++ b/game/scripts/characters/hermione/events/favors/show_me_your_tits_branches.rpy @@ -33,7 +33,7 @@ label hg_pf_admire_breasts_transition: call ctc gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - if her_tier <= 2: + if states.her.tier <= 2: her "{size=-5}(My breasts are completely exposed...){/size}" ("disgust", "narrow", "base", "down", cheeks="blush") gen "Come closer [name_hermione_genie], let me take a better look..." ("base", xpos="far_left", ypos="head") @@ -51,7 +51,7 @@ label hg_pf_admire_breasts_transition: call her_chibi_scene("behind_desk_front_show_tits", trans=fade) pause .5 - if her_tier <= 2: + if states.her.tier <= 2: her "............" ("annoyed", "narrow", "angry", "R", cheeks="blush", xpos="mid", ypos="base") gen "Very good..." ("base", xpos="far_left", ypos="head") her "....." ("annoyed", "base", "angry", "mid", cheeks="blush") @@ -59,7 +59,7 @@ label hg_pf_admire_breasts_transition: her "...................................." ("annoyed", "narrow", "annoyed", "mid") - elif her_tier == 3: + elif states.her.tier == 3: her "" ("base", "closed", "base", "mid", xpos="mid", ypos="base") gen "Very good..." ("base", xpos="far_left", ypos="head") @@ -98,7 +98,7 @@ label hg_pf_admire_breasts_T2_promise: # Call label nar "You take a long look at Hermione's naked tits..." #First time event. - #if her_whoring >= 6 and her_whoring <= 8: + #if states.her.level >= 6 and states.her.level <= 8: call ctc menu: @@ -109,7 +109,7 @@ label hg_pf_admire_breasts_T2_promise: # Call label return "-Shake your head in disapproval-": - $ her_mood += 3 + $ states.her.mood += 3 nar "You Look at the girl's tits for a while and then shake your head in disappointment..." her ".....................?!" @@ -118,7 +118,7 @@ label hg_pf_admire_breasts_T2_promise: # Call label label hg_pf_admire_breasts_T2_touch: # Not a Call label #Event Fails - # if her_whoring >= 6 and her_whoring <= 8: + # if states.her.level >= 6 and states.her.level <= 8: hide hermione_main show screen blkfade with d3 @@ -163,15 +163,15 @@ label hg_pf_admire_breasts_T2_touch: # Not a Call label call her_walk(action="leave") - $ her_mood += 22 + $ states.her.mood += 22 jump end_hermione_event label hg_pf_admire_breasts_T2_masturbate: # Not a Call label - $ her_mood += 2 - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.her.mood += 2 + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True hide hermione_main with d3 @@ -189,10 +189,10 @@ 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 hg_jerkoff.trigger == False: + if states.her.status.handjob == False: $ achievements.unlock("busted") $ hg_pf_talk.change_icon(a="heart_half", b="heart_red") - $ hg_jerkoff.triggered() # .trigger = True, .counter += 1 + $ states.her.status.handjob = True call ctc @@ -210,7 +210,7 @@ label hg_pf_admire_breasts_T2_masturbate: # Not a Call label menu: "\"Leave now, and you'll get no points!\"": - $ her_mood += 30 + $ states.her.mood += 30 her "After {size=+5}this{/size}? Are you kidding me, [name_genie_hermione]?" ("scream", "wide", "base", "stare", cheeks="blush") her "I showed you my..." ("scream", "wide", "base", "stare", cheeks="blush") @@ -239,12 +239,12 @@ label hg_pf_admire_breasts_T2_masturbate: # Not a Call label jump end_hermione_event "\"Alright, alright. That's enough for now.\"": - $ her_mood += 9 + $ states.her.mood += 9 jump end_hg_pf_admire_breasts "-Start jerking your cock faster-": - $ her_mood += 35 + $ states.her.mood += 35 nar "You start jerking your cock furiously!" her "No, [name_genie_hermione], stop!" ("scream", "base", "angry", "mid", cheeks="blush",emote="angry") @@ -286,7 +286,7 @@ label hg_pf_admire_breasts_T3: label hg_pf_admire_breasts_T3_promise: nar "You take a long look at Hermione's naked tits..." - # elif her_whoring >= 9 and her_whoring <= 11: + # elif states.her.level >= 9 and states.her.level <= 11: call ctc menu: @@ -301,7 +301,7 @@ label hg_pf_admire_breasts_T3_promise: return "\"*Hmm*... I've seen better.\"": - $ her_mood += 7 + $ states.her.mood += 7 her "*Tsk*..." her "Are we done then?" @@ -310,7 +310,7 @@ label hg_pf_admire_breasts_T3_promise: label hg_pf_admire_breasts_T3_touch: - # elif her_whoring >= 9 and her_whoring <= 11: + # elif states.her.level >= 9 and states.her.level <= 11: hide hermione_main show screen blkfade with d3 @@ -355,14 +355,14 @@ label hg_pf_admire_breasts_T3_touch: her "Can I get paid now please?" ("angry", "happyCl", "worried", "mid", cheeks="blush",emote="sweat") gen "Sure..." ("base", xpos="far_left", ypos="head") - $ her_mood += 9 + $ states.her.mood += 9 return label hg_pf_admire_breasts_T3_masturbate: - # elif her_whoring >= 9 and her_whoring <= 11: + # elif states.her.level >= 9 and states.her.level <= 11: hide hermione_main show screen blkfade with d3 @@ -481,7 +481,7 @@ label hg_pf_admire_breasts_T3_masturbate: hide hermione_main with d3 - $ her_mood += 45 + $ states.her.mood += 45 return @@ -507,7 +507,7 @@ label hg_pf_admire_breasts_T4: label hg_pf_admire_breasts_T4_look: # Call label nar "You take a long look at Hermione's naked tits..." - # elif her_whoring >= 12: + # elif states.her.level >= 12: call ctc @@ -537,7 +537,7 @@ label hg_pf_admire_breasts_T4_look: # Call label label hg_pf_admire_breasts_T4_touch: # Call label # Event Also Succeeds - # elif her_whoring >= 12: + # elif states.her.level >= 12: hide hermione_main show screen blkfade with d3 @@ -556,7 +556,7 @@ label hg_pf_admire_breasts_T4_touch: # Call label her "I didn't agree to this..." ("disgust", "narrow", "base", "down", cheeks="blush") gen "But you like it, don't you?" ("base", xpos="far_left", ypos="head") - if her_whoring >= 17: + if states.her.level >= 17: her "I love it [name_genie_hermione]!{heart}" ("open", "base", "base", "R", cheeks="blush") else: her "I do not, [name_genie_hermione]!{heart}" ("shock", "happyCl", "worried", "mid") @@ -565,7 +565,7 @@ label hg_pf_admire_breasts_T4_touch: # Call label nar "You give her tits a couple of firm squeezes..." call hide_blktone - if her_whoring >= 17: + if states.her.level >= 17: her "[name_genie_hermione], you promised not to touch..." ("base", "base", "base", "R", cheeks="blush") gen "I know, I know... But it's hard to resist..." ("base", xpos="far_left", ypos="head") her ".................{heart}{heart}{heart}" ("base", "narrow", "base", "up", cheeks="blush") @@ -582,7 +582,7 @@ label hg_pf_admire_breasts_T4_touch: # Call label her "[name_genie_hermione]... please, stop this..." ("open", "narrow", "base", "up", cheeks="blush") gen "Why? Because you like it too much?" ("base", xpos="far_left", ypos="head") - if her_whoring < 17: + if states.her.level < 17: her "No it's not that..." ("base", "base", "base", "R", cheeks="blush") her "I mean..." ("open", "base", "base", "R", cheeks="blush") @@ -606,7 +606,7 @@ label hg_pf_admire_breasts_T4_touch: # Call label hide screen blkfade with d5 - if her_whoring >= 17: + if states.her.level >= 17: her "You will have to make it up to me for breaking your promise, [name_genie_hermione]." ("base", "base", "base", "R", cheeks="blush") else: her "Please don't think I forgot that you broke your promise, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R", cheeks="blush") @@ -616,7 +616,7 @@ label hg_pf_admire_breasts_T4_touch: # Call label return label hg_pf_admire_breasts_T4_masturbate: # Call label - # elif her_whoring >= 12: + # elif states.her.level >= 12: hide hermione_main show screen blkfade with d3 @@ -631,7 +631,7 @@ label hg_pf_admire_breasts_T4_masturbate: # Call label call her_chibi_scene("grope_tits_jerk_off", trans=fade) call ctc - if her_whoring < 17: + if states.her.level < 17: her "[name_genie_hermione], actually I never agreed to this..." ("shock", "happyCl", "worried", "mid") gen "What are you complaining about, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") gen "I'm not even touching you..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/hermione/events/favors/suck_it.rpy b/game/scripts/characters/hermione/events/favors/suck_it.rpy index ed2c1382..4b2f5f32 100644 --- a/game/scripts/characters/hermione/events/favors/suck_it.rpy +++ b/game/scripts/characters/hermione/events/favors/suck_it.rpy @@ -38,7 +38,7 @@ label hg_pf_blowjob: call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: if mouth_full_of_cum: her "" ("full_cum", "base", "angry", "mid", cheeks="blush", tears="mascara", xpos="mid", ypos="base", trans=fade) else: @@ -49,7 +49,7 @@ label hg_pf_blowjob: else: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - if her_tier < 6: + if states.her.tier < 6: gen "Yes, [name_hermione_genie]. {number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout else: @@ -67,14 +67,14 @@ label hg_pf_blowjob: # Increase level - if her_tier == 5: - if her_whoring < 21: # Points til 21 - $ her_whoring +=1 - if her_tier == 6: - if her_whoring < 24: # Points til 24 - $ her_whoring += 1 + if states.her.tier == 5: + if states.her.level < 21: # Points til 21 + $ states.her.level +=1 + if states.her.tier == 6: + if states.her.level < 24: # Points til 24 + $ states.her.level += 1 - $ hg_blowjob.trigger = True + $ states.her.status.blowjob = True jump end_hermione_event @@ -105,7 +105,7 @@ label hg_pf_blowjob_T4_fail_intro: her "Suck you...{w=0.3} off?" ("disgust", "wide", "base", "mid") her "With my mouth?!" ("disgust", "wide", "base", "stare") - if hg_kiss.trigger: + if states.her.status.kissing: gen "Wouldn't even be the first time you've done it!" ("grin", xpos="far_left", ypos="head") her "Yes, but..." ("disgust", "narrow", "worried", "down") her "That was something different entirely..." ("disgust", "happyCl", "worried", "mid") @@ -128,7 +128,7 @@ label hg_pf_blowjob_T4_fail_intro: call bld gen "Tough luck..." ("base", xpos="far_left", ypos="head") - $ her_mood += 6 + $ states.her.mood += 6 $ hg_pf_blowjob.fail() jump end_hermione_event @@ -144,7 +144,7 @@ label hg_pf_blowjob_T4_fail_repeat: her "I refuse..." ("open", "closed", "base", "mid") gen "It's only a blowjob, girl..." ("base", xpos="far_left", ypos="head") - if hg_kiss.trigger: + if states.her.status.kissing: gen "It's not like you haven't done it before..." ("base", xpos="far_left", ypos="head") her "Are you talking about the kiss I gave it?" ("open", "base", "angry", "mid") her "That was something different entirely..." ("open", "closed", "base", "mid") @@ -160,7 +160,7 @@ label hg_pf_blowjob_T4_fail_repeat: call her_walk(action="leave") - $ her_mood += 6 + $ states.her.mood += 6 $ hg_pf_blowjob.fail() jump end_hermione_event @@ -662,27 +662,24 @@ label hg_pf_hidden_blowjob: gen "Who could that be at this hour?" ("base", xpos="far_left", ypos="head") #Priority. - if hg_blowjob.ss_counter == 0: + if not states.her.ev.suck_it.snape_encounter: jump hg_hidden_blowjob_snape - elif hg_blowjob.nt_counter == 0: + elif not states.her.ev.suck_it.tonks_encounter: jump hg_hidden_blowjob_tonks - elif luna_unlocked and hg_blowjob.ll_counter == 0: + elif states.lun.unlocked and not states.her.ev.suck_it.luna_encounter: jump hg_hidden_blowjob_luna - $ hg_hidden_bj_list = [] - if hg_blowjob.ss_counter >= 1: - $ hg_hidden_bj_list.append("snape") - if hg_blowjob.nt_counter >= 1: - $ hg_hidden_bj_list.append("tonks") - if hg_blowjob.ll_counter >= 1: - $ hg_hidden_bj_list.append("luna") + random: + block if states.her.ev.suck_it.snape_encounter: + jump hg_hidden_blowjob_snape - #Random Pick. - $ character_choice = renpy.random.choice(hg_hidden_bj_list) + block if states.her.ev.suck_it.tonks_encounter: + jump hg_hidden_blowjob_tonks - $ renpy.jump("hg_hidden_blowjob_" + character_choice) + block if states.her.ev.suck_it.luna_encounter: + jump hg_hidden_blowjob_luna label hg_hidden_blowjob_snape: call her_chibi_scene("bj_pause", trans=d5) @@ -719,8 +716,8 @@ label hg_hidden_blowjob_snape: jump hg_pf_blowjob_1 - $ hg_blowjob.ss_counter += 1 - $ her_mood = 30 + $ states.her.ev.suck_it.snape_encounter = True + $ states.her.mood = 30 stop music fadeout 1.0 her "{size=-2}[name_genie_hermione], no!{/size}" ("angry", "base", "angry", "mid", emote="angry") @@ -823,8 +820,8 @@ label hg_hidden_blowjob_luna: #TODO Once Luna X Hermione sex scenes are added, a jump hg_pf_blowjob_1 - $ hg_blowjob.ll_counter += 1 - $ her_mood += 10 + $ states.her.ev.suck_it.luna_encounter = True + $ states.her.mood += 10 stop music fadeout 1.0 her "{size=-2}[name_genie_hermione], no! Why would you let-{/size}" ("angry", "base", "angry", "mid", emote="angry") @@ -964,7 +961,7 @@ label hg_hidden_blowjob_luna: #TODO Once Luna X Hermione sex scenes are added, a jump hg_hidden_blowjob_cumming -#Needs Friendship level parameter added for tonks chat variations if ton_friendship < X: +#Needs Friendship level parameter added for tonks chat variations if states.ton.level < X: #Needs event label check for Tonks to ask if it's susan in there. replace if ag_st_imperio.tier >= 5: #Add Tonks BJ counter label hg_hidden_blowjob_tonks: @@ -1017,7 +1014,7 @@ label hg_hidden_blowjob_tonks: gen "You may leave now..." ("base", xpos="far_left", ypos="head") her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "base", "up") - if ton_friendship < 50: + if states.ton.level < 50: ton "You sure you don't need my assistance?" gen "I said, leave!" ("angry", xpos="far_left", ypos="head") else: @@ -1030,8 +1027,8 @@ label hg_hidden_blowjob_tonks: jump hg_pf_blowjob_1 - $ hg_blowjob.nt_counter += 1 - $ her_mood += 10 + $ states.her.ev.suck_it.tonks_encounter = True + $ states.her.mood += 10 # Setup $ ton_outfit_last.save() # Store current outfit. @@ -1083,7 +1080,7 @@ label hg_hidden_blowjob_tonks: ton "Like I'm going to believe that..." ("upset", "base", "base", "downR") ton "Are you masturbating, [name_genie_tonks]?" ("horny", "base", "raised", "mid") - if ton_friendship < 50: + if states.ton.level < 50: ton "Or perhaps somebody else has their tongue wrapped around it?" ("soft", "base", "raised", "L") her "{size=-4}(*Blergchhhgh*... *Cough*... *Cough*... *Cough*...){/size}" ("open_wide_tongue", "base", "worried", "ahegao") ton "What was that?" ("base", "base", "raised", "mid") @@ -1108,7 +1105,7 @@ label hg_hidden_blowjob_tonks: ton "Miss Granger?!" ("open", "wide", "shocked", "stare") - if her_reputation <= 15: + if states.her.public_level <= 15: ton "*Hmm?*... I thought she'd be busy pretending to study in the library." ("open", "base", "raised", "mid") her "(Pretending???)" ("open_wide_tongue", "narrow", "base", "up") else: @@ -1117,7 +1114,7 @@ label hg_hidden_blowjob_tonks: with hpunch gen "Ouch, I felt that..." ("base", xpos="far_left", ypos="head") - if ton_friendship < 50: + if states.ton.level < 50: ton "So she has her lips wrapped around you? {w=0.5}Right now???" ("soft", "base", "shocked", "L") else: ton "You're telling me that you are fucking her mouth? {w=0.5}Right now???" ("soft", "base", "shocked", "mid") @@ -1184,7 +1181,7 @@ label hg_hidden_blowjob_tonks: ton "Miss Granger, what a pleasant surprise." ("grin", "wide", "raised", "L") ton "Are you having a good time back there?" ("base", "wide", "base", "L") - if her_reputation <= 15: + if states.her.public_level <= 15: ton "It sure sounded like you were..." ("horny", "base", "raised", "mid") else: ton "You nasty little cock sucker." ("horny", "base", "raised", "mid") @@ -1196,7 +1193,7 @@ label hg_hidden_blowjob_tonks: her "" ("open_wide_tongue", "squint", "worried", "up", xpos="base", flip=False) call her_chibi_scene("bj", trans=d5) - if ton_friendship < 50: + if states.ton.level < 50: ton "You're really going to town, aren't you..." ("base", "base", "base", "down") ton "You should make sure you breathe every once in a while dear girl." ("horny", "base", "base", "mid") gen "If you need to have her vitals checked out afterwards - I'm sure we could come to an arrangement." ("grin", xpos="far_left", ypos="head") @@ -1244,7 +1241,7 @@ label hg_hidden_blowjob_tonks: ton "Wish I could watch you two a little longer..." ("soft", "base", "base", "L") ton "But I have to head back to my office." ("open", "base", "base", "downR") gen "What a shame." ("base", xpos="far_left", ypos="head") - if ton_friendship < 50: + if states.ton.level < 50: ton "Make sure she gets a good taste." ("horny", "base", "base", "mid") else: ton "Make sure she swallows for me." ("horny", "base", "base", "mid") @@ -1342,7 +1339,7 @@ label hg_hidden_blowjob_cumming: her "*Slurp*--?" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause", trans=d5) - if her_tier <= 5: + if states.her.tier <= 5: her "*Uhm*..." ("angry", "narrow", "base", "down") her "I eat cockroaches?" ("angry", "base", "base", "mid") gen "What the fuck?" ("base", xpos="far_left", ypos="head") @@ -1425,7 +1422,7 @@ label hg_hidden_blowjob_cumming: her "............." ("grin", "narrow", "base", "dead") #Smile. her "Can I get paid now?" - if her_tier >= 6: + if states.her.tier >= 6: if game.daytime: gen "What, even after I just gave you lunch?" ("base", xpos="far_left", ypos="head") else: @@ -1483,7 +1480,7 @@ label hg_hidden_blowjob_cumming: gen "Yes I did, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Good, so Can I get paid now?" ("grin", "narrow", "base", "dead") - if her_tier >= 6: + if states.her.tier >= 6: gen "What, even after I just gave you a salon treatment?" ("base", xpos="far_left", ypos="head") gen "Other women pay a lot of money for a good facial." ("base", xpos="far_left", ypos="head") her "............." ("annoyed", "squint", "base", "mid") #Smile. diff --git a/game/scripts/characters/hermione/events/favors/talk_to_me.rpy b/game/scripts/characters/hermione/events/favors/talk_to_me.rpy index 39e84dd4..53fd3538 100644 --- a/game/scripts/characters/hermione/events/favors/talk_to_me.rpy +++ b/game/scripts/characters/hermione/events/favors/talk_to_me.rpy @@ -34,10 +34,10 @@ label hg_pf_talk: # Points - if her_tier <= 3: + if states.her.tier <= 3: $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]. Well done." ("base", xpos="far_left", ypos="head") - elif her_tier == 4 and hg_pf_talk.points == 1: + elif states.her.tier == 4 and hg_pf_talk.points == 1: gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]. Well done." ("base", xpos="far_left", ypos="head") her "Oh, don't worry about the points, [name_genie_hermione]. We were just having a nice talk." gen "Really? What about Gryffindor winning the cup?" ("base", xpos="far_left", ypos="head") @@ -47,7 +47,7 @@ label hg_pf_talk: if hg_pf_talk.counter == 1: #First time. her "Another {number=current_payout} points... The Guys will be so happy!" ("base", "happyCl", "base", "mid") - if her_mood != 0: + if states.her.mood != 0: her "Will this be all then?" ("annoyed", "base", "angry", "mid") else: her "Will this be all then?" ("soft", "base", "base", "mid") @@ -59,13 +59,13 @@ label hg_pf_talk: call her_chibi("leave") # Increase level - if her_tier == 1: - if her_whoring < 3: # Points til 3 - $ her_whoring += 1 + if states.her.tier == 1: + if states.her.level < 3: # Points til 3 + $ states.her.level += 1 - if her_tier == 2: - if her_whoring < 9: # Points til 9 - $ her_whoring += 1 + if states.her.tier == 2: + if states.her.level < 9: # Points til 9 + $ states.her.level += 1 jump end_hermione_event @@ -115,8 +115,8 @@ label hg_pf_talk_T1: # Call label menu: "-Jerk off while she is talking-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True hide hermione_main nar "You reach under the desk and grab your cock..." @@ -131,7 +131,7 @@ label hg_pf_talk_T1: # Call label her "Yes... Well, that test I failed..." ("open", "base", "base", "mid") "-Participate in the conversation-": - $ genie_masturbating = False #NOT JERKING OFF. + $ states.gen.masturbating = False #NOT JERKING OFF. gen "Yes, what a tragedy that was..." ("base", xpos="far_left", ypos="head") her "Exactly! I'm glad you understand, [name_genie_hermione]." ("open", "base", "angry", "mid") @@ -141,7 +141,7 @@ label hg_pf_talk_T1: # Call label her "I mean, I always score the top marks, but I have been studying really hard anyway..." ("open", "closed", "base", "mid") her "And now I sort of feel like sometimes I know more than professor Sprout herself..." ("base", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes... *Ah*...){/size}" ("base", xpos="far_left", ypos="head") else: gen "(Professor Sprout... *He-he*, what a ridiculous name...)" ("grin", xpos="far_left", ypos="head") @@ -151,7 +151,7 @@ label hg_pf_talk_T1: # Call label her "Well, some students are making fun of professor Quirrell behind his back..." ("open", "base", "base", "mid") her "I disapprove of such behaviour, of course." ("base", "closed", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Come on! Say something naughty!){/size}" ("base", xpos="far_left", ypos="head") else: gen ".................." ("base", xpos="far_left", ypos="head") @@ -162,8 +162,8 @@ label hg_pf_talk_T1: # Call label her "It is so invigorating to know that you are doing the right thing!" ("base", "base", "base", "mid") her "Wouldn't you agree, professor?" ("base", "base", "base", "mid") - if genie_masturbating: - $ genie_masturbating = False + if states.gen.masturbating: + $ states.gen.masturbating = False gen "{size=-4}(Dammit. Now she's killed the mood completely...){/size}" ("base", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") with d3 @@ -184,7 +184,7 @@ label hg_pf_talk_T1: # Call label ### Tier 2 ### # Hermione realises you've been jerking off this whole time! -# 'hg_jerkoff.trigger' is required to advance into the next tier. +# 'states.her.status.handjob' is required to advance into the next tier. # Event 1 (i) - Hermione can spot you jerking off. # Event 2 (r) - Slight dialogue variation if you've been busted jerking off before. @@ -199,7 +199,7 @@ label hg_pf_talk_T2_intro_E1: label hg_pf_talk_T2_E1: - if hg_jerkoff.trigger: + if states.her.status.handjob: her "Another talk, [name_genie_hermione]?" ("soft", "base", "base", "mid") her "(I hope he doesn't do \"that\" again...)" ("disgust", "narrow", "base", "down") else: @@ -228,8 +228,8 @@ label hg_pf_talk_T2: menu: "-Start jerking off-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True hide hermione_main nar "You reach under the desk and grab your cock..." @@ -245,20 +245,20 @@ label hg_pf_talk_T2: gen "{size=-4}(Is she onto me? Nah...){/size}" ("base", xpos="far_left", ypos="head") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "Don't mention it." ("base", xpos="far_left", ypos="head") her "Well, like I was saying..." ("open", "closed", "base", "mid") her "I heard that this one girl sold one of the professors some naughty pictures of herself for ten house points..." ("open", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(What a slut... *Ah*... Yes...){/size}" ("base", xpos="far_left", ypos="head") else: gen "Ten points, *huh*?" ("base", xpos="far_left", ypos="head") her "Yes..." ("open", "closed", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: her "And these two other girls..." ("annoyed", "base", "worried", "R") her "There is a rumour that they are actually sleeping with professor Snape..." ("annoyed", "base", "worried", "mid") gen "{size=-4}(Yes... Those nasty Slytherin sluts!){/size}" ("base", xpos="far_left", ypos="head") @@ -283,7 +283,7 @@ label hg_pf_talk_T2: call cum_block gen "*Argh*! YES!" ("angry", xpos="far_left", ypos="head") - if hg_jerkoff.trigger: + if states.her.status.handjob: her "I can't believe it, [name_genie_hermione]!" ("soft", "base", "angry", "mid") her "You were touching yourself!{w} Again!" ("angry", "base", "angry", "mid") else: @@ -303,12 +303,12 @@ label hg_pf_talk_T2: gen "Yes, you did." ("base", xpos="far_left", ypos="head") her "*Eww*... I feel so dirty now..." ("angry", "base", "angry", "mid") - $ her_mood = +7 + $ states.her.mood = +7 - if hg_jerkoff.trigger == False: + if states.her.status.handjob == False: $ achievements.unlock("busted") $ hg_pf_talk.change_icon(a="heart_half", b="heart_red") - $ hg_jerkoff.triggered() # .trigger = True, .counter += 1 + $ states.her.status.handjob = True else: her "We need to put an end to this behaviour, [name_genie_hermione]!" ("open", "closed", "base", "mid") @@ -389,8 +389,8 @@ label hg_pf_talk_T3: menu: "-Start jerking off-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True hide hermione_main nar "You reach under the desk and grab your cock..." @@ -404,7 +404,7 @@ label hg_pf_talk_T3: gen "Now, tell me about your day." ("base", xpos="far_left", ypos="head") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "And put some effort into it, if you want to earn those points." ("base", xpos="far_left", ypos="head") her "Right..." ("open", "closed", "base", "mid") @@ -413,7 +413,7 @@ label hg_pf_talk_T3: her "As a muggle-born, I can't help but notice how inaccurate most of her teachings are, so I briefly considered dropping the subject." ("open", "base", "base", "mid") her "But ever since I failed that test, I feel like I should take all the extra credit that I can get..." ("open", "narrow", "worried", "down") her "It's not too bad though... Her views on muggle and wizarding relations are quite refreshing." ("base", "happy", "base", "mid_soft") - if genie_masturbating: + if states.gen.masturbating: gen "*Hmm*... Yes, very refreshing..." ("base", xpos="far_left", ypos="head") her "*Ugh*... Do you have to touch yourself, [name_genie_hermione]?" ("disgust", "narrow", "worried", "down", cheeks="blush") gen "Just keep talking, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") @@ -431,7 +431,7 @@ label hg_pf_talk_T3: her "They thought it would be funny to play around with them, and to try and make it look like they were handling various sexual devices." ("open", "base", "base", "R") her "Since most Slytherins are pure-blooded, they had no idea that they were just making fun of miscellaneous house-hold items..." ("open", "base", "base", "mid", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: gen "(If only you knew about the time I had with Henry the hoover.)" ("angry", xpos="far_left", ypos="head") else: gen "Well, if you're brave enough..." ("base", xpos="far_left", ypos="head") @@ -447,7 +447,7 @@ label hg_pf_talk_T3: her "I..." ("annoyed", "happyCl", "worried", "mid", cheeks="blush") her "Well, it's obvious to anyone with common sense isn't it!" ("open", "narrow", "angry", "R", cheeks="blush") her "Even those Slytherin girls quickly realised what people actually use it for... And they're thicker than polyjuice potion!" ("mad", "closed", "angry", "mid", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: gen "(I bet you've got a whole drawer full of them...)" ("base", xpos="far_left", ypos="head") else: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") @@ -458,7 +458,7 @@ label hg_pf_talk_T3: gen "Pretend that I don't." ("base", xpos="far_left", ypos="head") her "..." ("normal", "narrow", "base", "down", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: her "People use it, to do what you're doing..." ("open", "happyCl", "worried", "mid") gen "Which is..." ("base", xpos="far_left", ypos="head") her "Well, you put it against--{w=0.2}*Ahem*...{w=0.4} And then you turn it on to..." ("normal", "narrow", "worried", "down", cheeks="blush") @@ -491,8 +491,8 @@ label hg_pf_talk_T3: gen "*Argh*! YES!" ("angry", xpos="far_left", ypos="head") play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed - if her_tier <= 4: - $ her_mood = +7 + if states.her.tier <= 4: + $ states.her.mood = +7 her "[name_genie_hermione]...{w} Did you just...?" ("disgust", "narrow", "base", "down") else: her "[name_genie_hermione]...{w} Did you just...?" ("soft", "narrow", "worried", "down") @@ -505,7 +505,7 @@ label hg_pf_talk_T3: with d3 pause.5 - if her_tier <= 4: + if states.her.tier <= 4: her "*Yuck*!..." ("annoyed", "narrow", "base", "mid_soft") gen "That...{w=0.4} Felt...{w=0.4} Amazing!" ("base", xpos="far_left", ypos="head") her "..." ("base", "narrow", "base", "mid_soft", xpos="mid", ypos="base") @@ -522,7 +522,7 @@ label hg_pf_talk_T3: gen "You've done well today, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "You've soiled your entire desk!" ("mad", "wide", "base", "stare") gen "That's odd... Well, I'm sure it will get cleaned at one point or another." ("base", xpos="far_left", ypos="head") - if her_tier <= 4: + if states.her.tier <= 4: her "Gross..." ("normal", "happyCl", "worried", "mid", cheeks="blush") else: her "(Such a waste...)" ("soft", "narrow", "worried", "down", cheeks="blush") @@ -669,8 +669,8 @@ label hg_pf_talk_tonks: menu: "-Start jerking off-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True call hide_characters hide screen bld1 with d3 @@ -682,7 +682,7 @@ label hg_pf_talk_tonks: nar "You reach under the desk and grab your cock..." "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False ton "" ("horny", "base", "base", "down") her "There's the time Tracey Davis gave Slughorn a lap dance, in the middle of class!" ("annoyed", "narrow", "angry", "R", cheeks="blush") @@ -698,12 +698,12 @@ label hg_pf_talk_tonks: her "I'm almost certain one of the girls wasn't wearing any underwear in class - which is completely unhygienic." ("angry", "narrow", "worried", "mid_soft") her "It was as if a snail had dragged themselves across one of the seats." ("annoyed", "base", "base", "R", cheeks="blush") her "I had to insist on staying after class - and I spent a good ten minutes scourgifying everything." ("disgust", "narrow", "worried", "down", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: gen "(I bet you lapped it all up, slut!)" ("grin", xpos="far_left", ypos="head") ton "Why bother, the elves would've done it anyway." ("mad", "narrow", "raised", "R") her "About that--" ("open", "squint", "angry", "mid") ton "Actually, let's save that topic for another time..." ("normal", "narrow", "base", "L") - if genie_masturbating: + if states.gen.masturbating: gen "(You wanted it all for yourself, that's why!)" ("angry", xpos="far_left", ypos="head") ton "Is there anything else you could tell us about these... Naughty Slytherin girls?" ("horny", "base", "angry", "mid", hair="horny") her "Of course!" ("open", "closed", "angry", "mid") @@ -719,7 +719,7 @@ label hg_pf_talk_tonks: her "I know... It angers me to the core..." ("annoyed", "base", "worried", "mid") ton "" ("upset", "base", "worried", "L", hair="basic") her "Everyone has been working so hard towards winning the cup... I have been working so hard..." ("open", "base", "worried", "mid", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: gen "(You have no idea what your hard work does to me...)" ("base", xpos="far_left", ypos="head") her "The way it is right now doesn't promote fairness at all." ("annoyed", "narrow", "worried", "down") ton "I can see how that could be a problem..." ("open", "closed", "base", "mid") @@ -736,8 +736,8 @@ label hg_pf_talk_tonks: menu: "-Start jerking off-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True call hide_characters hide screen bld1 with d3 @@ -749,15 +749,15 @@ label hg_pf_talk_tonks: nar "You reach under the desk and grab your cock..." "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False ton "" ("horny", "base", "base", "down") her "" ("annoyed", "squint", "angry", "mid", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: gen "(Oh yes you have, you naughty slut...)" ("grin", xpos="far_left", ypos="head") else: - $ tmp_val = her_jerk_off_counter+hg_pf_admire_panties.counter+hg_pf_admire_breasts.counter+hg_pf_grope.counter+hg_pf_strip.counter+hg_pf_handjob.counter+hg_pf_blowjob.counter+hg_pf_titjob.counter+hg_pf_sex.counter + $ tmp_val = states.gen.stats.masturbated_to_hermione+hg_pf_admire_panties.counter+hg_pf_admire_breasts.counter+hg_pf_grope.counter+hg_pf_strip.counter+hg_pf_handjob.counter+hg_pf_blowjob.counter+hg_pf_titjob.counter+hg_pf_sex.counter $ tmp_word = num_to_word(tmp_val) # Sum up all favour counters and turn them into a word. gen "{size=-4}... [tmp_word]...{/size}" ("base", xpos="far_left", ypos="head") @@ -793,7 +793,7 @@ label hg_pf_talk_tonks: her "I assure you that I wasn't considering selling favours myself, when I sent that letter..." ("annoyed", "narrow", "worried", "down", cheeks="blush") her "But then we had that talk..." ("soft", "base", "base", "R", cheeks="blush") her "And I finally decided, that if I wanted to help my house catch up in points... To help Gryffindor..." ("soft", "narrow", "worried", "down", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: gen "(And because you love it.)" ("grin", xpos="far_left", ypos="head") ton "Well, if you can't beat them..." ("horny", "base", "base", "R", hair="horny") ton "So, how has it been working out for you so far, Miss Granger?" ("open", "base", "base", "L", hair="basic") @@ -816,7 +816,7 @@ label hg_pf_talk_tonks: ton "... Wait, what?" ("mad", "shocked", "raised", "L") gen "..." ("grin", xpos="far_left", ypos="head") her "*Ugh*... I assumed you had read through my initial letter more thoroughly..." ("open", "narrow", "worried", "mid_soft") - if genie_masturbating: + if states.gen.masturbating: gen "(Too busy packing her bags to get here I bet...)" ("base", xpos="far_left", ypos="head") else: gen "Now-now, Miss Granger... Miss Tonks was very quick to get here when she heard about your accusations." ("base", xpos="far_left", ypos="head") @@ -828,7 +828,7 @@ label hg_pf_talk_tonks: ton "I can easily sort out that problem!" ("horny", "base", "base", "L", hair="horny") her "I {i}did{/i} mention it!" ("angry", "happyCl", "worried", "mid") ton "Oh..." ("annoyed", "base", "raised", "downR", hair="basic") - if not genie_masturbating: + if not states.gen.masturbating: gen "..." ("base", xpos="far_left", ypos="head") if not _yourself: ton "Hold on..." ("open", "closed", "base", "mid") @@ -841,7 +841,7 @@ label hg_pf_talk_tonks: her "So when you suggested that I should try asking Professor Dumbledore for a favour..." ("soft", "base", "base", "mid", cheeks="blush") her "Well, I figured if an auror thought it wasn't such a bad thing... Then perhaps I could try and see for myself..." ("open", "narrow", "base", "down", cheeks="blush") - if not genie_masturbating: + if not states.gen.masturbating: gen "And boy has she tried it out a bunch..." ("base", xpos="far_left", ypos="head") her "*Hmph*..." ("annoyed", "narrow", "angry", "R", cheeks="blush") @@ -860,11 +860,11 @@ label hg_pf_talk_tonks: her "I..." ("angry", "narrow", "worried", "down", cheeks="blush") her "*Uhm*..." ("soft", "base", "base", "R", cheeks="blush") her "I haven't actively considered it..." ("soft", "narrow", "base", "mid_soft", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: gen "(Yes! You want to make out with your slutty teacher, don't you!)" ("angry", xpos="far_left", ypos="head") ton "Then perhaps you should consider it, Miss Granger." ("base", "base", "base", "L", hair="basic") ton "I'm sure your house would be even more ecstatic about a sudden spike in house points." ("soft", "wide", "raised", "L") - if genie_masturbating: + if states.gen.masturbating: gen "(And they're not the only ones who'd be ecstatic!)" ("angry", xpos="far_left", ypos="head") nar "*fap-fap-fap*" gen "(I'm getting close. Maybe I should ask her about something else...)" ("base", xpos="far_left", ypos="head") @@ -879,7 +879,7 @@ label hg_pf_talk_tonks: menu: "\"Those pesky Slytherin Sluts!\"": her "What else would you like to know?" ("open", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "What other--{w=0.2} *Ugh*...{w=0.4} Activities do you have here?" ("base", xpos="far_left", ypos="head") else: gen "What other activities do you have here?" ("base", xpos="far_left", ypos="head") @@ -890,13 +890,13 @@ label hg_pf_talk_tonks: else: ton "Is there any other... uncouth behaviour going on, outside of the dungeons?" ("grin", "base", "raised", "L", hair="horny") ton "You've only mentioned potions and alchemy class thus far." ("base", "base", "base", "L") - if genie_masturbating: + if states.gen.masturbating: gen "(Where did those bad teachers touch you?)" ("grin", xpos="far_left", ypos="head") else: gen "Yes, that!" ("base", xpos="far_left", ypos="head") her "Well, of course there is..." ("annoyed", "base", "angry", "mid_soft") her "There are plenty of filthy tactics being used - all over the school." ("open", "base", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "(Filthy, *huh*?)" ("angry", xpos="far_left", ypos="head") nar "*fap-fap-fap*" else: @@ -904,7 +904,7 @@ label hg_pf_talk_tonks: ton "Such as?" ("horny", "base", "raised", "L") random: - block if cho_tier >= 2: # After winning against Hufflepuff. + block if states.cho.tier >= 2: # After winning against Hufflepuff. her "It's not even just the Slytherins doing it!" ("open", "closed", "angry", "mid") ton "Oh really?" ("base", "base", "raised", "L") her "Yes, that girl from Ravenclaw...{w=0.6} Cho Chang..." ("open", "base", "angry", "mid") @@ -912,7 +912,7 @@ label hg_pf_talk_tonks: gen "(Yes, very dirty indeed...)" ("grin", xpos="far_left", ypos="head") her "You could clearly see her panties at one point..." ("soft", "base", "angry", "mid") her "Surely she dressed that way just to distract the other team..." ("annoyed", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: gen "(I'm sure it distracted the commentator as well...)" ("base", xpos="far_left", ypos="head") else: gen "Were you looking, Miss Granger?" ("base", xpos="far_left", ypos="head") @@ -931,7 +931,7 @@ label hg_pf_talk_tonks: ton "She's a feisty one, isn't she!" ("horny", "base", "angry", "mid") her "..." ("annoyed", "base", "angry", "mid") ton "Would you like to tell me what she did?" ("horny", "base", "base", "L") - if genie_masturbating: + if states.gen.masturbating: gen "(Stripped right in front us is what she did!)" ("angry", xpos="far_left", ypos="head") "*fap-fap-fap*" else: @@ -939,7 +939,7 @@ label hg_pf_talk_tonks: her "She was dancing! Right here!" ("open", "closed", "base", "mid") ton "Oh, did she really?" ("base", "base", "raised", "L") ton "With or without clothes?" ("horny", "base", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: her "Without..." ("soft", "narrow", "base", "R_soft") else: gen "The latter!" ("grin", xpos="far_left", ypos="head") @@ -953,15 +953,15 @@ label hg_pf_talk_tonks: her "I know!" ("disgust", "narrow", "base", "down") her "Even then, that doesn't compare to the things those Slytherins have been doing." ("angry", "narrow", "angry", "down") - block weight 0.9 if astoria_unlocked: # After Astoria got caught. + block weight 0.9 if states.ast.unlocked: # After Astoria got caught. her "That Astoria girl, casting imperio on a student, and making her lift her top..." ("soft", "narrow", "angry", "R") ton "Ah, yes that was unfortunate..." ("normal", "base", "worried", "R", hair="basic") - if genie_masturbating: + if states.gen.masturbating: gen "(And hot...)" ("angry", xpos="far_left", ypos="head") her "I take it that has been dealt with?" ("normal", "base", "base", "R") ton "Yes, there's no need for you to worry about her, Miss Granger..." ("base", "happyCl", "raised", "mid", hair="basic") ton "She has been properly reprimanded - and both professor Dumbledore and I have taken it upon ourselves to work on her behaviour." ("horny", "base", "base", "mid", hair="horny") - if genie_masturbating: + if states.gen.masturbating: gen "(If only there was a reason to punish your naughty behaviour...)" ("grin", xpos="far_left", ypos="head") nar "*fap-fap-fap*" her "I see..." ("normal", "narrow", "worried", "down") @@ -970,7 +970,7 @@ label hg_pf_talk_tonks: her "Anyway..." ("open", "closed", "base", "mid") her "She's not even the worst person amongst the Slytherins." ("angry", "narrow", "angry", "down") - block if not any(((cho_tier >= 2), (cc_pf_strip.counter >= 2), astoria_unlocked)): + block if not any(((states.cho.tier >= 2), (cc_pf_strip.counter >= 2), states.ast.unlocked)): her "..." ("annoyed", "narrow", "worried", "down", cheeks="blush") ton "Miss Granger?" ("normal", "base", "raised", "L") her "*Ehm*..." ("annoyed", "base", "base", "R", cheeks="blush") @@ -984,7 +984,7 @@ label hg_pf_talk_tonks: ton "" ("base", "base", "raised", "mid", hair="basic") her "One of the Slytherin students was being quite rough with a {i}Blast-ended Skrewt{/i}... Making it go off on purpose..." ("annoyed", "narrow", "worried", "down") - if genie_masturbating: + if states.gen.masturbating: her "She was shaking it up and down... Which was only agitating it a bit initially." ("annoyed", "base", "base", "mid") gen "(Yes I bet you'd love to do that with my cock.)" ("grin", xpos="far_left", ypos="head") her "But then she really got going, and it got to the point where it could blast off at a moments notice..." ("open", "base", "base", "mid") @@ -1062,7 +1062,7 @@ label hg_pf_talk_tonks: her "Well..." ("angry", "narrow", "worried", "down") ton "Tell me, Miss Granger... What does our Headmaster ask of you to earn those house points?" ("horny", "base", "angry", "mid", hair="horny") gen "..." ("angry", xpos="far_left", ypos="head") - if genie_masturbating: + if states.gen.masturbating: gen "(Let's take a short break, my hands are getting tired.)" ("base", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") her "I..." ("angry", "happyCl", "worried", "mid") @@ -1091,9 +1091,9 @@ label hg_pf_talk_tonks: call ton_walk(action="leave") gen "(She ignored me...?)" ("base", xpos="far_left", ypos="head") - if genie_masturbating: + if states.gen.masturbating: gen "(And I just got blue-balled, bollocks...)" ("base", xpos="far_left", ypos="head") - $ genie_masturbating = False + $ states.gen.masturbating = False "\"Tonks isn't some kind of snitch\"": gen "Or are you telling me that her word isn't good enough?" ("base", xpos="far_left", ypos="head") @@ -1104,7 +1104,7 @@ label hg_pf_talk_tonks: gen "That can be arrange--" ("base", xpos="far_left", ypos="head") ton "Done!" ("base", "base", "angry", "mid") $ current_payout = 10 - if genie_masturbating: + if states.gen.masturbating: call gen_chibi("jerk_off_behind_desk") gen "(This should be good...)" ("base", xpos="far_left", ypos="head") her "W-{w=0.3}What would you like to know about, professor?" ("open", "base", "base", "R", cheeks="blush") @@ -1115,12 +1115,12 @@ label hg_pf_talk_tonks: if hg_pf_strip.counter > 1: # Has stripped her "Well, he asked me to dance for him..." ("open", "narrow", "base", "R_soft", cheeks="blush") ton "Dance for him, you say..." ("open", "base", "raised", "R") - if genie_masturbating: + if states.gen.masturbating: gen "(And you loved every second of it, judged by how much that butt was bouncing...)" ("angry", xpos="far_left", ypos="head") #elif hg_pf_admire_panties.counter > 1: # Has shown panties #her "Well, he made me show him my panties..." ("open", "narrow", "base", "R_soft", cheeks="blush") #ton "Your panties, you say..." ("base", "base", "raised", "L", cheeks="blush") - #if genie_masturbating: + #if states.gen.masturbating: #gen "(And you loved every second of it... I bet you were totally wet under those panties!)" ("angry", xpos="far_left", ypos="head") #elif: # Has shown bra/breasts #her "Well, he made take my top off..." ("open", "narrow", "base", "R_soft", cheeks="blush") @@ -1133,7 +1133,7 @@ label hg_pf_talk_tonks: her "Humiliated!" ("annoyed", "narrow", "base", "R_soft", cheeks="blush") ton "And your headmaster, did he enjoy it?" ("base", "narrow", "raised", "mid") - if genie_masturbating: + if states.gen.masturbating: if hg_pf_strip.counter > 1: her "He did seem to enjoy it." ("open", "closed", "base", "mid", cheeks="blush") gen "(Yes! I thoroughly enjoyed that little show of yours, you slut!)" ("angry", xpos="far_left", ypos="head") @@ -1207,6 +1207,6 @@ label hg_pf_talk_tonks: $ tonks.equip(ton_outfit_last) $ hermione.equip(her_outfit_last) - $ tonks_busy = True + $ states.ton.busy = True return diff --git a/game/scripts/characters/hermione/events/forest.rpy b/game/scripts/characters/hermione/events/forest.rpy index 9c3656f6..f0c7b67c 100644 --- a/game/scripts/characters/hermione/events/forest.rpy +++ b/game/scripts/characters/hermione/events/forest.rpy @@ -5,8 +5,8 @@ label hermione_map_BJ: $ her_outfit_last.save() $ hermione.equip(her_outfit_s_rain) - $ renpy.call('forest_BJ_'+str(forest_BJ_progress)) - $ hermione_busy = True + $ renpy.call('forest_BJ_'+str(states.her.ev.forest_bj.stage)) + $ states.her.busy = True call set_her_map_location("gryffindor_room") #End event @@ -63,7 +63,7 @@ label forest_BJ_1: #BJ in the forest interrupted by moaning myrtle her "I should just learn to shut my mouth sometimes..." ("base", "narrow", "base", "mid") gen "How about you open it instead, and let me ensure that you can't voice such nonsense?" ("base", xpos="far_left", ypos="base") her "*Hmm*...{w=0.4} Alright..." ("base", "narrow", "base", "down") - $ forest_BJ_progress = 2 + $ states.her.ev.forest_bj.stage = 2 play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe") @@ -147,7 +147,7 @@ label forest_BJ_1: #BJ in the forest interrupted by moaning myrtle label forest_BJ_2: - $ forest_BJ_progress = 3 + $ states.her.ev.forest_bj.stage = 3 show screen blkfade with d3 @@ -315,7 +315,7 @@ label forest_BJ_2: label forest_BJ_3: #Complete BJ with Myrtle appearing after the cumshot - $ forest_BJ_progress = 4 + $ states.her.ev.forest_bj.stage = 4 show screen blkfade with d3 @@ -597,7 +597,7 @@ label forest_BJ_3: #Complete BJ with Myrtle appearing after the cumshot return label forest_BJ_4: #Moaning myrtle dirty talk (Repeatable) (Threaten to expose) - $ forest_BJ_progress = 3 #Repeats 3rd event after this one. + $ states.her.ev.forest_bj.stage = 3 #Repeats 3rd event after this one. show screen blkfade with d3 diff --git a/game/scripts/characters/hermione/events/intro.rpy b/game/scripts/characters/hermione/events/intro.rpy index 58757e9c..2cf9c5e1 100644 --- a/game/scripts/characters/hermione/events/intro.rpy +++ b/game/scripts/characters/hermione/events/intro.rpy @@ -165,12 +165,12 @@ label hermione_intro_E1: show screen bld1 nar "You reach under the desk and grab your cock..." - $ her_jerk_off_counter += 1 - $ jerked_off_during_hermione_intro = True #Affects next conversation with Snape. - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.her.ev.intro.masturbated = True #Affects next conversation with Snape. + $ states.gen.masturbating = True "\"(No, that's stupid! I Need to behave!)\"": - $ genie_masturbating = False + $ states.gen.masturbating = False her "You probably know why I am here too." her "The issue I have been fruitlessly trying to bring to your attention lately." ("open", "closed", "angry", "mid") @@ -189,7 +189,7 @@ label hermione_intro_E1: her "That's a relief. I'm glad that you agree with me, professor..." ("soft", "closed", "base", "mid") her "As I was saying, the whole issue is simply ridiculous and I cannot believe that it is taking place in our day and age!" ("open", "closed", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: nar "*Fap-fap-fap*" nar "You keep on stroking your cock..." else: @@ -198,7 +198,7 @@ label hermione_intro_E1: her "I mean, I would understand if something like this were to occur during the middle ages..." her "But we left the middle ages behind a long time ago, did we not?" - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Would you look at those rosy cheeks? I want to poke 'em with my cock.){/size}" nar "You keep stroking your cock..." else: @@ -209,7 +209,7 @@ label hermione_intro_E1: her "It hurts our entire educational system as well..." her "And more importantly, the motivation among students is steadily decreasing due to it!" - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Look at those huge knockers on you, girl!){/size}" gen "{size=-4}(Yes... I want to squeeze my dick between them...){/size}" @@ -218,19 +218,19 @@ label hermione_intro_E1: her "As the president of our school's Student Representative Body..." her "I have a few suggestions on how to do that more efficiently." - if not genie_masturbating: + if not states.gen.masturbating: gen ".............." her "First of all, the house point system needs to be maintained!" her "You need to control the point distribution better, sir." ("open", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes, you are a whore... A nasty little whore... I bet you love to suck cocks... Don't you? Yes, I bet you do...){/size}" nar "You stroke your rock-hard cock ferociously!" her "Of course you agree with me on this, professor, do you not?" - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}*Panting heavily*{/size}" her "Professor...?" ("normal", "squint", "angry", "mid") gen "{size=-4}(Crap. What does she want now?){/size}" @@ -241,7 +241,7 @@ label hermione_intro_E1: menu: "\"(Yes, time to actually listen to her.)\"": - $ genie_masturbating = False + $ states.gen.masturbating = False call hide_characters hide screen bld1 @@ -254,7 +254,7 @@ label hermione_intro_E1: "\"(No! I want to keep on jerking off!)\"": gen "Yes, yes! *pants*" - if not genie_masturbating: + if not states.gen.masturbating: gen "{size=-4}(Do I? I honestly don't give a damn...){/size}" gen "*Err*... I suppose I do..." her "{size=-4}(\"Suppose\"?){/size}" ("annoyed", "base", "base", "mid") @@ -264,7 +264,7 @@ label hermione_intro_E1: her "Especially the teachers..." her "I hope I'm not stepping out of line here, sir, but some of the teachers really do require supervision..." ("normal", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes! You little whore! You little fucking whore!) *Panting*{/size}" else: gen "......................." @@ -272,7 +272,7 @@ label hermione_intro_E1: her "I understand that you may not have time for this, professor. After all, you are the headmaster of our school, and a very busy man." ("open", "closed", "angry", "mid") her "Being a top student is hard on me as well, sometimes..." - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(She said \"hard-on\"!) *Panting*{/size}" her "But you could delegate that task to me--" @@ -287,7 +287,7 @@ label hermione_intro_E1: $ camera.set_image("CG her_intro hermione") with d5 - if genie_masturbating: + if states.gen.masturbating: her "Yes, you can do it! Just put it in me, sir!" ("base", "closed", "base", "mid") stop music fadeout 1.0 @@ -327,11 +327,11 @@ label hermione_intro_E1: her "That's a relief! Thank you, professor." ("open", "closed", "angry", "mid") - if not genie_masturbating: + if not states.gen.masturbating: hide screen animatedCG with fade - if genie_masturbating: + if states.gen.masturbating: gen "No, no, thank you..." ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("normal", "squint", "angry", "mid") @@ -343,7 +343,7 @@ label hermione_intro_E1: $ hermione.set_pose(None) - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(This was awesome...) *Panting*{/size}" ("base", xpos="far_left", ypos="head") gen "{size=-4}(My trousers are ruined though...){/size}" ("base", xpos="far_left", ypos="head") else: @@ -353,8 +353,8 @@ label hermione_intro_E1: call gen_chibi("sit_behind_desk") with d3 - $ snape_busy = True # No point in calling him during the day. - $ hermione_intro.E1_complete = True + $ states.sna.busy = True # No point in calling him during the day. + $ states.her.ev.intro.e1_complete = True jump end_hermione_event @@ -422,7 +422,7 @@ label ss_he_hermione_E1: sna "I imagine she did..." ("snape_01") sna "What did she want?" ("snape_01") - if jerked_off_during_hermione_intro: + if states.her.ev.intro.masturbated: gen "I'm not sure..." ("base", xpos="far_left", ypos="head") sna "...?" ("snape_39") gen "I was jerking off the entire time she was talking..." ("base", xpos="far_left", ypos="head") @@ -454,7 +454,7 @@ label ss_he_hermione_E1: nar "Your meeting comes to an end, and you decide to go to sleep." - $ ss_he.hermione_E1 = True + $ states.sna.ev.hangouts.hermione_e1 = True jump end_snape_hangout_points @@ -586,8 +586,8 @@ label hermione_intro_E2: call bld gen "...................." ("base", xpos="far_left", ypos="head") - $ snape_busy = True # No point in calling him during the day. - $ hermione_intro.E2_complete = True + $ states.sna.busy = True # No point in calling him during the day. + $ states.her.ev.intro.e2_complete = True jump end_hermione_event @@ -626,7 +626,7 @@ label ss_he_hermione_E2: gen "Genies can't kill..." ("base", xpos="far_left", ypos="head") sna "Rats!" ("snape_35") gen "And we frown upon murderers..." ("base", xpos="far_left", ypos="head") - if jerked_off_during_hermione_intro: + if states.her.ev.intro.masturbated: sna "Really? I thought you didn't give a fuck..." ("snape_44") gen "to a certain degree..." ("base", xpos="far_left", ypos="head") gen "I don't mind swinging my \"sword\" in front of the girl--" ("base", xpos="far_left", ypos="head") @@ -735,7 +735,7 @@ label ss_he_hermione_E2: nar "You spend the rest of the evening in Snape's company drinking your worries away." - $ ss_he.hermione_E2 = True + $ states.sna.ev.hangouts.hermione_e2 = True $ ss_event_pause += 1 $ chair_OBJ.hidden = False @@ -825,7 +825,7 @@ label hermione_intro_E3: her "Or at least I used to be until today..." her "I cannot believe this is happening!" ("mad", "happyCl", "worried", "mid", tears="soft_blink") "{size=-3}\"You could prepare better if I were to tutor you.\"{/size}": - $ tutoring_offer_made = True + $ states.her.ev.tutoring.offered = True her "*Hmm*..." ("annoyed", "squint", "base", "mid") her "Yes, that could help I suppose..." ("soft", "base", "base", "R") her "I appreciate your offer, professor, but..." ("open", "base", "base", "mid") @@ -857,9 +857,9 @@ label hermione_intro_E3: call her_walk(action="leave") - $ snape_busy = False + $ states.sna.busy = False $ hg_event_pause += 1 - $ hermione_intro.E3_complete = True + $ states.her.ev.intro.e3_complete = True jump end_hermione_event @@ -914,7 +914,7 @@ label hermione_intro_E4: gen "She will be alright..." ("base", xpos="far_left", ypos="head") gen "I think..." ("base", xpos="far_left", ypos="head") - $ hermione_intro.E4_complete = True + $ states.her.ev.intro.e4_complete = True jump end_hermione_event @@ -944,7 +944,7 @@ label hermione_intro_E5: her "I will not take much of your time, I promise..." - if tutoring_offer_made: + if states.her.ev.tutoring.offered: her "I am here to take you up on your offer." menu: @@ -1011,13 +1011,13 @@ label hermione_intro_E5: stop music fadeout 1.0 - $ hermione_unlocked = True + $ states.her.unlocked = True $ achievements.unlock("unlockher", True) call popup("{size=-4}You can now summon Hermione into your office.{/size}", "Character unlocked!", "interface/icons/head/hermione.webp") - $ tutoring_hermione_unlocked = True + $ states.her.ev.tutoring.unlocked = True - $ hermione_intro.E5_complete = True #Allows next event to start. + $ states.her.ev.intro.e5_complete = True #Allows next event to start. $ hg_event_pause += 2 jump end_hermione_event @@ -1028,7 +1028,7 @@ label hermione_intro_E5: label nt_he_hermione_E1: ton "So, what did Severus think about me joining you on your little scheme?" ("open", "base", "base", "mid", ypos="head", flip=False) - if not ss_he.tonks_E2: # You haven't talked to Snape yet. + if not states.sna.ev.hangouts.tonks_e2: # You haven't talked to Snape yet. gen "Oh, I haven't told him yet." ("base", xpos="far_left", ypos="head") ton "You haven't told him?" ("open", "narrow", "raised", "mid") gen "Not yet." ("base", xpos="far_left", ypos="head") @@ -1047,7 +1047,6 @@ label nt_he_hermione_E1: #Event fails jump end_tonks_hangout_points - gen "Oh, he couldn't believe it." ("base", xpos="far_left", ypos="head") ton "That thrilled, was he?" ("open", "base", "raised", "mid") ton "Now that's surprising." ("annoyed", "base", "base", "R") @@ -1084,7 +1083,8 @@ label nt_he_hermione_E1: call notes nar "You feel a faint bond forming between you two..." - $ nt_he.hermione_E1 = True + $ states.her.ev.intro.convinced = True + $ states.ton.ev.hangouts.hermione_e1 = True jump end_tonks_hangout_points @@ -1461,9 +1461,9 @@ label hermione_intro_E6: call popup("You have unlocked the ability to buy sexual favours from Hermione.", "Congratulations!", "interface/icons/head/hermione.webp") - $ hermione_wardrobe_unlocked = True - $ hermione_favors = True + $ states.her.wardrobe_unlocked = True + $ states.her.favors_unlocked = True - $ hermione_intro.E6_complete = True + $ states.her.ev.intro.e6_complete = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/items/butt_plugs.rpy b/game/scripts/characters/hermione/events/items/butt_plugs.rpy index 2e2d2177..6b78a661 100644 --- a/game/scripts/characters/hermione/events/items/butt_plugs.rpy +++ b/game/scripts/characters/hermione/events/items/butt_plugs.rpy @@ -27,7 +27,7 @@ label hg_butt_plugs: her "..........." ("soft", "base", "base", "mid",xpos="right",ypos="base") nar "You pull a large sized butt plug out from under your desk and place it in front of her." - if her_whoring < 15: + if states.her.level < 15: gen "I want you to wear a butt plug around the school." ("base", xpos="far_left", ypos="head") jump too_much @@ -79,7 +79,7 @@ label hg_butt_plugs: else: $ ev_her_small_plug.enqueue() # Repeat with small butt plug - if her_whoring > 21: + if states.her.level > 21: play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") @@ -92,7 +92,7 @@ label hg_butt_plugs: her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") her "I will, [name_genie_hermione]. Thank you." ("base", "happyCl", "base", "mid") - elif her_whoring >= 19: + elif states.her.level >= 19: nar "You pull out the large sized butt plug." gen "Ready to try out \"the dragon\" yet?" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 @@ -148,7 +148,7 @@ label hg_butt_plugs: her "..........." ("soft", "base", "base", "mid",xpos="right",ypos="base") nar "You pull the medium sized butt plug out from under your desk and place it in front of her." - if her_whoring < 19: + if states.her.level < 19: gen "I want you to wear this butt plug around the school." ("base", xpos="far_left", ypos="head") jump too_much @@ -215,7 +215,7 @@ label hg_butt_plugs: else: # Repeat with medium butt plug $ ev_her_medium_plug.enqueue() - if her_whoring < 21: + if states.her.level < 21: gen "Today my gracious request will be..." ("base", xpos="far_left", ypos="head") her "........." ("angry", "base", "base", "mid",xpos="right",ypos="base") gen "That you wear everyone's favourite magical butt plug to class!" ("base", xpos="far_left", ypos="head") @@ -227,12 +227,12 @@ label hg_butt_plugs: nar "You hand her the butt plug." gen "Fantastic! See you after class." ("base", xpos="far_left", ypos="head") - elif her_whoring < 23: + elif states.her.level < 23: nar "You pull out the butt plug." gen "Ready to try out the phoenix again?" ("base", xpos="far_left", ypos="head") - if buttplug_2_question == False: - $ buttplug_2_question = True + if states.her.ev.buttplugs.medium_question == False: + $ states.her.ev.buttplugs.medium_question = True her "Oh... I suppose so." ("soft", "happy", "base", "R",xpos="right",ypos="base") her "But is it alright if I ask you something first?" ("open", "narrow", "worried", "down") @@ -289,7 +289,7 @@ label hg_butt_plugs: her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("grin", "narrow", "annoyed", "up") "-Large, magical-": - if not her_buttplug_medium1.unlocked or not hg_anal.trigger: + if not her_buttplug_medium1.unlocked or not states.her.status.anal: # Requires medium butt plug event. gen "(I don't think she's ready for that yet.)" ("base", xpos="far_left", ypos="head") jump .plug_choice @@ -438,7 +438,7 @@ label hg_butt_plugs_small_return: call her_walk(action="enter", xpos="mid", ypos="base") - if her_whoring < 19: + if states.her.level < 19: random: block: # Got distracted @@ -500,7 +500,7 @@ label hg_butt_plugs_small_return: her "Luckily the stalls where empty! Imagine if they weren't!" ("annoyed", "narrow", "annoyed", "mid") gen "Well, it certainly sounds like you've earned your points." ("base", xpos="far_left", ypos="head") - elif her_whoring < 21: + elif states.her.level < 21: random: block: # Flashed Luna in the library @@ -694,10 +694,10 @@ label hg_butt_plugs_medium_return: call her_walk(action="enter", xpos="mid", ypos="base") - if not buttplug_magic_known: + if not states.her.ev.buttplugs.magic_known: jump .magic_show - if her_whoring <= 21: + if states.her.level <= 21: random: block: # Stood in front during potions class @@ -743,7 +743,7 @@ label hg_butt_plugs_medium_return: # Cat swatting it label .magic_show: - $ buttplug_magic_known = True + $ states.her.ev.buttplugs.magic_known = True gen "[name_hermione_genie], how did it go?" ("base", xpos="far_left", ypos="head") play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed @@ -764,7 +764,7 @@ label hg_butt_plugs_medium_return: her "Oh... *Ehm*... No, it's fine really [name_genie_hermione], you can leave it the way it is." ("clench", "narrow", "base", "down") gen "Alright then... good work [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - elif her_whoring <= 23: + elif states.her.level <= 23: random: block: # Luna played with it in the library @@ -844,7 +844,7 @@ label hg_butt_plugs_medium_return: gen "Well, I suppose it's for the best." ("base", xpos="far_left", ypos="head") - elif her_whoring >= 24: + elif states.her.level >= 24: random: block: # Groped by students diff --git a/game/scripts/characters/hermione/events/items/collars.rpy b/game/scripts/characters/hermione/events/items/collars.rpy index 507a06d2..c501f25f 100644 --- a/game/scripts/characters/hermione/events/items/collars.rpy +++ b/game/scripts/characters/hermione/events/items/collars.rpy @@ -2,8 +2,6 @@ ### Hermione Collar Event ### -default her_magic_collar_worn = False - label hg_collars: # Setup @@ -22,7 +20,7 @@ label hg_collars: her "Right..." ("open", "happy", "base", "mid") 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 her_tier == 1: + 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): her "You want me to remove my top?" ("soft", "happy", "worried", "R") gen "Yes please..." ("base", xpos="far_left", ypos="head") @@ -48,7 +46,7 @@ label hg_collars: jump hermione_requests - elif her_tier == 2: + elif states.her.tier == 2: her "*Hmm*... Alright... As long as you're paying me..." ("annoyed", "happy", "base", "R") gen "Of course..." ("base", xpos="far_left", ypos="head") @@ -61,7 +59,7 @@ label hg_collars: gen "Very." ("base", xpos="far_left", ypos="head") gen "Now..." ("base", xpos="far_left", ypos="head") - elif her_tier == 3: + elif states.her.tier == 3: her "My top?" ("soft", "squint", "base", "mid") gen "Yes... It is vitally important for this to succeed." ("base", xpos="far_left", ypos="head") her "What are we doing?" ("angry", "squint", "base", "mid") @@ -88,8 +86,8 @@ label hg_collars: # Remove (one) collar from the inventory $ collar_ITEM.owned -= 1 - if not her_magic_collar_worn: - $ her_magic_collar_worn = True + if not states.her.ev.magic_collar.worn: + $ states.her.ev.magic_collar.worn = True gen "I've got this collar that I'd like you to wear." ("base", xpos="far_left", ypos="head") her "A collar?" ("open", "happy", "base", "mid") @@ -101,7 +99,7 @@ label hg_collars: her "So, what does it do then?" ("open", "closed", "base", "mid") gen "It will permanently transform itself to show you your true self!" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "My true self?" ("soft", "squint", "base", "mid") gen "Yep..." ("base", xpos="far_left", ypos="head") her "So, like fortune telling?" ("open", "narrow", "base", "mid") @@ -117,7 +115,7 @@ label hg_collars: $ current_payout = 30 - elif her_whoring < 10: + elif states.her.level < 10: her "My true self?" ("soft", "base", "worried", "R") gen "Exactly..." ("base", xpos="far_left", ypos="head") her "I see..." ("open", "narrow", "worried", "R") @@ -133,7 +131,7 @@ label hg_collars: $ current_payout = 30 - elif her_whoring < 13: #stripped + elif states.her.level < 13: #stripped her "As if... You've probably just made it say \"pervert\" or something like that to mess with me..." ("clench", "narrow", "base", "R") gen "Pervert? As if I'd ever do something like that." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "annoyed", "mid") @@ -145,7 +143,7 @@ label hg_collars: $ current_payout = 20 - elif her_whoring < 19: #Handjob + elif states.her.level < 19: #Handjob her "What's that supposed to mean?" ("angry", "happy", "base", "mid", cheeks="blush") gen "You know..." ("base", xpos="far_left", ypos="head") her "No... I don't." ("angry", "narrow", "base", "mid", cheeks="blush") @@ -162,7 +160,7 @@ label hg_collars: $ current_payout = 10 - elif her_whoring < 22: #BJ + elif states.her.level < 22: #BJ her "I'm sure we'll both know what it's going to say..." ("disgust", "narrow", "base", "R") gen "Yeah?" ("base", xpos="far_left", ypos="head") her "Come on, sir..." ("disgust", "narrow", "base", "mid", cheeks="blush") @@ -173,7 +171,7 @@ label hg_collars: gen "That's what you're doing this for after all, this collar will merely confirm it." ("base", xpos="far_left", ypos="head") her "Well, if that's the case... I suppose since I can't tell anyone about all this it would at least be nice to know for sure..." ("open", "closed", "base", "mid") - elif her_whoring < 25: #Sex (24=max) + elif states.her.level < 25: #Sex (24=max) her "My true self is it?" ("base", "narrow", "base", "R", cheeks="blush") gen "Yep!" ("base", xpos="far_left", ypos="head") gen "Now you finally won't have to take my word on how much of a slut you are." ("base", xpos="far_left", ypos="head") @@ -187,7 +185,7 @@ label hg_collars: her "Another one?" ("open", "happy", "base", "mid") gen "Yes, I have the feeling something might've changed, so I thought we could try another one." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "*Hmm*... Well I doubt it..." ("normal", "base", "base", "R") her "Will I get another thirty points?" ("soft", "base", "base", "mid") gen "Of course." ("base", xpos="far_left", ypos="head") @@ -195,7 +193,7 @@ label hg_collars: $ current_payout = 30 - elif her_whoring < 10: + elif states.her.level < 10: her "I'm sure it'll just say the same thing as before..." ("open", "closed", "base", "mid", cheeks="blush") gen "Well I wouldn't be so sure if I were you..." ("base", xpos="far_left", ypos="head") her "*Ahem*... Although I wouldn't mind some points." ("open", "happy", "base", "R", cheeks="blush") @@ -206,7 +204,7 @@ label hg_collars: $ current_payout = 30 - elif her_whoring < 13: #stripped + elif states.her.level < 13: #stripped her "I want twenty points!" ("angry", "closed", "base", "mid", cheeks="blush") gen "Worried it might show something different this time?" ("base", xpos="far_left", ypos="head") her "No, I just think it's a waste of time if I went all the way here not to get anything for it." ("open", "happy", "base", "R", cheeks="blush") @@ -215,7 +213,7 @@ label hg_collars: $ current_payout = 20 - elif her_whoring < 19: #Handjob + elif states.her.level < 19: #Handjob her "Well of course you'd think that..." ("open", "narrow", "base", "R", cheeks="blush") her "I want ten points for this..." ("soft", "happy", "base", "mid", cheeks="blush") gen "Of course..." ("base", xpos="far_left", ypos="head") @@ -223,12 +221,12 @@ label hg_collars: $ current_payout = 10 - elif her_whoring < 22: #BJ + elif states.her.level < 22: #BJ her "Well... Seeing the things I've done in here I'm sure it can't be good..." ("disgust", "narrow", "base", "R") gen "I'm sure it will recognize why you're doing all this." ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("annoyed", "narrow", "base", "R") #worried - elif her_whoring < 25: #Sex (24=max) + elif states.her.level < 25: #Sex (24=max) gen "I want to see exactly how much of a slut you are in writing." ("base", xpos="far_left", ypos="head") her "Sir!" ("annoyed", "narrow", "worried", "mid") gen "What?" ("base", xpos="far_left", ypos="head") @@ -255,7 +253,7 @@ label hg_collars: call gen_chibi("sit_behind_desk") with d3 - if her_whoring < 10: + if states.her.level < 10: her "Alright then... What does it say?" ("base", "base", "base", "mid") #confident gen "Hold on a moment... Something's fading into view." ("base", xpos="far_left", ypos="head") else: # > 10 @@ -265,13 +263,13 @@ label hg_collars: her "What does it say?" ("open", "happy", "base", "mid") #a bit worried menu: - "-Tell her she's a slave-" if hg_anal.trigger: + "-Tell her she's a slave-" if states.her.status.anal: jump slave_scene - "-Tell her she's a whore-" if hg_sex.trigger and hg_pr_sex.is_event_complete(6, 1): + "-Tell her she's a whore-" if states.her.status.sex and hg_pr_sex.is_event_complete(6, 1): jump whore_scene - "-Tell her she's a slut-" if hg_pf_blowjob.is_event_complete(5, 3) or her_tier > 5: + "-Tell her she's a slut-" if hg_pf_blowjob.is_event_complete(5, 3) or states.her.tier > 5: jump slut_scene - "-Tell her she's a flasher-" if hg_strip.trigger: + "-Tell her she's a flasher-" if states.her.status.stripping: jump flasher_scene "-Tell her she is good girl-": jump good_girl_scene @@ -954,7 +952,7 @@ label flasher_scene: gen "*Hah-hah*!! Bringing out your true self are you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 16: + if states.her.level < 16: her "This isn't funny!" ("angry", "narrow", "angry", "R", cheeks="blush") gen "I'm sure you'll get it back once you take the collar off." ("base", xpos="far_left", ypos="head") her "*Hmph*..." ("annoyed", "narrow", "base", "down", cheeks="blush") @@ -967,7 +965,7 @@ label flasher_scene: nar "Hermione tugs at the strings hanging from the collar." her "Ow-ow-ow!!" ("angry", "happyCl", "base", "mid", cheeks="blush", tears="soft_blink") - if her_whoring < 16: #Before she'd wear piercings + if states.her.level < 16: #Before she'd wear piercings her "They're... They're attached to my nipples!" ("mad", "narrow", "base", "mid", cheeks="blush") gen "Indeed they are." ("base", xpos="far_left", ypos="head") her "B-- But..." ("clench", "narrow", "worried", "down", cheeks="blush") @@ -979,7 +977,7 @@ label flasher_scene: her "What?" ("angry", "squint", "base", "mid", cheeks="blush") gen "That's what the collar says." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "I'm... I'm not a flasher!" ("disgust", "narrow", "annoyed", "R", cheeks="blush") nar "You watch as the strings of the collar move slightly by Hermione's words." her "The collar must be broken!" ("open", "closed", "annoyed", "mid", cheeks="blush") @@ -1022,7 +1020,7 @@ label flasher_scene: gen "Well then... Now that the collar has told us how much you enjoy showing off your naked body..." ("base", xpos="far_left", ypos="head") gen "I want to hear it from you..." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: # Wont admit it + if states.her.level < 19: # Wont admit it her "Hear... Hear what from me?" ("disgust", "happy", "base", "mid", cheeks="blush") gen "Tell me how much you're enjoying flaunting your naked body." ("base", xpos="far_left", ypos="head") her "I...{w=0.4} I am just doing it for the points, [name_genie_hermione]!" ("angry", "happyCl", "worried", "R", cheeks="blush") @@ -1043,7 +1041,7 @@ label flasher_scene: gen "You may take the collar off." ("base", xpos="far_left", ypos="head") her "Thank you [name_genie_hermione]..." ("soft", "narrow", "worried", "down", cheeks="blush") - elif her_whoring < 22: # Hesitates but will eventually admit it + elif states.her.level < 22: # Hesitates but will eventually admit it her "You... You want me to say that I..." ("open", "happy", "base", "R", cheeks="blush") gen "Enjoy showing off your body..." ("base", xpos="far_left", ypos="head") @@ -1150,7 +1148,7 @@ label flasher_scene: her "Is that everything, then?" ("open", "base", "base", "R") gen "Yes, [name_hermione_genie]... That shall do for today." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") @@ -1160,7 +1158,7 @@ label flasher_scene: gen "You may keep that collar by the way." ("base", xpos="far_left", ypos="head") her "Really?" ("open", "base", "base", "mid", cheeks="blush") - if her_whoring < 19: + if states.her.level < 19: her "What if I don't want it..." ("disgust", "narrow", "base", "R") gen "We both know you want it." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "mid") @@ -1194,13 +1192,13 @@ label good_girl_scene: gen "It says you're a Good girl." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Just as I thought..." ("grin", "closed", "base", "mid") her "I am a model student after all." ("open", "closed", "base", "mid") gen "(*Hmm*... The collar must be broken... I've been scammed!)" ("angry", xpos="far_left", ypos="head") her "[name_genie_hermione]?" ("soft", "base", "base", "mid") - elif her_whoring < 10: + elif states.her.level < 10: her "That's nice." ("base", "squint", "worried", "mid") her "Must be because of how I've been earning all these points for my house." ("open", "closed", "worried", "mid") gen "Yep, I'm sure that's it..." ("base", xpos="far_left", ypos="head") @@ -1208,7 +1206,7 @@ label good_girl_scene: her "So... I put it on, can I have my--" ("soft", "base", "base", "mid") gen "Yes, yes... You'll get your stupid points..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 19: + elif states.her.level < 19: her "It does?" ("soft", "base", "base", "mid") gen "Indeed it does... Guess there was nothing to be worried about." ("base", xpos="far_left", ypos="head") her "Alright then..." ("base", "base", "worried", "R") @@ -1228,7 +1226,7 @@ label good_girl_scene: play sound "sounds/cloth_sound3.ogg" pause 2.0 - if her_whoring < 13: + if states.her.level < 13: her "..." ("annoyed", "base", "base", "mid") her "There you are then..." ("open", "base", "base", "R") else: @@ -1260,7 +1258,7 @@ label good_girl_scene: her "Is something the matter, [name_genie_hermione]?" ("base", "happyCl", "base", "mid") gen "It's nothing. Don't worry about it." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Thank you, [name_genie_hermione]." ("base", "happy", "base", "mid") diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index f9b4d07d..b3745021 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -1,10 +1,4 @@ -default her_vibrators_seen = False # Has Genie offered her the vibrators? -default her_vibrators_worn = False # Has Hermione agreed to wear the vibrators? -default her_vibrators_public = False # Has completed at least once public event? -default her_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 her_vibrators_personal = False # Has completed at least once personal event? - default ev_her_vibrators_public_return = Event(id="ev_her_vibrators_public_return", daytime=False, label="hg_vibrators_public_return") label hg_vibrators: @@ -18,7 +12,7 @@ label hg_vibrators: gen "Yep, just come closer, close your eyes and put your hand in this box!" ("base", xpos="far_left", ypos="head") call her_walk("desk", "base") nar "You present the Box-o-fun to Hermione." - if not her_vibrators_seen: + if not states.her.ev.vibrators.seen: her "\"Satisfaction guaranteed\"? What does that mean?" ("open", "squint", "base", "mid") gen "It means what it says on the box, now close your eyes and put your hand in there." ("base", xpos="far_left", ypos="head") her "Alright..." ("open", "closed", "base", "mid") @@ -28,7 +22,7 @@ label hg_vibrators: her "Can I open my eyes now?" ("soft", "closed", "base", "mid") gen "Oh, yes go right ahead." ("base", xpos="far_left", ypos="head") else: - if her_tier < 4: #Fail + if states.her.tier < 4: #Fail her "This again?" ("annoyed", "base", "base", "mid") her "It's not going to be something weird like the last time, is it?" ("annoyed", "happy", "worried", "mid") gen "Of course not... Just close your eyes and put your hand in the box." ("base", xpos="far_left", ypos="head") @@ -46,16 +40,16 @@ label hg_vibrators: # Introduction (seen) label .intro_seen: - if not her_vibrators_seen: + if not states.her.ev.vibrators.seen: # First time (seen) - $ her_vibrators_seen = True + $ states.her.ev.vibrators.seen = True nar "Hermione opens her eyes, and looks over the objects with suspicion." - if her_tier < 4: + if states.her.tier < 4: jump hg_vibrators_fail - elif her_tier < 5: + elif states.her.tier < 5: her "Is that... A vibrator?" ("clench", "squint", "base", "mid", cheeks="blush") gen "Vibrator{b}s{/b}!" ("grin", xpos="far_left", ypos="head") gen "All three of these vibrate!" ("grin", xpos="far_left", ypos="head") @@ -85,13 +79,13 @@ label hg_vibrators: nar "Hermione opens her eyes and inspects the vibrators for a moment." - if her_tier < 4: + if states.her.tier < 4: jump hg_vibrators_fail_repeat - if her_tier < 5: + if states.her.tier < 5: her "The vibrators again..." ("normal", "happy", "base", "mid", cheeks="blush") gen "How lucky for you." ("base", xpos="far_left", ypos="head") - if her_vibrators_worn: + if states.her.ev.vibrators.worn: gen "Ready to give them another whirl?" ("base", xpos="far_left", ypos="head") else: gen "Ready to give them a whirl?" ("base", xpos="far_left", ypos="head") @@ -102,7 +96,7 @@ label hg_vibrators: her "I see..." ("base", "squint", "base", "mid", cheeks="blush") gen "That's a lucky pull!" ("grin", xpos="far_left", ypos="head") gen "Looks like it might be a shiny, even!" ("grin", xpos="far_left", ypos="head") - if her_vibrators_worn: + if states.her.ev.vibrators.worn: gen "Oh wait, that's just some remaining residue from the last time." ("grin", xpos="far_left", ypos="head") gen "Although, you could give them another try to see if the experience increases its rarity!" ("grin", xpos="far_left", ypos="head") else: @@ -114,11 +108,11 @@ label hg_vibrators: # Introduction (worn) label .intro_worn: - if not her_vibrators_worn: + if not states.her.ev.vibrators.worn: # First time (worn) - $ her_vibrators_worn = True + $ states.her.ev.vibrators.worn = True - if her_tier < 5: + if states.her.tier < 5: her "So...{w=0.4} What am I supposed to do with these?" ("angry", "narrow", "base", "down", cheeks="blush") if hermione.is_any_worn("clothes"): @@ -157,7 +151,7 @@ label hg_vibrators: else: # Repeat (worn) - if her_tier < 5: + if states.her.tier < 5: if hermione.is_any_worn("clothes"): her "Can I put them inside my underwear like before?" ("open", "squint", "base", "mid", cheeks="blush") gen "Sure can." ("base", xpos="far_left", ypos="head") @@ -201,7 +195,7 @@ label hg_vibrators: # Additional dialogue for lower levels (Optional) - if her_tier >= 5: + if states.her.tier >= 5: if hermione.is_worn("bra"): play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra") @@ -265,7 +259,7 @@ label hg_vibrators: her "..." ("base", "base", "base", "mid", cheeks="blush") #Looks up and sees you her "[name_genie_hermione]! I asked you not to look!" ("angry", "base", "worried", "mid", cheeks="blush") - $ her_mood += 5 + $ states.her.mood += 5 gen "Don't blame me..." ("angry", xpos="far_left", ypos="head") gen "How long can it take to attach some vibrators?" ("base", xpos="far_left", ypos="head") @@ -331,7 +325,7 @@ label her_vibrators_nevermind: else: gen "Yes, you can leave the vibrators with me, if you like." ("base", xpos="far_left", ypos="head") - if her_tier >= 5: #wants to keep them + if states.her.tier >= 5: #wants to keep them her "Oh... *Ehm*..." ("soft", "base", "base", "mid", cheeks="blush") if not her_outfit_vibrators.unlocked: gen "I'm waiting..." @@ -373,7 +367,7 @@ label hg_vibrators_fail: play sound "sounds/click4.ogg" play background "sounds/vibrator_low.ogg" - if her_tier < 3: + if states.her.tier < 3: her "!!!" ("clench", "wide", "base", "stare") #Wide eyed @@ -397,7 +391,7 @@ label hg_vibrators_fail: call her_walk(action="leave") play sound "sounds/door_down.ogg" with hpunch - $ her_mood += 20 + $ states.her.mood += 20 gen "...{w=0.4} Did I get the wrong set?" ("base", xpos="far_left", ypos="head") @@ -425,7 +419,7 @@ label hg_vibrators_fail: #Hermione leaves call her_walk(action="leave") - $ her_mood += 10 + $ states.her.mood += 10 gen "(Oh well. Was worth a shot...)" ("base", xpos="far_left", ypos="head") gen "(She'll come around eventually...)" ("base", xpos="far_left", ypos="head") @@ -450,7 +444,7 @@ label hg_vibrators_fail: label hg_vibrators_fail_repeat: - if her_tier < 3: + if states.her.tier < 3: her "[name_genie_hermione]!" ("open", "squint", "annoyed", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") her "I have already told you, I'm not going to use a vibrator in front of you!" ("angry", "squint", "angry", "mid") @@ -471,7 +465,7 @@ label hg_vibrators_fail_repeat: call her_walk(action="leave") play sound "sounds/door_down.ogg" with hpunch - $ her_mood += 20 + $ states.her.mood += 20 gen "(How did she know?)" ("base", xpos="far_left", ypos="head") else: @@ -504,7 +498,7 @@ label hg_vibrators_fail_repeat: call her_walk(action="leave") play sound "sounds/door_down.ogg" with hpunch - $ her_mood += 10 + $ states.her.mood += 10 gen "(Well, that's just rude...)" ("base", xpos="far_left", ypos="head") @@ -521,14 +515,14 @@ label hg_vibrators_fail_repeat: jump end_hermione_event label hg_vibrators_public: - if not her_vibrators_public: + if not states.her.ev.vibrators.public_complete: # First time (public) - # Flag 'her_vibrators_public' is set True in the return event + # Flag 'states.her.ev.vibrators.public_complete' is set True in the return event gen "You can put on your school uniform now." ("base", xpos="far_left", ypos="head") her "My school uniform?" ("open", "base", "base", "mid", cheeks="blush") - if her_tier_public >= 5: + if states.her.public_tier >= 5: her "Don't tell me you're expecting of me to wear them in class?" ("angry", "base", "base", "mid", cheeks="blush") gen "No, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "Oh... Thank--" ("angry", "narrow", "base", "down", cheeks="blush") @@ -562,7 +556,7 @@ label hg_vibrators_public: gen "Come on... It's just some tiny little vibrations. I'm sure you can handle it." ("base", xpos="far_left", ypos="head") her "Fine, I'll do it...{w=0.2} But only because you asked..." ("soft", "narrow", "worried", "R", cheeks="blush") - elif her_tier_public == 4: + elif states.her.public_tier == 4: her "You want me to wear them in class?!" ("angry", "base", "base", "mid", cheeks="blush") gen "No, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "Oh good, for a moment I thought--" ("base", "squint", "worried", "R", cheeks="blush") @@ -571,7 +565,7 @@ label hg_vibrators_public: pause .5 gen "Of course, they should be turned on at all times." ("base", xpos="far_left", ypos="head") her "But that's--{w=0.2} Couldn't I just...{w=0.4} I don't know..." ("upset", "squint", "worried", "mid", cheeks="blush") - if her_tier < 5: + if states.her.tier < 5: gen "Quit complaining, [name_hermione_genie], you're about to earn{number=current_payout} points for your house." ("base", xpos="far_left", ypos="head") gen "Surely that's more than enough of an incentive to broaden your sexual education." ("base", xpos="far_left", ypos="head") her "I am plenty sexually educated!" ("open", "closed", "annoyed", "mid", cheeks="blush") @@ -606,7 +600,7 @@ label hg_vibrators_public: # Fail if public tier is not high enough. $ _temp_lockout = True - if her_tier >= 5: #expecting private session + if states.her.tier >= 5: #expecting private session her "You want me to--{w=0.3} But I thought..." ("soft", "squint", "base", "R", cheeks="blush") gen "*Hmm*?" ("base", xpos="far_left", ypos="head") her "Nevermind..." ("open", "squint", "worried", "R", cheeks="blush") @@ -633,8 +627,8 @@ label hg_vibrators_public: # Repeat (public) gen "I think you better put your clothes on and head to class." ("base", xpos="far_left", ypos="head") - if her_tier_public >= 5: - if her_vibrators_public_stage <= 1: + if states.her.public_tier >= 5: + if states.her.ev.vibrators.public_stage <= 1: # Tried LOW level before her "You want me to use them in class again?" ("soft", "squint", "base", "mid", cheeks="blush") @@ -706,14 +700,14 @@ label hg_vibrators_public: else: her "You want me to wear them in class again?" ("soft", "squint", "base", "mid", cheeks="blush") #blush gen "Most definitely." ("base", xpos="far_left", ypos="head") - if her_tier < 5: + if states.her.tier < 5: her "You'll pay me the same as last time, I presume?" ("open", "squint", "base", "R", cheeks="blush") gen "Of course." her "*Hmm*... Okay then..." ("open", "squint", "base", "R", cheeks="blush") gen "Excellent! I look forward to hearing from you later this evening." ("base", xpos="far_left", ypos="head") her "Right..." ("open", "squint", "base", "R", cheeks="blush") - if her_tier >= 5: + if states.her.tier >= 5: # (she is naked on high tiers at this point) play sound "sounds/cloth_sound3.ogg" $ hermione.equip(her_outfit_vibrators) @@ -749,7 +743,7 @@ label hg_vibrators_personal: play background "sounds/vibrator_medium.ogg" - if her_tier >= 5: + if states.her.tier >= 5: # Note: This scene has CG with Hermione lying on the desk with vibrators, 3 poses, closed legs, spread legs, pushed pelvis in the air (cumming). label .high_tier: @@ -1563,7 +1557,7 @@ label hg_vibrators_personal: her "Thank you, [name_genie_hermione]..." ("open", "closed", "base", "mid", cheeks="blush") gen "Until next time." ("base", xpos="far_left", ypos="head") - $ her_mood += 10 + $ states.her.mood += 10 call her_walk(action="leave") jump end_hermione_event @@ -1956,7 +1950,7 @@ label hg_vibrators_personal: show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) with d5 - $ her_mood += 10 + $ states.her.mood += 10 her "I wore your stupid vibrators, so I'll have my points now!" ("angry", "narrow", "angry", "mid", cheeks="blush") gen "Technically they were a gift." ("base", xpos="far_left", ypos="head") @@ -2079,7 +2073,7 @@ label hg_vibrators_personal: her "And--{w=0.2} *Ah*...{w=0.4} I--{w=0.2} I--" ("clench", "happyCl", "worried", "mid", cheeks="blush") if _vibrator_pissed: - $ her_mood += 15 + $ states.her.mood += 15 her "..." #Wide eyed angry @@ -2128,7 +2122,7 @@ label hg_vibrators_personal: with hpunch else: #low mood penalty - $ her_mood += 10 + $ states.her.mood += 10 $ hermione.set_cum(pussy="vibratorp_light") @@ -2212,11 +2206,11 @@ label hg_vibrators_public_return: $ hermione.equip(her_bottom_school2) $ hermione.equip(her_outfit_vibrators, remove_old=False) - if her_tier_public >= 5: + if states.her.public_tier >= 5: label .high_tier: - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: # First time play background "sounds/vibrator_low.ogg" fadein 3 #fades in as she walks inside @@ -2630,7 +2624,7 @@ label hg_vibrators_public_return: # TODO sounds - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: # First time her "Since I had forgotten about them, I yelped out in surprise, and my friends stopped and looked at me." else: @@ -2700,7 +2694,7 @@ label hg_vibrators_public_return: show her_vibrators_public nude eyebrows_surprised eyes_forward mouth_shocked as xray_child show her_vibrators_public_proxy eyebrows_surprised eyes_forward mouth_shocked as xray_overlay - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: her "As they turned on, I was quickly brought back to reality, remembering our \"agreement\"..." else: her "Surprised it had already started, I readied myself for the worst..." @@ -2771,7 +2765,7 @@ label hg_vibrators_public_return: show her_vibrators_public nude eyebrows_worried mouth_open as xray_child show her_vibrators_public_proxy eyebrows_worried mouth_open as xray_overlay - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: her "Yes...{w=0.4} Luckily, it was just low enough not to startle me and cast suspicion..." her "At first it didn't feel as if what was happening was real, but it soon dawned on me what a terrible situation I had put myself in." @@ -3331,7 +3325,7 @@ label hg_vibrators_public_return: her "Apparently, they had been checking in on me the entire day, feeling something was off." ("soft", "narrow", "base", "down", cheeks="blush") her "I had obviously not been acting myself that day during our lessons..." ("open", "narrow", "base", "down", cheeks="blush") - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: her "No raising my hand during transfiguration, no helping out with demonstrations during charms..." ("open", "closed", "base", "mid", cheeks="blush") her "So, the reason why they kept looking over was to make sure I was okay." ("annoyed", "closed", "base", "mid", cheeks="blush") @@ -3444,7 +3438,7 @@ label hg_vibrators_public_return: gen "..." ("base", xpos="far_left", ypos="head") - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: gen "No wonder you went off like a fire hose the moment you got in here." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "down", cheeks="blush") else: @@ -3539,7 +3533,7 @@ label hg_vibrators_public_return: gen "You just admitted to liking it like a minute ago, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "You know, I only said that because you told me to!" ("angry", "closed", "annoyed", "mid", cheeks="blush") # Stutters because she does not believe her own words. - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: gen "Yeah, right!" ("base", xpos="far_left", ypos="head") gen "Even when I turned the vibrators on when you were on your way here--" ("base", xpos="far_left", ypos="head") gen "--which was totally on purpose, by the way--" ("base", xpos="far_left", ypos="head") @@ -3632,7 +3626,7 @@ label hg_vibrators_public_return: with fade call weather_sound - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: her "Of course, it only lasted until you turned them back on while I was on my way here..." ("soft", "narrow", "base", "down", cheeks="blush") gen "What can I say, I like to keep you on your toes." ("grin", xpos="far_left", ypos="head") else: @@ -3676,7 +3670,7 @@ label hg_vibrators_public_return: her "Good night then [name_genie_hermione]..." ("open", "squint", "base", "R", cheeks="blush") gen "Good night, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - $ her_vibrators_public_stage = 2 + $ states.her.ev.vibrators.public_stage = 2 else: label .low_tier: @@ -3783,7 +3777,7 @@ label hg_vibrators_public_return: with d3 # End section - if her_tier < 5: #Receiving points, doesn't unlock vibrators + if states.her.tier < 5: #Receiving points, doesn't unlock vibrators $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") her "Thank you..." ("soft", "base", "base", "mid", cheeks="blush") @@ -3820,11 +3814,11 @@ label hg_vibrators_public_return: hide vibrators_floor with d5 - $ her_vibrators_public_stage = 1 + $ states.her.ev.vibrators.public_stage = 1 call her_walk(action="leave") - $ her_vibrators_public = True + $ states.her.ev.vibrators.public_complete = True $ hermione.equip(her_outfit_last) jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/jobs.rpy b/game/scripts/characters/hermione/events/jobs.rpy index 8f2b8afc..eb50eae0 100644 --- a/game/scripts/characters/hermione/events/jobs.rpy +++ b/game/scripts/characters/hermione/events/jobs.rpy @@ -1,6 +1,4 @@ -default maid_intro_done = False - # Maid Job label job_1: @@ -11,12 +9,12 @@ label job_1: hide screen blkfade with d5 - if not maid_intro_done: - $ maid_intro_done = True + if not states.her.ev.maid.intro_complete: + $ states.her.ev.maid.intro_complete = True gen "I think it's about time we got someone to clean up this place." ("base", xpos="far_left", ypos="head") her "[name_genie_hermione]?" ("open", "squint", "base", "mid", xpos="right", ypos="base", trans=dissolve) gen "Don't you think it's about time that someone set a good example and cleaned up this castle?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Finally you've come to your senses..." ("base", "closed", "base", "mid") her "Of course I'll help!" ("base", "base", "base", "mid") gen "Great, then I've got this maids outfit for you!" ("base", xpos="far_left", ypos="head") @@ -52,7 +50,7 @@ label job_1: call tutorial("points") jump working_menu - elif her_whoring < 13: + elif states.her.level < 13: her "Cleaned up, [name_genie_hermione]?" ("angry", "base", "base", "mid") gen "Yes, so you better put this on..." ("base", xpos="far_left", ypos="head") her "A maid outfit?" ("angry", "narrow", "base", "down") @@ -95,7 +93,7 @@ label job_1: gen "Payments." ("base", xpos="far_left", ypos="head") gen "This will have to stay off the books so I'll have to hold onto it for now." ("base", xpos="far_left", ypos="head") her "Oh... Right..." ("open", "closed", "base", "mid", cheeks="blush") - if her_whoring >= 16: + if states.her.level >= 16: her "Let me just put this on..." ("angry", "base", "base", "mid", cheeks="blush") else: if not is_in_lead(gryffindor): @@ -122,7 +120,7 @@ label job_1: gen "I've got a feather duster with your name on it, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Put this on for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: if not is_in_lead(gryffindor): her "*Humph!*..." ("upset", "base", "annoyed", "mid", xpos="right", ypos="base", trans=dissolve) else: @@ -136,7 +134,7 @@ label job_1: call tutorial("points") jump working_menu - elif her_whoring < 16: + elif states.her.level < 16: if not is_in_lead(gryffindor): her "Alright..." ("angry", "base", "base", "mid", xpos="right", ypos="base", trans=dissolve) else: @@ -148,7 +146,7 @@ label job_1: call tutorial("points") jump working_menu - elif her_whoring < 22: + elif states.her.level < 22: her "Of course, [name_genie_hermione]..." ("base", "squint", "base", "mid", xpos="right", ypos="base", trans=dissolve) else: #22+ her "As you wish, [name_genie_hermione]." ("base", "base", "base", "mid",xpos="right",ypos="base", trans=dissolve) @@ -171,7 +169,7 @@ label job_1: call her_walk(action="leave") - $ hermione_busy = True + $ states.her.busy = True $ current_job = "maid" jump main_room_menu @@ -185,7 +183,7 @@ label maid_responses: menu: "\"How was your day?\"": - if her_whoring < 4: + if states.her.level < 4: random: block: her "Do I really have to keep doing this?" ("normal", "narrow", "base", "R_soft", xpos="right", ypos="base", trans=dissolve) @@ -218,7 +216,7 @@ label maid_responses: her "..." ("disgust", "squint", "base", "mid") her "Can I have my points now?" ("clench", "narrow", "base", "R") gen "Of course... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: random: block: her "It was as normal a day of cleaning rooms could be." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=dissolve) @@ -245,7 +243,7 @@ label maid_responses: her "..." ("upset", "narrow", "base", "mid") her "Can I have my points now?" ("angry", "narrow", "base", "mid") gen "Of course... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif her_whoring < 22: + elif states.her.level < 22: random: block: her "It's was pretty uneventful." ("open", "base", "base", "R", xpos="right", ypos="base", trans=dissolve) @@ -311,16 +309,16 @@ label maid_responses: $ hermione.equip(her_outfit_last) - $ hermione_busy = True + $ states.her.busy = True $ current_job = None jump main_room_menu # Barmaid Job label job_2: - if her_whoring <= 6: + if states.her.level <= 6: her "*Humph*!..." - elif her_whoring >=7 and her_whoring <= 15: + elif states.her.level >=7 and states.her.level <= 15: her "Yes [name_genie_hermione]..." else: her "As you wish [name_genie_hermione]." @@ -343,7 +341,7 @@ label job_2: call her_walk(action="leave") - $ hermione_busy = True + $ states.her.busy = True $ current_job = "barmaid" jump main_room_menu @@ -379,15 +377,15 @@ label barmaid_responses: $ hermione.equip(her_outfit_last) - $ hermione_busy = True + $ states.her.busy = True $ current_job = None jump main_room_menu # Gryffindor Cheerleader Job (Needs outfit) label job_3: - if her_whoring <= 6: + if states.her.level <= 6: her "*Humph*!..." - elif her_whoring <= 15: + elif states.her.level <= 15: her "Yes, [name_genie_hermione]..." ("normal", "base", "base", "R") else: her "As you wish, [name_genie_hermione]." ("open", "base", "base", "mid") @@ -396,7 +394,7 @@ label job_3: with d5 play sound "sounds/cloth_sound.ogg" $ her_outfit_last.save() # Store current outfit. - if her_outfit_cheerleader_2.unlocked and her_whoring >= 11: #Sexy + if her_outfit_cheerleader_2.unlocked and states.her.level >= 11: #Sexy $ hermione.equip(her_outfit_cheerleader_2) else: #Normal $ hermione.equip(her_outfit_cheerleader_1) @@ -414,14 +412,14 @@ label job_3: call her_walk(action="leave") - $ hermione_busy = True + $ states.her.busy = True $ current_job = "gryffindor_cheerleader" jump main_room_menu label gryffindor_cheer_responses: - if her_outfit_cheerleader_2.unlocked and her_whoring >= 11: #Sexy + if her_outfit_cheerleader_2.unlocked and states.her.level >= 11: #Sexy $ hermione.equip(her_outfit_cheerleader_2) else: #Normal $ hermione.equip(her_outfit_cheerleader_1) @@ -520,16 +518,16 @@ label gryffindor_cheer_responses: $ hermione.equip(her_outfit_last) - $ hermione_busy = True + $ states.her.busy = True $ current_job = None jump main_room_menu # Slytherin Cheerleader Job label job_4: - if her_whoring <= 6: + if states.her.level <= 6: her "*Humph*!..." - elif her_whoring >=7 and her_whoring <= 15: + elif states.her.level >=7 and states.her.level <= 15: her "Yes, [name_genie_hermione]..." else: her "As you wish, [name_genie_hermione]." @@ -538,7 +536,7 @@ label job_4: with d5 play sound "sounds/cloth_sound.ogg" $ her_outfit_last.save() # Store current outfit. - if her_outfit_cheerleader_2.unlocked and her_whoring >= 11: #Sexy + if her_outfit_cheerleader_2.unlocked and states.her.level >= 11: #Sexy $ hermione.equip(her_outfit_cheerleader_2) else: #Normal $ hermione.equip(her_outfit_cheerleader_1) @@ -556,7 +554,7 @@ label job_4: call her_walk(action="leave") - $ hermione_busy = True + $ states.her.busy = True $ current_job = "slytherin_cheerleader" call music_block @@ -564,7 +562,7 @@ label job_4: label slytherin_cheer_responses: - if her_outfit_cheerleader_2.unlocked and her_whoring >= 11: #Sexy + if her_outfit_cheerleader_2.unlocked and states.her.level >= 11: #Sexy $ hermione.equip(her_outfit_cheerleader_2) else: #Normal $ hermione.equip(her_outfit_cheerleader_1) @@ -573,7 +571,7 @@ label slytherin_cheer_responses: call her_walk(action="enter", xpos="mid", ypos="base") - if her_reputation > 15: + if states.her.public_level > 15: her "" ("base", "narrow", "base", "up",xpos="right",ypos="base") else: her "" ("base", "base", "base", "mid",xpos="right",ypos="base") @@ -664,7 +662,7 @@ label slytherin_cheer_responses: $ hermione.equip(her_outfit_last) - $ hermione_busy = True + $ states.her.busy = True $ current_job = None call music_block @@ -675,7 +673,7 @@ label slytherin_cheer_responses: label job_5: - if first_time_cardgame_work: + if states.her.ev.sell_cards.first_time: gen "Alright then, I think it's time you go help the twins with their shop." ("base", xpos="far_left", ypos="head") her "Sir... Why do you want me to help them exactly?" ("annoyed", "closed", "base", "mid") gen "That is my business." ("grin", xpos="far_left", ypos="head") @@ -692,7 +690,7 @@ label job_5: play sound "sounds/cloth_sound3.ogg" pause 1 - if her_whoring < 19: + if states.her.level < 19: # Failstate her "I know I said I'd help them but you want me to wear... this?" ("open", "base", "angry", "mid") gen "Of course, is that going to be a problem?" ("base", xpos="far_left", ypos="head") @@ -704,11 +702,9 @@ label job_5: gen "So it's a--" ("base", xpos="far_left", ypos="head") her "Of course it's a no!" ("shock", "base", "angry", "mid") her "" ("angry", "base", "angry", "mid") - $ her_mood += 5 + $ states.her.mood += 5 jump working_menu - $ first_time_cardgame_work = False - random: block: her "Why are the cards placed like that?" ("mad", "narrow", "worried", "down") @@ -740,7 +736,7 @@ label job_5: gen "Off you go then..." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ hermione_busy = True + $ states.her.busy = True $ current_job = "promoter" call music_block @@ -752,9 +748,8 @@ label hermione_helping_selling_cards: call her_walk(action="enter", xpos="mid", ypos="base") - if her_shop_help_first: - $ her_shop_help_first = False - her "" + if states.her.ev.sell_cards.first_time: + $ states.her.ev.sell_cards.first_time = False gen "Hello, [name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") her "Good..." ("normal", "happy", "base", "mid") her "I'm still not that comfortable wearing the outfit you provided though so I just stood behind the shop counter today." ("open", "closed", "base", "mid") @@ -774,6 +769,7 @@ label hermione_helping_selling_cards: gen "Sounds like you're doing a great job." ("base", xpos="far_left", ypos="head") her "Thanks!" ("open","happy", cheeks="blush") her "Here's your payment." ("open", "base", "base", "mid") + call give_reward("You have received twenty gold", "interface/icons/gold.webp") $ game.gold += 20 gen "Well done [name_hermione_genie], fifteen points to Gryffindor." ("base", xpos="far_left", ypos="head") @@ -802,10 +798,12 @@ label hermione_helping_selling_cards: her "I'm fine with them believing they had anything to do with it though." ("smile", "closed", "base", "mid") gen "How noble of you..." ("base", xpos="far_left", ypos="head") her "Here's your payment." ("open", "base", "base", "mid") + call give_reward("You have received twenty gold", "interface/icons/gold.webp") $ game.gold += 20 gen "Well done [name_hermione_genie], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 20 + block: her "" gen "Hello, [name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") @@ -841,10 +839,12 @@ label hermione_helping_selling_cards: her "Thank you." ("annoyed", "happyCl", "base", "mid", cheeks="blush") her "Anyway..." ("base", "base", "base", "mid") her "Here's your payment." ("open", "base", "base", "mid") + call give_reward("You have received twenty gold", "interface/icons/gold.webp") $ game.gold += 20 gen "Well done [name_hermione_genie], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 20 + block: her "" gen "Hello, [name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") @@ -876,10 +876,12 @@ label hermione_helping_selling_cards: her "Anyway..." ("normal", "base", "base", "mid") her "glad you agree." ("base", "happy", "base", "mid_soft") her "Here's your payment." ("open", "base", "base", "mid") + call give_reward("You have received twenty gold", "interface/icons/gold.webp") $ game.gold += 20 gen "Well done [name_hermione_genie], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 20 + block: $ hermione.set_cum(hair="light") her "" ("cum", "narrow", "base", "dead") @@ -905,6 +907,7 @@ label hermione_helping_selling_cards: her "There's no conclusion to be made by just testing a theory once [name_genie_hermione]." ("normal", "closed", "angry", "mid") her "Anyway..." ("open", "base", "base", "mid") her "Here's your payment." ("open", "base", "base", "mid") + call give_reward("You have received twenty gold", "interface/icons/gold.webp") $ game.gold += 20 gen "Well done [name_hermione_genie], twenty-five points to Gryffindor." ("base", xpos="far_left", ypos="head") @@ -915,6 +918,7 @@ label hermione_helping_selling_cards: $ hermione.equip(her_outfit_last) $ hermione.set_cum(None) + $ states.her.ev.sell_cards.helped = True call music_block jump main_room_menu diff --git a/game/scripts/characters/hermione/events/potions/ass_expand.rpy b/game/scripts/characters/hermione/events/potions/ass_expand.rpy index 82da9d54..b146531f 100644 --- a/game/scripts/characters/hermione/events/potions/ass_expand.rpy +++ b/game/scripts/characters/hermione/events/potions/ass_expand.rpy @@ -1,11 +1,6 @@ -default her_ass_expand_drank = False -default her_ass_expand_pub_done = False -default her_ass_expand_groped = False #Done private variant -default her_ass_expand_finger = False #Tried to finger her - # Temp flag used to test against clothed character state, it is reset at the end of the event. -default her_ass_expand_no_clothes = False +default _no_clothes = False label potion_ass_make: @@ -38,10 +33,10 @@ label her_potion_ass_give: call her_chibi("hold_potion","mid","base") with d3 - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: her "A potion?" ("soft", "squint", "base", "mid") gen "Yep, a pretty powerful one at that." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "Is it dangerous?" ("disgust", "squint", "worried", "mid") gen "Of course not!" ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("normal", "narrow", "base", "down") @@ -81,9 +76,9 @@ label her_potion_ass_give: her "Another butt expansion potion?" ("open", "squint", "base", "R", cheeks="blush") #Neutral face gen "That's right." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "My butt looked ridiculous last time..." ("annoyed", "narrow", "base", "mid", cheeks="blush") - if her_ass_expand_groped: + if states.her.ev.potions.ass_expand_complete: gen "Well, that's a matter of opinion, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: gen "I'm sure it looked fine..." ("base", xpos="far_left", ypos="head") @@ -107,8 +102,8 @@ label her_potion_ass_give: nar "Hermione drinks the potion with a series of gulps." - if not her_ass_expand_drank: - if her_whoring < 19: + if not states.her.ev.potions.ass_expand_drank: + if states.her.level < 19: her "That didn't taste so bad!" ("base", "squint", "base", "mid") her "What was it?" ("base", "base", "base", "mid") else: #19+ @@ -125,7 +120,7 @@ label her_potion_ass_give: #Tell her to take off her bottoms/Wait and see what happens menu: "-Send her to class-": - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: gen "You should probably head back to class for now..." ("base", xpos="far_left", ypos="head") her "To class, but what about the--" ("angry", "squint", "base", "mid") nar "Hermione goes white as she starts to feel her body churn." @@ -140,9 +135,9 @@ label her_potion_ass_give: her "Something slapped me!" ("mad", "base", "base", "mid") her "Is it supposed to do this?" ("angry", "happy", "base", "mid") gen "I'm sure it's fine, just go back to class for now." ("base", xpos="far_left", ypos="head") - elif her_ass_expand_pub_done: + elif states.her.ev.potions.ass_expand_public_complete: gen "You should probably head back to class for now..." ("base", xpos="far_left", ypos="head") - elif her_ass_expand_groped: + elif states.her.ev.potions.ass_expand_complete: her "So... I assume you want to--" ("open", "base", "base", "R", cheeks="blush") her "I mean, am I to receive another massage?" ("soft", "closed", "base", "mid", cheeks="blush") gen "Not today [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") @@ -155,7 +150,7 @@ label her_potion_ass_give: if hg_pr_flash.counter > 0: ## Triggers public return event ## - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: her "Alright..." ("angry", "squint", "base", "R") gen "Let me know how it went!" ("base", xpos="far_left", ypos="head") her "Yes, [name_genie_hermione]..." ("angry", "narrow", "base", "down") @@ -165,7 +160,7 @@ label her_potion_ass_give: her "You want me to..." ("open", "base", "base", "mid", cheeks="blush") gen "Go to class, yes..." ("base", xpos="far_left", ypos="head") her "Alright..." ("open", "squint", "base", "R", cheeks="blush") - if her_ass_expand_pub_done: + if states.her.ev.potions.ass_expand_public_complete: her "I suppose I've already done it before... How bad could it be?" ("open", "closed", "base", "mid", cheeks="blush") gen "That's the spirit." ("base", xpos="far_left", ypos="head") gen "Make sure to tell me how it went..." ("base", xpos="far_left", ypos="head") @@ -188,7 +183,7 @@ label her_potion_ass_give: jump end_hermione_event else: ## Doesn't trigger public return event ## - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: her "*Ehm*... I'm not sure I--" ("angry", "squint", "worried", "mid") play sound "sounds/slap.ogg" her "" ("clench", "wide", "base", "mid") @@ -210,10 +205,10 @@ label her_potion_ass_give: her "Merlin's beard!" gen "..." ("base", xpos="far_left", ypos="head") - $ her_ass_expand_drank = True + $ states.her.ev.potions.ass_expand_drank = True jump end_hermione_event else: - if her_whoring < 19: + if states.her.level < 19: her "You want me to what?!" ("angry", "squint", "worried", "mid") gen "Go to class!" ("base", xpos="far_left", ypos="head") gen "Isn't that what you're supposed to do in school?" ("base", xpos="far_left", ypos="head") @@ -247,14 +242,14 @@ label her_potion_ass_give: gen "Until next time." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ her_ass_expand_drank = True + $ states.her.ev.potions.ass_expand_drank = True jump end_hermione_event "-Tell her to take off her clothes-" if hermione.is_any_worn("top", "bra", "bottom", "panties"): - $ her_ass_expand_no_clothes = True #Took off clothing (reset at end) + $ _no_clothes = True #Took off clothing (reset at end) gen "Why don't you take off your clothes for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 15: + if states.her.level < 15: her "You want me to take off my..." ("open", "narrow", "base", "down", cheeks="blush") gen "Your clothes, yes..." ("base", xpos="far_left", ypos="head") else: @@ -269,7 +264,7 @@ label her_potion_ass_give: gen "Just waiting for the potion to kick in..." ("base", xpos="far_left", ypos="head") her "Right..." ("soft", "squint", "base", "R") - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: her "Could you at least give me a hint of what it's supposed to do?" ("soft", "squint", "base", "mid", cheeks="blush") gen "Well that wouldn't be very fun would it..." ("base", xpos="far_left", ypos="head") gen "I'm sure you'll feel it any minute now." ("base", xpos="far_left", ypos="head") @@ -277,7 +272,7 @@ label her_potion_ass_give: nar "Hermione goes white as she starts to feel her body churn." her "What's going on?!" ("disgust", "wide", "base", "stare") her "It's as if my insides are moving!" ("disgust", "happy", "base", "stare") - if her_whoring < 19: + if states.her.level < 19: her "My butt... It's--" ("clench", "squint", "base", "down") play sound "sounds/slap.ogg" if hermione.is_any_worn("top", "bottom", "panties"): @@ -508,7 +503,7 @@ label her_potion_ass_give: her "Nothing is--" ("disgust", "narrow", "base", "mid", cheeks="blush") nar "Hermione suddenly jolts forward once more as if she was hit hard on her butt." play sound "sounds/slap.ogg" - if her_whoring < 19: + if states.her.level < 19: her "Ouch!" ("clench", "happyCl", "worried", "mid", cheeks="blush") her "Why is this potion so aggressive?" ("disgust", "narrow", "annoyed", "down", cheeks="blush") gen "Beats me...{w}..." ("base", xpos="far_left", ypos="head") @@ -588,8 +583,8 @@ label her_potion_ass_give: ## Ass Grope/Massage Section ## - if not her_ass_expand_groped: - if her_whoring < 19: + if not states.her.ev.potions.ass_expand_complete: + if states.her.level < 19: gen "Now then...{w=0.4} How about a massage?" ("base", xpos="far_left", ypos="head") her "A-- A massage?" ("clench", "squint", "worried", "mid", cheeks="blush") gen "Yes, surely you must feel tense after what that potion did to you..." ("base", xpos="far_left", ypos="head") @@ -601,7 +596,7 @@ label her_potion_ass_give: her "*hmph*..." ("annoyed", "narrow", "annoyed", "L", cheeks="blush") gen "Come on now, surely you must be a little bit curious..." ("base", xpos="far_left", ypos="head") her "I--" ("angry", "narrow", "base", "L", cheeks="blush") - if her_whoring < 15: + if states.her.level < 15: her "I want thirty extra points for it..." ("angry", "happyCl", "annoyed", "mid", cheeks="blush") gen "Thirty points to receive a massage?" ("base", xpos="far_left", ypos="head") gen "No... Twenty points, take it or leave it." ("base", xpos="far_left", ypos="head") @@ -616,7 +611,7 @@ label her_potion_ass_give: gen "Your--{w=0.2} Why of course [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") her "Thank you..." ("angry", "closed", "base", "mid", cheeks="blush") else: #Repeat - if her_whoring < 19: + if states.her.level < 19: gen "But until we try that... I suppose I could give you another massage." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "happyCl", "base", "mid", cheeks="blush") gen "For another twenty extra points of course..." ("base", xpos="far_left", ypos="head") @@ -639,7 +634,7 @@ label her_potion_ass_give: call her_chibi_scene("behind_desk_back") play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. - if her_whoring < 19: + if states.her.level < 19: her "Please be gentle, [name_genie_hermione]..." ("angry", "base", "base", "R", cheeks="blush", xpos="mid", ypos="base", flip=True, trans=d3) gen "Certainly... It is a massage is it not?" ("base", xpos="far_left", ypos="head") her "..." ("angry", "narrow", "base", "down", cheeks="blush") #pout @@ -722,15 +717,15 @@ label her_potion_ass_give: pause .8 nar "Seeing her puckered hole gives you an idea." - $ her_ass_expand_groped = True + $ states.her.ev.potions.ass_expand_complete = True menu: "-Stick a finger in there-": nar "You spread her cheeks open again to expose that tight hole." gen "Let's see how sensitive you really are..." ("base", xpos="far_left", ypos="head") nar "You start teasing the rim with your finger, gently circling it." - if not hg_anal.trigger: #Fail - if not her_ass_expand_finger: + if not states.her.status.anal: #Fail + if not states.her.ev.potions.ass_expand_tried_fingering: her "what do you--" ("base", "narrow", "base", "stare", cheeks="blush") #confused play sound "sounds/gltch.ogg" @@ -778,7 +773,7 @@ label her_potion_ass_give: hide screen blkfade with d5 - if her_whoring < 19: #When she cares about points + if states.her.level < 19: #When she cares about points her "I'll have those points now..." ("angry", "narrow", "annoyed", "mid", cheeks="blush", xpos="base", ypos="base", flip=False, trans=d3) gen "But..." ("base", xpos="far_left", ypos="head") her "No... No buts!" ("scream", "squint", "angry", "mid", cheeks="blush") @@ -795,10 +790,10 @@ label her_potion_ass_give: call her_walk(action="leave", speed=2.0) play sound "sounds/door_down.ogg" with hpunch - $ her_mood += 20 + $ states.her.mood += 20 - if not her_ass_expand_no_clothes: - if her_whoring < 19: + if not _no_clothes: + if states.her.level < 19: gen "..." ("base", xpos="far_left", ypos="head") else: gen "Was it something I said?" ("base", xpos="far_left", ypos="head") @@ -822,13 +817,13 @@ label her_potion_ass_give: gen "No buts next time, got it." ("base", xpos="far_left", ypos="head") $ hermione.unequip("hips") - $ her_ass_expand_drank = True - $ her_ass_expand_finger = True - $ her_ass_expand_no_clothes = False #Took off main clothing check reset + $ states.her.ev.potions.ass_expand_drank = True + $ states.her.ev.potions.ass_expand_tried_fingering = True + $ _no_clothes = False #Took off main clothing check reset jump end_hermione_event else: #Success - if not her_ass_expand_finger: + if not states.her.ev.potions.ass_expand_tried_fingering: her "[name_genie_hermione] please... I'm too sensitive. If you do that, I'm not sure I'll be able to control myself." ("mad", "narrow", "worried", "R", cheeks="blush") gen "That's unfortunate..." ("base", xpos="far_left", ypos="head") nar "You slowly pull your finger away from her asshole." @@ -985,7 +980,7 @@ label her_potion_ass_give: gen "Well then... You best be off to class." ("base", xpos="far_left", ypos="head") - if not her_ass_expand_no_clothes: + if not _no_clothes: her "Alright..." ("base", "narrow", "base", "down", cheeks="blush", xpos="base", ypos="base", flip=False, trans=d3) $ hermione.wear("all") else: #Took of main clothing @@ -998,7 +993,7 @@ label her_potion_ass_give: gen "Now hurry up... I have things to attend to." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "*Ehm*... What about my points?" ("soft", "wink", "base", "mid") gen "Oh right... The points..." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") @@ -1021,9 +1016,9 @@ label her_potion_ass_give: call her_walk(action="leave") - $ her_ass_expand_drank = True - $ her_ass_expand_finger = True - $ her_ass_expand_no_clothes = False #Took off main clothing check reset + $ states.her.ev.potions.ass_expand_drank = True + $ states.her.ev.potions.ass_expand_tried_fingering = True + $ _no_clothes = False #Took off main clothing check reset $ hermione.unequip("hips") jump end_hermione_event @@ -1065,7 +1060,7 @@ label her_potion_ass_give: $ hermione.unequip("hips") her "So, is that it [name_genie_hermione]?" ("open", "squint", "base", "R", cheeks="blush", xpos="base", ypos="base", flip=False, trans=d3) - if her_whoring < 19: + if states.her.level < 19: gen "Unless there's something else you wanted..." ("base", xpos="far_left", ypos="head") her "*Ehm*..." ("angry", "narrow", "base", "down", cheeks="blush") her "The points." ("angry", "squint", "base", "mid", cheeks="blush") @@ -1077,13 +1072,13 @@ label her_potion_ass_give: gen "{number=current_payout} to Gryffindor!" ("base", xpos="far_left", ypos="head") her "Oh right... The points.... Thank you." ("soft", "narrow", "base", "down") - if not hg_anal.trigger: #didn't expect you to push further + if not states.her.status.anal: #didn't expect you to push further gen "You're welcome by the way..." ("base", xpos="far_left", ypos="head") her "[name_genie_hermione]?" ("soft", "base", "base", "mid", cheeks="blush") gen "For the massage." ("base", xpos="far_left", ypos="head") her "Oh... Thank you [name_genie_hermione]." ("annoyed", "squint", "base", "R", cheeks="blush") gen "Off you go." ("base", xpos="far_left", ypos="head") - if not her_ass_expand_no_clothes: + if not _no_clothes: her "Alright." ("soft", "wink", "base", "mid", cheeks="blush") else: #Took of main clothing her "One moment please..." ("soft", "wink", "base", "mid", cheeks="blush") @@ -1097,7 +1092,7 @@ label her_potion_ass_give: gen "Is everything okay [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Oh... Yes, I'm fine, [name_genie_hermione]..." ("soft", "narrow", "base", "down", cheeks="blush") gen "Good." ("base", xpos="far_left", ypos="head") - if not her_ass_expand_no_clothes: + if not _no_clothes: gen "Off you go then." ("base", xpos="far_left", ypos="head") her "Right..." ("annoyed", "narrow", "base", "R", cheeks="blush") else: #Took of main clothing @@ -1113,8 +1108,8 @@ label her_potion_ass_give: gen "Bye [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ her_ass_expand_drank = True - $ her_ass_expand_no_clothes = False #Took off main clothing check reset + $ states.her.ev.potions.ass_expand_drank = True + $ _no_clothes = False #Took off main clothing check reset jump end_hermione_event @@ -1124,7 +1119,7 @@ label her_potion_ass_return: #Hermione enters office and walks to front of desk call her_walk("desk", "base", action="enter") - if her_reputation < 19: + if states.her.public_level < 19: her "That was so humiliating..." ("disgust", "narrow", "base", "down", cheeks="blush") gen "Hello to you too..." ("base", xpos="far_left", ypos="head") her "Why did you have to give me that potion the day Professor Snape has us go to Hogsmeade?" ("open", "closed", "annoyed", "mid", cheeks="blush") @@ -1230,7 +1225,7 @@ label her_potion_ass_return: call her_walk(action="leave") - $ her_ass_expand_drank = True - $ her_ass_expand_pub_done = True + $ states.her.ev.potions.ass_expand_drank = True + $ states.her.ev.potions.ass_expand_public_complete = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/potions/breast_expand.rpy b/game/scripts/characters/hermione/events/potions/breast_expand.rpy index d78b5297..f878049b 100644 --- a/game/scripts/characters/hermione/events/potions/breast_expand.rpy +++ b/game/scripts/characters/hermione/events/potions/breast_expand.rpy @@ -1,10 +1,4 @@ -default her_breast_expand_drank = False -default her_breast_expand_effects_known = False # If genie knows potion worked -default her_breast_expand_groped = False -default her_breast_expand_pub_low_reputation_done = False -default her_breast_expand_pub_high_reputation_done = False - label potion_breasts_make: call give_reward("You have successfully created a new potion!", breast_potion_ITEM) @@ -35,11 +29,11 @@ label her_potion_breasts_give: call her_chibi("hold_potion","mid","base") with d3 - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: her "A potion?" ("open", "squint", "base", "mid") gen "Why yes... And it's one of the nicer smelling ones." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "*Hmm*... You really want me to drink this?" ("angry", "narrow", "base", "mid") gen "Of course! I'll give you twenty points for it." ("base", xpos="far_left", ypos="head") her "..." ("normal", "squint", "base", "R") @@ -52,13 +46,13 @@ label her_potion_breasts_give: pause 0.6 call her_chibi("hold_potion","mid","base") - if her_breast_expand_effects_known: + if states.her.ev.potions.breast_expand_known: her "*Sniff*" ("normal", "happy", "base", "mid") her "Another breast expansion potion?" ("open", "squint", "base", "mid") #Neutral face gen "Good guess!" ("base", xpos="far_left", ypos="head") her "It does have that distinctive smell to it..." ("open", "squint", "base", "R") #Neutral face - if her_whoring < 19: + if states.her.level < 19: her "I mean... I guess it wasn't so bad." ("open", "closed", "base", "mid") #neutral face her "I had my teeth shrunk at some point too, so I'm not overly against body modifications..." ("open", "base", "base", "mid") gen "You had your teeth shrunk?" ("base", xpos="far_left", ypos="head") @@ -102,7 +96,7 @@ label her_potion_breasts_give: show screen blktone with d3 - if her_whoring < 19: + if states.her.level < 19: her "(Please don't work, please don't work.)" ("normal", "narrow", "base", "down") her "(My breast ached so much I couldn't even sleep...)" ("angry", "narrow", "base", "down") her "(I can't give him the satisfaction!)" ("angry", "closed", "base", "mid") @@ -136,7 +130,7 @@ label her_potion_breasts_give: her "*Ahhh*..." ("open", "closed", "base", "mid") call her_chibi("stand", "mid", "base") - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: her "*shakes head*" ("angry", "happyCl", "base", "mid") her "*Ugh*, the smell wasn't so bad, but the taste..." ("disgust", "squint", "base", "mid") her "It's like sour milk." ("disgust", "narrow", "base", "mid") @@ -150,9 +144,9 @@ label her_potion_breasts_give: menu: "-Send her to class-": - if her_whoring < 19: + if states.her.level < 19: - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: gen "*Hmm*...{w=0.4} It appears as if the potion may have been a failure or something should've happened." ("base", xpos="far_left", ypos="head") her "Oh... So what should I--" ("soft", "base", "base", "mid") @@ -166,7 +160,7 @@ label her_potion_breasts_give: gen "Well, since it didn't appear to work, you're free to go." ("base", xpos="far_left", ypos="head") else: - if her_breast_expand_effects_known: + if states.her.ev.potions.breast_expand_known: gen "Any moment now..." ("base", xpos="far_left", ypos="head") nar "You notice Hermione's breasts bounce slightly as the potion begins to take effect." @@ -198,7 +192,7 @@ label her_potion_breasts_give: her "Thank you, [name_genie_hermione], I'll head to class then." ("open", "squint", "base", "mid") else: #19+ - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: gen "*Hmm*... Looks like a dud..." ("base", xpos="far_left", ypos="head") her "A dud, [name_genie_hermione]?" ("annoyed", "squint", "base", "mid") gen "Yes... Well then... You better head back to class for today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") @@ -207,7 +201,7 @@ label her_potion_breasts_give: her "Oh... Alright..." ("open", "narrow", "base", "down") else: - if her_breast_expand_effects_known: + if states.her.ev.potions.breast_expand_known: gen "Alright then, off to class you go..." ("base", xpos="far_left", ypos="head") her "*Aww*... But I was hoping--" ("soft", "squint", "base", "R") her "*Ahem*... I mean-- Alright..." ("open", "narrow", "base", "down") @@ -228,7 +222,7 @@ label her_potion_breasts_give: if hg_pr_flash.counter > 0: ## Triggers public return event ## # Variant where she's used to flashing people. - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: nar "As Hermione reaches the door she stops and her body lurches slightly, the potion now beginning to spread through her body." #Hermione turns around @@ -241,7 +235,7 @@ label her_potion_breasts_give: menu: "\"Oh... It was supposed to make your breasts bigger.\"": - if her_whoring < 19: + if states.her.level < 19: her "It was supposed to do what?" ("open", "base", "base", "stare", cheeks="blush") # Slightly shocked gen "What? You didn't oppose to drinking this potion did you?" ("base", xpos="far_left", ypos="head") her "No, but I didn't--" ("angry", "squint", "base", "mid", cheeks="blush") @@ -278,10 +272,10 @@ label her_potion_breasts_give: call her_chibi(flip=False) her "Yes, [name_genie_hermione]?" ("soft", "base", "base", "mid", trans=d3) - if her_breast_expand_effects_known: + if states.her.ev.potions.breast_expand_known: gen "Have fun in class." ("grin", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "*Ah* You know I'm not doing it for fun--" ("open", "narrow", "base", "R", cheeks="blush") nar "You watch as Hermione's breasts bounce again." @@ -327,12 +321,12 @@ label her_potion_breasts_give: call her_chibi(flip=False) call ctc - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: her "[name_genie_hermione]... This potion..." ("soft", "squint", "base", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") nar "Suddenly Hermione jumps slightly and a shocked expression spreads across her face." else: - if her_whoring < 19: + if states.her.level < 19: her "(Not this again...)" ("angry", "narrow", "base", "down") her "(*Ah*... My breasts are starting to get sensitive.)" ("angry", "happyCl", "base", "mid") her "(I can't go to classes like this, it would ruin my reputation...)" ("angry", "narrow", "base", "down") @@ -354,7 +348,7 @@ label her_potion_breasts_give: gen "(Looks like she isn't willing to risk going to class...)" ("base", xpos="far_left", ypos="head") gen "(Perhaps if I asked her to do some other stuff in public she'd be more susceptible to the idea.)" ("base", xpos="far_left", ypos="head") - $ her_breast_expand_drank = True + $ states.her.ev.potions.breast_expand_drank = True # We only need to set the 'drank' flag. jump end_hermione_event @@ -367,8 +361,8 @@ label her_potion_breasts_give: gen "Give me a better look of those tits." ("base", xpos="far_left", ypos="head") - if not her_breast_expand_drank: - if her_whoring < 19: + if not states.her.ev.potions.breast_expand_drank: + if states.her.level < 19: her "I don't think so [name_genie_hermione]... You're only paying me for drinking the potion." ("angry", "narrow", "base", "mid") if hermione.is_any_worn("top", "bra"): her "If you expected to see me without anything covering them then you should've said so at the start." ("angry", "closed", "base", "mid") @@ -517,7 +511,7 @@ label her_potion_breasts_give: else: - if her_whoring < 19: + if states.her.level < 19: # She won't ask for points on level 19+ her "Am I getting paid extra for this?" ("open", "squint", "base", "mid") @@ -531,7 +525,7 @@ label her_potion_breasts_give: $ current_payout += 10 - if her_whoring < 21: #Under Sex level + if states.her.level < 21: #Under Sex level gen "Step up a bit closer as well..." ("base", xpos="far_left", ypos="head") gen "I want to see them in all their glory!" ("base", xpos="far_left", ypos="head") @@ -649,19 +643,19 @@ label her_potion_breasts_give: ##Genie asks to touch her breasts## - if her_whoring < 19: + if states.her.level < 19: gen "Would you like to earn some additional points?" ("base", xpos="far_left", ypos="head") else: gen "How about we take it one step further?" ("base", xpos="far_left", ypos="head") - if not her_breast_expand_groped: + if not states.her.ev.potions.breast_expand_groped: her "Depends what it is you want..." ("soft", "narrow", "base", "mid", cheeks="blush") gen "To weigh those melons of course!" ("base", xpos="far_left", ypos="head") her "Sorry?" ("angry", "narrow", "base", "mid", cheeks="blush") gen "I want you to come here for a moment and let me have a feel." ("base", xpos="far_left", ypos="head") her "Oh..." ("open", "squint", "base", "R", cheeks="blush") - if her_whoring < 19: + if states.her.level < 19: her "Of course you do." ("angry", "narrow", "base", "R", cheeks="blush") gen "So?" ("base", xpos="far_left", ypos="head") her "I want twenty extra points..." ("open", "closed", "base", "mid", cheeks="blush") @@ -684,7 +678,7 @@ label her_potion_breasts_give: her "You want to touch them again I assume..." ("soft", "narrow", "base", "mid", cheeks="blush") gen "That's right." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "In that case I want another twenty points like last time..." ("open", "closed", "base", "mid", cheeks="blush") gen "Twenty points again?" ("base", xpos="far_left", ypos="head") her "Yes." ("angry", "narrow", "base", "mid", cheeks="blush") @@ -719,7 +713,7 @@ label her_potion_breasts_give: nar "With the two big globes presented in front of you, you reach out and grab one in each hand and begin massaging them." hide screen blkfade - if not her_breast_expand_groped: + if not states.her.ev.potions.breast_expand_groped: her "!!!" ("angry", "narrow", "worried", "down", cheeks="blush", xpos="mid", ypos="base", trans=d3) her "Please be gentle [name_genie_hermione]... The potion made them even more sensitive than usual." ("angry", "squint", "base", "mid", cheeks="blush") gen "{i}Even more{/i}?" ("base", xpos="far_left", ypos="head") @@ -744,7 +738,7 @@ label her_potion_breasts_give: with d3 - if her_whoring < 19: #Under blowjob level + if states.her.level < 19: #Under blowjob level her "*Ahhhh*!!!" ("scream", "wide", "base", "down", cheeks="blush") her "They've grown even bigger!" ("angry", "base", "base", "down", cheeks="blush") gen "Don't worry about it [name_hermione_genie], think about how you're helping your precious {i}Gryffindeer{/i}." ("base", xpos="far_left", ypos="head") @@ -782,7 +776,7 @@ label her_potion_breasts_give: gen "Now that's more like it!" ("base", xpos="far_left", ypos="head") gen "Real weighty these things aren't they?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "[name_genie_hermione]... That's not--" ("angry", "squint", "base", "stare", cheeks="blush") else: her "Oh... Yes..." ("base", "closed", "base", "mid", cheeks="blush") @@ -796,7 +790,7 @@ label her_potion_breasts_give: her "..." ("disgust", "narrow", "base", "down", cheeks="blush") #blush gen "I suppose that answers that question..." ("base", xpos="far_left", ypos="head") - if her_whoring < 21: ## Doesn't cum ## + if states.her.level < 21: ## Doesn't cum ## nar "You take Hermione's breasts back into your hands and continue massaging." gen "Now... Stay still, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") @@ -809,7 +803,7 @@ label her_potion_breasts_give: nar "You resume running your fingers across her breasts." - if her_whoring < 19: + if states.her.level < 19: gen "Those points aren't going to earn themselves are they?" ("base", xpos="far_left", ypos="head") nar "You pinch Hermione's nipples making her yelp in surprise." @@ -836,13 +830,13 @@ label her_potion_breasts_give: gen "Good work, [name_hermione_genie]... {number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") her "{size=-4}I'm glad at least one of us got some gratification out of it...{/size}" ("normal", "narrow", "base", "down", cheeks="blush") # Annoyed that Genie cut it short - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: her "I'll be heading out now." ("open", "closed", "base", "mid", cheeks="blush") #Hermione walks to the door call her_walk("door") - if her_whoring < 19: + if states.her.level < 19: her "Wait!" ("angry", "narrow", "base", "stare", cheeks="blush", xpos="base", ypos="base", flip=True) her "I can't go out like this!" ("open", "squint", "base", "stare", cheeks="blush") gen "Why? What's the problem?" ("base", xpos="far_left", ypos="head") @@ -861,9 +855,9 @@ label her_potion_breasts_give: gen "It's not like you haven't gone topless in public before, have you?" ("base", xpos="far_left", ypos="head") her "Yes but--" ("angry", "narrow", "base", "mid", cheeks="blush", flip=False, trans=dissolve) - if her_whoring < 19: + if states.her.level < 19: - if not her_ass_expand_pub_done: + if not states.her.ev.potions.ass_expand_public_complete: gen "Haven't I given you your points already?" ("base", xpos="far_left", ypos="head") gen "I'm certain you usually leave after that." ("base", xpos="far_left", ypos="head") her "Yes, but not like this..." ("soft", "narrow", "base", "down", cheeks="blush") @@ -904,9 +898,9 @@ label her_potion_breasts_give: jump .end else: - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: gen "Can't you just avoid public places on your way out to your dormitory?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "The dormitory is a public place!" ("angry", "squint", "base", "mid", cheeks="blush", flip=False, trans=dissolve) her "Even then, the castle is full of moving pictures, they're like surveillance..." ("angry", "base", "worried", "mid") else: @@ -1014,9 +1008,9 @@ label her_potion_breasts_give: label .end: - $ her_breast_expand_groped = True - $ her_breast_expand_drank = True - $ her_breast_expand_effects_known = True + $ states.her.ev.potions.breast_expand_groped = True + $ states.her.ev.potions.breast_expand_drank = True + $ states.her.ev.potions.breast_expand_known = True $ hermione.unequip("chest") jump end_hermione_event @@ -1030,10 +1024,10 @@ label her_potion_breasts_return: play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - if her_reputation < 19: - if not her_breast_expand_pub_low_reputation_done: + if states.her.public_level < 19: + if not states.her.ev.potions.breast_expand_public_low_complete: - $ her_breast_expand_pub_low_reputation_done = True + $ states.her.ev.potions.breast_expand_public_low_complete = True ### TODO: add CG once it's finished @@ -1167,9 +1161,9 @@ label her_potion_breasts_return: gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") her "... Thanks." ("open", "narrow", "worried", "R", cheeks="blush") else: # 19+ - if not her_breast_expand_pub_high_reputation_done: + if not states.her.ev.potions.breast_expand_public_high_complete: - $ her_breast_expand_pub_high_reputation_done = True + $ states.her.ev.potions.breast_expand_public_high_complete = True her "Hello [name_genie_hermione]..." ("open", "base", "base", "mid", cheeks="blush") gen "*Mmm*... What?" ("base", xpos="far_left", ypos="head") @@ -1199,7 +1193,7 @@ label her_potion_breasts_return: her "Which did boost my confidence quite handsomely..." ("grin", "narrow", "base", "mid", cheeks="blush") #smile #glance away gen "I'm glad that our little experiment could give you such a boost in self-esteem." - if her_reputation < 22: + if states.her.public_level < 22: her "Me too..." ("base", "squint", "base", "mid", cheeks="blush") her "Not that I had much time to enjoy it." ("open", "narrow", "base", "R") else: @@ -1357,7 +1351,7 @@ label her_potion_breasts_return: her "I must admit... That Slytherin boy was more clever than I'd give any of them credit for." ("annoyed", "narrow", "worried", "R", cheeks="blush") her "I got completely covered in that horribly sticky mess..." ("disgust", "closed", "worried", "mid", cheeks="blush") - if not hg_kiss.trigger: + if not states.her.status.kissing: gen "I'm sure you'll get used to it..." else: gen "You'd think you'd be used to that sort of thing." @@ -1400,7 +1394,7 @@ label her_potion_breasts_return: call her_walk(action="leave") - $ her_breast_expand_drank = True - $ her_breast_expand_effects_known = True + $ states.her.ev.potions.breast_expand_drank = True + $ states.her.ev.potions.breast_expand_known = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/potions/polyjuice_cat.rpy b/game/scripts/characters/hermione/events/potions/polyjuice_cat.rpy index 67b26ef4..d70222bb 100644 --- a/game/scripts/characters/hermione/events/potions/polyjuice_cat.rpy +++ b/game/scripts/characters/hermione/events/potions/polyjuice_cat.rpy @@ -1,9 +1,4 @@ -default her_polyjuice_drank = False -default her_polyjuice_cat_drank = False -default her_polyjuice_cat_blowjob = False -default her_polyjuice_cat_stage_two = False - label potion_cat_make: call give_reward("You have successfully created a new potion!", cat_potion_ITEM) @@ -27,15 +22,15 @@ label her_potion_cat_give: gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid") - if not her_polyjuice_drank: - $ her_polyjuice_drank = True + if not states.her.ev.potions.polyjuice_drank: + $ states.her.ev.potions.polyjuice_drank = True gen "I've got a potion here that I'd like you to try..." ("base", xpos="far_left", ypos="head") nar "You bring out the thick potion and hand it to Hermione." call her_chibi("hold_potion","mid","base") with d3 - if her_whoring < 16: + if states.her.level < 16: her "A potion? What kind of potion is it? It looks gross..." ("disgust", "happy", "base", "mid") gen "Wouldn't it spoil half of the enjoyment if I told you?" ("base", xpos="far_left", ypos="head") her "Depends whose enjoyment you're talking about..." ("angry", "narrow", "base", "mid") @@ -73,7 +68,7 @@ label her_potion_cat_give: gen "...{w=0.5}no?" ("base", xpos="far_left", ypos="head") her "You're lying..." ("open", "closed", "base", "mid") - if her_whoring < 16: + if states.her.level < 16: her "Do I have to?" ("angry", "narrow", "base", "mid") gen "You don't have to do anything [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "But if you do decide to, it would make me very happy...." ("base", xpos="far_left", ypos="head") @@ -99,11 +94,11 @@ label her_potion_cat_give: her "*Bleugh*." ("open_tongue", "happyCl", "base", "mid") gen "Well done." ("base", xpos="far_left", ypos="head") - if not her_polyjuice_cat_drank: + if not states.her.ev.potions.polyjuice_cat_drank: her "I did it..." ("angry", "happy", "base", "mid") her "Now will you at least tell me what this potion does?" ("disgust", "base", "base", "mid") - if her_breast_expand_drank: + if states.her.ev.potions.breast_expand_drank: her "Is it supposed to make my breasts bigger? They don't feel any bigger." ("open", "base", "base", "mid") gen "That's not it... Maybe you should just head back to class in that case... I could've sworn I did it right..." ("base", xpos="far_left", ypos="head") @@ -129,7 +124,7 @@ label her_potion_cat_give: gen "You'll just have to wait for a bit, remember?" ("base", xpos="far_left", ypos="head") gen "So you best head back to class for now." ("base", xpos="far_left", ypos="head") - if her_reputation < 15: #Before she'd enjoy to have her look like a cat in class + if states.her.public_level < 15: #Before she'd enjoy to have her look like a cat in class her "Great... Can't wait for the effects to kick in... It was bad enough the first time..." ("angry", "narrow", "base", "mid", cheeks="blush") gen "I'm sure ten extra points should make it worth it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") @@ -162,8 +157,8 @@ label her_potion_cat_return: call her_walk(action="enter", xpos="mid", ypos="base") - if not her_polyjuice_cat_drank: - $ her_polyjuice_cat_drank = True + if not states.her.ev.potions.polyjuice_cat_drank: + $ states.her.ev.potions.polyjuice_cat_drank = True her "" ("annoyed", "squint", "annoyed", "mid") call ctc @@ -205,7 +200,7 @@ label her_potion_cat_return: gen "What's the problem? I think you look cute..." ("base", xpos="far_left", ypos="head") her "I'm a Cat! Polyjuice isn't supposed to be used this way!" ("angry", "base", "base", "mid", cheeks="blush") - if her_reputation < 15: #Before she'd enjoy to have her look like a cat in class + if states.her.public_level < 15: #Before she'd enjoy to have her look like a cat in class her "People kept making fun of me and pulling my tail in class!" ("angry", "narrow", "base", "mid", cheeks="blush") gen "And how did that make you feel?" ("base", xpos="far_left", ypos="head") her "Humiliated!" ("angry", "happyCl", "base", "mid", cheeks="blush") @@ -247,8 +242,8 @@ label her_potion_cat_return: gen "I do believe we could do better than this." ("base", xpos="far_left", ypos="head") her "[name_genie_hermione]?" ("angry", "base", "base", "mid") nar "You bring out another polyjuice potion and swirl it in front of Hermione." - if not her_polyjuice_cat_stage_two: #Not turned her into more of a cat - $ her_polyjuice_cat_stage_two = True + if not states.her.ev.potions.polyjuice_cat_furry: #Not turned her into more of a cat + $ states.her.ev.potions.polyjuice_cat_furry = True $ cat_potion_ITEM.owned -= 1 her "You're joking right?" ("disgust", "narrow", "base", "mid") @@ -322,7 +317,7 @@ label her_potion_cat_return: call her_walk(action="leave") - $ her_mood += 15 + $ states.her.mood += 15 #Hermione never gets the extra points $ hermione.equip(her_outfit_last) @@ -333,7 +328,7 @@ label her_potion_cat_return: her "Are you serious? You know what happened last time!" ("clench", "base", "base", "mid") gen "More the reason to do it again!" ("grin", xpos="far_left", ypos="head") - if her_whoring < 22: #Fail + if states.her.level < 22: #Fail her "No, I am not humiliating myself like this again..." ("disgust", "narrow", "base", "mid") gen "(I guess she isn't ready for another dose yet, maybe I should train her more first...)" ("base", xpos="far_left", ypos="head") @@ -418,7 +413,7 @@ label her_potion_cat_return: play sound "sounds/cat_scream.ogg" pause .8 gen "Tail..." ("base", xpos="far_left", ypos="head") - $ her_mood += 15 + $ states.her.mood += 15 $ hermione.equip(her_outfit_last) jump end_hermione_event @@ -430,18 +425,18 @@ label her_potion_cat_return: her "By doing what?" ("open", "happy", "base", "mid") gen "By putting that mouth around my cock." ("base", xpos="far_left", ypos="head") - if not her_polyjuice_cat_blowjob: + if not states.her.ev.potions.polyjuice_cat_blowjob: - if not hg_blowjob.trigger: #Fail + if not states.her.status.blowjob: #Fail her "You want me to--" ("angry", "base", "base", "mid") her "[name_genie_hermione]!" ("angry", "base", "annoyed", "mid", cheeks="blush") gen "What?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "I can't believe you'd ask such a thing!" ("angry", "base", "angry", "mid", cheeks="blush") gen "Surely we can't waste this opportunity!" ("base", xpos="far_left", ypos="head") her "Yes we can!" ("angry", "narrow", "angry", "mid", cheeks="blush") - $ her_mood += 15 + $ states.her.mood += 15 else: her "I am not doing that when looking like this!" ("angry", "base", "annoyed", "mid") gen "But it'd be such a wasted opportunity!" ("base", xpos="far_left", ypos="head") @@ -511,7 +506,7 @@ label her_potion_cat_return: hide screen blkfade with d3 - if not her_polyjuice_cat_blowjob: + if not states.her.ev.potions.polyjuice_cat_blowjob: her "*Slurp*! *Gulp*! *Gltch*!" ("open_wide_tongue", "closed", "base", "mid") gen "Good god what is with your tongue?!" ("angry", xpos="far_left", ypos="head") @@ -540,11 +535,11 @@ label her_potion_cat_return: her "*Mhm*..." ("open_wide_tongue", "closed", "base", "mid", cheeks="blush") her "*Slurp*...{w=0.4} *Slurp*...{w=0.4} *Slurp*..." ("open_wide_tongue", "closed", "worried", "mid", cheeks="blush") - if not her_polyjuice_cat_blowjob: + if not states.her.ev.potions.polyjuice_cat_blowjob: gen "Even looking like this?" ("base", xpos="far_left", ypos="head") gen "*Hmm*... You'd think they question why you'd turn up looking like a cat..." ("base", xpos="far_left", ypos="head") gen "Did they just assume you were under an evil Slytherin spell?" ("base", xpos="far_left", ypos="head") - if her_reputation > 15: + if states.her.public_level > 15: gen "Or would they just think that slutty little Miss Granger is begging for attention." ("base", xpos="far_left", ypos="head") nar "You go to place your hand on the back of her head but her new ears block the way." gen "These are quite soft." ("base", xpos="far_left", ypos="head") @@ -661,6 +656,6 @@ label her_potion_cat_return: call her_walk(action="leave") $ hermione.equip(her_outfit_last) - $ her_polyjuice_cat_blowjob = True + $ states.her.ev.potions.polyjuice_cat_blowjob = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/potions/polyjuice_luna.rpy b/game/scripts/characters/hermione/events/potions/polyjuice_luna.rpy index e504deba..0da4a588 100644 --- a/game/scripts/characters/hermione/events/potions/polyjuice_luna.rpy +++ b/game/scripts/characters/hermione/events/potions/polyjuice_luna.rpy @@ -1,7 +1,4 @@ -default her_polyjuice_luna_drank = False -default her_polyjuice_luna_nude = False - label potion_luna_make: call give_reward("You have successfully created a new potion!", luna_potion_ITEM) @@ -26,7 +23,7 @@ label her_potion_luna_give: gen "Might I offer you a drink?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "Are you sure it's wise to be giving me alcohol, [name_genie_hermione]?" ("soft", "squint", "base", "mid") gen "It's not alcohol, [name_hermione_genie]... Just a harmless little potion." ("base", xpos="far_left", ypos="head") else: @@ -37,10 +34,10 @@ label her_potion_luna_give: call her_chibi("hold_potion","mid","base") with d3 - if not her_polyjuice_drank: - $ her_polyjuice_drank = True + if not states.her.ev.potions.polyjuice_drank: + $ states.her.ev.potions.polyjuice_drank = True - if her_whoring < 19: + if states.her.level < 19: her "Let me guess, you're not going to tell me what it does." ("angry", "narrow", "base", "mid") gen "Of course not, where would the fun be in that..." ("base", xpos="far_left", ypos="head") her "Typical..." ("angry", "narrow", "base", "down") @@ -75,7 +72,7 @@ label her_potion_luna_give: her "Do I really have to drink this again?" ("angry", "base", "base", "mid") gen "If you'd like to continue our favour trading it would certainly be in your best interest, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "..." ("normal", "narrow", "base", "mid") else: her "Now, there's no need to go to such extremes..." ("open", "squint", "base", "R", cheeks="blush") @@ -83,7 +80,7 @@ label her_potion_luna_give: her "Can you at least tell me what you've put in it?" ("angry", "base", "base", "mid") gen "Where's fun in that? You're going to have to drink it and find out..." ("base", xpos="far_left", ypos="head") - if her_polyjuice_cat_drank: + if states.her.ev.potions.polyjuice_cat_drank: her "One of the last potions you gave me before tasted like wet puss..." ("disgust", "base", "base", "mid") gen "And it turned you into one as well!" ("grin", xpos="far_left", ypos="head") her "*Tsk!*" ("angry", "narrow", "base", "R") @@ -101,7 +98,7 @@ label her_potion_luna_give: her "*Smacks lips*" ("grin", "closed", "base", "mid") - if not her_polyjuice_luna_drank: + if not states.her.ev.potions.polyjuice_luna_drank: her "It didn't taste so bad actually. Kind of sweet and sour." ("grin", "base", "base", "mid") gen "As long as you keep it down, you'll earn Gryffindor a great deal of points." ("base", xpos="far_left", ypos="head") her "I will." ("open", "closed", "base", "mid") @@ -113,7 +110,7 @@ label her_potion_luna_give: menu: "\"Troubling indeed...\"": - if her_whoring < 16: + if states.her.level < 16: her "It is! [name_genie_hermione], I used to be at the top of the class. My scores were impeccable." ("angry", "squint", "worried", "mid") gen "And how are your scores now?" ("base", xpos="far_left", ypos="head") her "I'm still at the top... Just not by much." ("open", "closed", "base", "mid") @@ -121,7 +118,7 @@ label her_potion_luna_give: her "*Hmph*... And what \"should\" be my primary concern then?" ("angry", "narrow", "base", "mid") gen "Currently. I'd say your face is pretty high on the list." ("base", xpos="far_left", ypos="head") her "Excuse me? This is hardly appropriate--" ("angry", "narrow", "annoyed", "mid") - elif her_whoring < 22: + elif states.her.level < 22: her "That said... We have been earning a lot of points for Gryffindor." ("base", "squint", "base", "R") gen "You have, you mean." ("base", xpos="far_left", ypos="head") her "I suppose..." ("base", "narrow", "base", "down", cheeks="blush") @@ -147,14 +144,14 @@ label her_potion_luna_give: her "But--" ("angry", "base", "worried", "mid") "\"I bet you'd get the top grade in dick sucking class!\"": - if hg_blowjob.trigger: + if states.her.status.blowjob: her "[name_genie_hermione]!" ("angry", "base", "base", "mid", cheeks="blush") gen "Oh, don't be so modest. If sucking dick was a class, you'd be {i}Magna Cum Laude{/i}." ("grin", xpos="far_left", ypos="head") her "I'm not sure that's appropriate, but thanks I suppose..." ("angry", "narrow", "base", "R", cheeks="blush") her "You know... There's still time to earn some house points before class. If you're feeling generous I could..." ("open", "narrow", "base", "down", cheeks="blush") gen "I'd have to know on whose face I'll be cumming on though." ("base", xpos="far_left", ypos="head") her "What do you mean? My face of course--" ("angry", "squint", "base", "mid", cheeks="blush") - elif her_whoring < 16: + elif states.her.level < 16: her "[name_genie_hermione]!" ("angry", "base", "worried", "mid") her "I can't believe you'd say such a thing!" ("clench", "squint", "worried", "mid") gen "Well, you'll never know if you don't try." ("base", xpos="far_left", ypos="head") @@ -185,7 +182,7 @@ label her_potion_luna_give: gen "Until then, why don't you tell me a little bit about how your day's been going." ("base", xpos="far_left", ypos="head") her "Alright." ("base", "base", "base", "mid") - if her_whoring < 16: + if states.her.level < 16: her "There's not much to tell you that you don't already know." ("open", "closed", "base", "mid") her "Lately I've been questioning my previous outlook on life in general." ("open", "narrow", "base", "R") gen "In what way exactly?" ("base", xpos="far_left", ypos="head") @@ -198,7 +195,7 @@ label her_potion_luna_give: # Sets Luna's initial facial expression to the ones Hermione had just a moment ago $ luna.set_face(mouth="disgust", eyes="base", eyebrows="base", pupils="mid") - elif her_whoring < 19: + elif states.her.level < 19: her "It's been pretty good, thanks for asking." ("base", "closed", "base", "mid") her "The morale has never been higher in the common room." ("grin", "base", "base", "mid") her "I feel like we might actually have a chance at winning this year." ("smile", "base", "base", "mid") @@ -251,7 +248,7 @@ label her_potion_luna_give: pause 2 - if not her_polyjuice_luna_drank: + if not states.her.ev.potions.polyjuice_luna_drank: lun "*Ughhh*... My head..." ("disgust", "closed", "base", "mid", trans=d3) lun "I feel like I'm going to throw up!" ("mad", "narrow", "base", "mid") gen "Well you look fine to me!" ("grin", xpos="far_left", ypos="head") @@ -273,7 +270,7 @@ label her_potion_luna_give: gen "And now if you don't mind, I'd like you to bare your--, her chest for me..." ("base", xpos="far_left", ypos="head") lun "What?!" ("disgust", "wide", "base", "mid") - if her_whoring < 16: + if states.her.level < 16: lun "I can't believe what you're suggesting, you're asking me to show off another students breasts?" ("disgust", "base", "annoyed", "mid", cheeks="blush") gen "Well, what else would you have me do? Look at your face?" ("base", xpos="far_left", ypos="head") lun "I...{w=0.4} Yes?" ("annoyed", "narrow", "raised", "mid", cheeks="blush") @@ -309,7 +306,7 @@ label her_potion_luna_give: lun "*Hmm*... At least I still appear to be a girl... A Ravenclaw." ("upset", "narrow", "raised", "down") gen "I'm surprised you expected something different." ("base", xpos="far_left", ypos="head") - if her_polyjuice_cat_drank: + if states.her.ev.potions.polyjuice_cat_drank: lun "Well... Seeing that you've previously tried to turn me into a cat." ("open", "narrow", "base", "mid") gen "A cat-girl actually..." ("base", xpos="far_left", ypos="head") lun "..." ("disgust", "narrow", "base", "mid") @@ -327,7 +324,7 @@ label her_potion_luna_give: lun "..." ("annoyed", "narrow", "base", "R") gen "Now, I'd like to see those great assets of hers..." ("base", xpos="far_left", ypos="head") - if her_whoring <= 16: + if states.her.level <= 16: lun "This again? It was already bad enough that I agreed to do it before..." ("disgust", "narrow", "base", "mid") gen "There wasn't any repercussions was there?" ("base", xpos="far_left", ypos="head") lun "..." ("annoyed", "narrow", "base", "down") @@ -348,8 +345,8 @@ label her_potion_luna_give: play sound "sounds/cloth_sound3.ogg" $ luna.strip("bra") - if not her_polyjuice_luna_drank: - if her_whoring < 16: + if not states.her.ev.potions.polyjuice_luna_drank: + if states.her.level < 16: lun "..." ("normal", "narrow", "base", "down", cheeks="blush") lun "This feels wrong..." ("open", "narrow", "low", "down", cheeks="blush") gen "Feels pretty right to me!" ("grin", xpos="far_left", ypos="head") @@ -385,8 +382,8 @@ label her_potion_luna_give: lun "" ("annoyed", "base", "base", "R", cheeks="blush", trans=dissolve) call ctc - if not her_polyjuice_luna_drank: - if her_whoring < 16: + if not states.her.ev.potions.polyjuice_luna_drank: + if states.her.level < 16: gen "Very good." ("base", xpos="far_left", ypos="head") lun "..." ("upset", "narrow", "base", "down", cheeks="blush") lun "Am I done here?" ("open", "closed", "base", "mid", cheeks="blush") @@ -406,10 +403,10 @@ label her_potion_luna_give: lun "*Hmm*?" ("annoyed", "narrow", "base", "mid", cheeks="blush") gen "You haven't bared it all just yet." ("grin", xpos="far_left", ypos="head") - if not her_polyjuice_luna_nude: - $ her_polyjuice_luna_nude = True + if not states.her.ev.potions.polyjuice_luna_nude: + $ states.her.ev.potions.polyjuice_luna_nude = True - if her_whoring < 16: + if states.her.level < 16: lun "You want me to strip naked?" ("clench", "base", "base", "mid", cheeks="blush") gen "Of course!" ("grin", xpos="far_left", ypos="head") lun "Why?" ("upset", "narrow", "annoyed", "mid", cheeks="blush") @@ -508,7 +505,7 @@ label her_potion_luna_give: else: # Hermione stripped completely as Luna before lun "Right..." ("disgust", "narrow", "base", "down", cheeks="blush") - if her_whoring < 16: + if states.her.level < 16: lun "And how many points would I--" ("angry", "base", "base", "mid", cheeks="blush") gen "Thirty points." ("base", xpos="far_left", ypos="head") @@ -573,7 +570,7 @@ label her_potion_luna_give: lun "Thank you, [name_genie_hermione]..." ("open", "closed", "base", "mid", trans=dissolve) - if not her_polyjuice_luna_drank: + if not states.her.ev.potions.polyjuice_luna_drank: lun "I think I better head off to class now." ("angry", "base", "base", "R") gen "You're going to class looking like Miss Lovegood?" ("base", xpos="far_left", ypos="head") lun "Why not." ("base", "narrow", "base", "mid") @@ -596,6 +593,6 @@ label her_potion_luna_give: $ luna.equip(lun_outfit_last) $ name_luna_genie = luna_name_old - $ her_polyjuice_luna_drank = True + $ states.her.ev.potions.polyjuice_luna_drank = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/requests/flash_your_tits.rpy b/game/scripts/characters/hermione/events/requests/flash_your_tits.rpy index 8f07404b..393eecd1 100644 --- a/game/scripts/characters/hermione/events/requests/flash_your_tits.rpy +++ b/game/scripts/characters/hermione/events/requests/flash_your_tits.rpy @@ -32,7 +32,7 @@ label hg_pr_flash: gen "You know, flash your breasts to some boys..." ("base", xpos="far_left", ypos="head") her "?!!" ("shock", "wide", "base", "stare") - if her_reputation < 6: + if states.her.public_level < 6: jump too_much_public play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed @@ -62,7 +62,7 @@ label hg_pr_flash: her "I suppose..." her "Well alright, I'll see what I can do..." else: - if her_tier >= 5: + if states.her.tier >= 5: gen "[name_hermione_genie] I need you to go out there and flash your tits to one of your classmates." ("base", xpos="far_left", ypos="head") her "I will do my best [name_genie_hermione]." ("open", "closed", "base", "mid") gen "Really? Just like that? No complaints or anything?" ("base", xpos="far_left", ypos="head") @@ -75,7 +75,7 @@ label hg_pr_flash: gen "{size=-3}(I'm so good at this training thing that it's starting to get creepy!){/size}" ("grin", xpos="far_left", ypos="head") her "Classes are about to start... I'd better leave now." ("base", "base", "base", "mid") her "I will see you later tonight, [name_genie_hermione]." - elif her_tier >= 4: + elif states.her.tier >= 4: gen "I think you need to show off your tits some more, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "You mean to you, [name_genie_hermione]?" ("upset", "wink", "base", "mid") gen "No, to your classmates..." ("base", xpos="far_left", ypos="head") @@ -149,7 +149,7 @@ label end_hg_pr_flash: # Increase Points if not hg_pr_flash.is_tier_complete(): - $ her_reputation += 1 + $ states.her.public_level += 1 $ hg_pr_flash.inProgress = False jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/requests/flirt_with_students.rpy b/game/scripts/characters/hermione/events/requests/flirt_with_students.rpy index 20ea94cf..ec6518c1 100644 --- a/game/scripts/characters/hermione/events/requests/flirt_with_students.rpy +++ b/game/scripts/characters/hermione/events/requests/flirt_with_students.rpy @@ -45,11 +45,11 @@ label hg_pr_flirt: gen "Exactly... Just looking out for you [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "*Ehm*... Thank you [name_genie_hermione]..." else: - if her_tier >= 3: + if states.her.tier >= 3: gen "I need you to flirt with some boys from Slytherin today." ("base", xpos="far_left", ypos="head") her "I'll see what I can do, [name_genie_hermione]." gen "Great. I'll be expecting your report today after classes." ("base", xpos="far_left", ypos="head") - elif her_tier >= 2: + elif states.her.tier >= 2: gen "I need you to go make some new friends at the Slytherin house." ("base", xpos="far_left", ypos="head") her "You mean you need me to flirt with the Slytherin boys again [name_genie_hermione]?" her "Fine." ("upset", "base", "angry", "R") @@ -106,7 +106,7 @@ label end_hg_pr_flirt: # Increase Points if not hg_pr_flirt.is_tier_complete(): - $ her_reputation += 1 + $ states.her.public_level += 1 $ hg_pr_flirt.inProgress = False jump end_hermione_event @@ -230,7 +230,7 @@ label hg_pr_flirt_T1_E2: gen "..." ("base", xpos="far_left", ypos="head") gen "Now I feel bad for saying that..." ("base", xpos="far_left", ypos="head") - $ her_mood += 10 + $ states.her.mood += 10 jump end_hg_pr_flirt.quick_end jump end_hg_pr_flirt @@ -484,6 +484,6 @@ label hg_pr_flirt_T3_E3: gen "You are free to leave." ("base", xpos="far_left", ypos="head") her "{size=-4}(Stubborn old man!){/size}" ("angry", "base", "angry", "mid") - $ her_mood += 10 + $ states.her.mood += 10 jump end_hg_pr_flirt.no_points jump end_hg_pr_flirt diff --git a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy index 37a91f67..426ff588 100644 --- a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy +++ b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy @@ -35,9 +35,9 @@ label hg_pr_flirt_teacher: gen "*Ehm*... Yeah, that's exactly what I'm doing." ("base", xpos="far_left", ypos="head") her "Splendid! You can count on me, [name_genie_hermione]!" ("smile", "squint", "angry", "mid") else: - if her_tier >= 3: + if states.her.tier >= 3: her "As you wish, [name_genie_hermione]." ("base", "squint", "base", "mid") - elif her_tier >= 2: + elif states.her.tier >= 2: her "I'll make sure to note every single detail, [name_genie_hermione]." ("base", "squint", "angry", "mid") gen "Looking forward to it..." ("base", xpos="far_left", ypos="head") else: @@ -70,7 +70,7 @@ label end_hg_pr_flirt_teacher: # Increase Points if not hg_pr_flirt_teacher.is_tier_complete(): - $ her_reputation += 1 + $ states.her.public_level += 1 $ hg_pr_flirt_teacher.inProgress = False jump end_hermione_event @@ -109,7 +109,7 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick call hg_pr_flirt_teacher_intro - #if her_whoring >= 3 and her_whoring < 6: + #if states.her.level >= 3 and states.her.level < 6: play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "Well, I was going to flirt with Professor Flitwick..." ("open", "base", "worried", "R") @@ -193,7 +193,7 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick gen "You are dismissed, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "*Tsk*!" ("angry", "base", "angry", "mid", emote="angry") - $ her_mood += 18 + $ states.her.mood += 18 jump end_hg_pr_flirt_teacher.no_points jump end_hg_pr_flirt_teacher @@ -247,7 +247,7 @@ label hg_pr_flirt_teacher_T1_E2: # Snape her "And I feel so humiliated now..." ("angry", "happyCl", "worried", "mid", emote="sweat") her "But I understand and won't argue with your decision..." ("normal", "happyCl", "worried", "mid") - $ her_mood += 3 + $ states.her.mood += 3 jump end_hg_pr_flirt_teacher.no_points jump end_hg_pr_flirt_teacher @@ -280,7 +280,7 @@ label hg_pr_flirt_teacher_T2_E1: # Slughorn call hg_pr_flirt_teacher_intro - #elif her_whoring >= 6 and her_whoring < 9: + #elif states.her.level >= 6 and states.her.level < 9: stop music fadeout 1.0 her "Well, professor Slughorn invited me over to one of his..." ("open", "base", "worried", "R") @@ -391,7 +391,7 @@ label hg_pr_flirt_teacher_T2_E2: menu: "\"Show me or I won't pay you!\"": - $ her_mood += 9 + $ states.her.mood += 9 her "What?!" ("scream", "base", "base", "mid") her "..............." ("annoyed", "narrow", "worried", "down") @@ -467,7 +467,7 @@ label hg_pr_flirt_teacher_T2_E3: # Filch gen "You are dismissed, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "........................................." ("angry", "base", "angry", "mid") - $ her_mood +=15 + $ states.her.mood +=15 jump end_hg_pr_flirt_teacher.no_points ### Tier 3 ### diff --git a/game/scripts/characters/hermione/events/requests/give_a_blowjob.rpy b/game/scripts/characters/hermione/events/requests/give_a_blowjob.rpy index b72977e7..b30b4f10 100644 --- a/game/scripts/characters/hermione/events/requests/give_a_blowjob.rpy +++ b/game/scripts/characters/hermione/events/requests/give_a_blowjob.rpy @@ -27,7 +27,7 @@ label hg_pr_blowjob: her "!!!" ("shock", "wide", "base", "stare") her "... with my mouth?" - if not hg_blowjob.trigger: # She will refuse unless she gave you a blowjob + if not states.her.status.blowjob: # She will refuse unless she gave you a blowjob her "But we--.. I.." ("shock", "wide", "base", "stare") her "I've never done it before!" ("angry", "wide", "base", "mid") gen "I guess it's time you've learnt what {i}giving head{/i} means." ("base", xpos="far_left", ypos="head") @@ -37,14 +37,14 @@ label hg_pr_blowjob: call her_walk(action="leave") - $ her_mood += 9 + $ states.her.mood += 9 gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") gen "(Perhaps I should show her the ropes first before sending her off to blow her classmates.)" ("base", xpos="far_left", ypos="head") jump end_hermione_event - if her_reputation < 15: + if states.her.public_level < 15: jump too_much_public play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music @@ -72,7 +72,7 @@ label hg_pr_blowjob: gen "You may leave, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "..." else: - if her_tier >= 6: + if states.her.tier >= 6: play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Do you believe in horoscopes?" ("base", xpos="far_left", ypos="head") @@ -127,7 +127,7 @@ label end_hg_pr_blowjob: # Increase Points if not hg_pr_blowjob.is_tier_complete(): - $ her_reputation += 1 + $ states.her.public_level += 1 $ hg_pr_blowjob.inProgress = False jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/requests/give_a_handjob.rpy b/game/scripts/characters/hermione/events/requests/give_a_handjob.rpy index fca6b7a0..b04ce074 100644 --- a/game/scripts/characters/hermione/events/requests/give_a_handjob.rpy +++ b/game/scripts/characters/hermione/events/requests/give_a_handjob.rpy @@ -19,7 +19,7 @@ label hg_pr_handjob: #Intro if hg_pr_handjob.counter == 0: - if her_reputation < 12: + if states.her.public_level < 12: gen "[name_hermione_genie], I want you to do something different today..." ("base", xpos="far_left", ypos="head") her "...?" ("normal", "squint", "angry", "mid") gen "I want you to give a handjob to one of your classmates." ("base", xpos="far_left", ypos="head") @@ -65,7 +65,7 @@ label hg_pr_handjob: her "I am willing to give it a try..." ("annoyed", "narrow", "angry", "R") gen "Splendid... See you tonight then." ("base", xpos="far_left", ypos="head") else: - if her_tier >= 6: + if states.her.tier >= 6: gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "What do you think about giving one of your classmates another handjob?" ("base", xpos="far_left", ypos="head") her "I don't mind, [name_genie_hermione]." ("annoyed", "narrow", "worried", "down") @@ -74,7 +74,7 @@ label hg_pr_handjob: gen "Great. Go have fun then!" ("base", xpos="far_left", ypos="head") gen "And report back to me after your classes, as usual." ("base", xpos="far_left", ypos="head") her "Of course, [name_genie_hermione]." ("base", "happyCl", "base", "mid") - elif her_tier >= 5: + elif states.her.tier >= 5: gen "Ready to go have sex with one of your classmates yet?" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 @@ -138,7 +138,7 @@ label end_hg_pr_handjob: # Increase Points if not hg_pr_handjob.is_tier_complete(): - $ her_reputation += 1 + $ states.her.public_level += 1 $ hg_pr_handjob.inProgress = False jump end_hermione_event @@ -210,7 +210,7 @@ label hg_pr_handjob_T4_E1: gen "You are free to go, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "........." ("annoyed", "narrow", "angry", "R") - $ her_mood +=9 + $ states.her.mood +=9 jump end_hg_pr_handjob.no_points "\"You shall only get half the payment then.\"": @@ -344,7 +344,7 @@ label hg_pr_handjob_T5_E1: her "......" ("angry", "base", "base", "mid") her "This is just not fair!" ("scream", "happyCl", "worried", "mid") - $ her_mood += 20 + $ states.her.mood += 20 jump end_hg_pr_handjob.no_points "\"Alright, I think I can trust you.\"": @@ -405,7 +405,7 @@ label hg_pr_handjob_T5_E2: her "But you are wrong, [name_genie_hermione]." her "You of all people should understand that I take no pleasure in this..." ("angry", "base", "base", "mid", tears="soft") her "I just do what needs to be done..." ("normal", "base", "base", "R", tears="soft") - $ her_mood = 10 + $ states.her.mood = 10 her "[name_genie_hermione], can I just get paid now, please?" ("soft", "base", "base", "R") gen "Get paid? But you didn't tell me how it went yet?" ("base", xpos="far_left", ypos="head") @@ -476,7 +476,7 @@ label hg_pr_handjob_T5_E3: gen "All goes according to my-- I mean, our plan..." ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("upset", "closed", "base", "mid") - $ her_mood += 5 + $ states.her.mood += 5 jump end_hg_pr_handjob diff --git a/game/scripts/characters/hermione/events/requests/have_sex.rpy b/game/scripts/characters/hermione/events/requests/have_sex.rpy index 701578f0..9a88587a 100644 --- a/game/scripts/characters/hermione/events/requests/have_sex.rpy +++ b/game/scripts/characters/hermione/events/requests/have_sex.rpy @@ -21,7 +21,7 @@ label hg_pr_sex: gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Today I need you to have sex with a classmate of your choice." ("base", xpos="far_left", ypos="head") - if not hg_sex.trigger: # She will refuse unless she slept with you + if not states.her.status.sex: # She will refuse unless she slept with you her "But we--.. I.." ("shock", "wide", "base", "stare") her "I've never done it before!" ("angry", "wide", "base", "mid") gen "So?" ("base", xpos="far_left", ypos="head") @@ -30,14 +30,14 @@ label hg_pr_sex: call her_walk(action="leave") - $ her_mood += 16 + $ states.her.mood += 16 gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") gen "(Maybe if I have popped her cherry first, she would be more willing...)" ("base", xpos="far_left", ypos="head") jump end_hermione_event - if her_reputation < 18: + if states.her.public_level < 18: jump too_much_public play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music @@ -88,7 +88,7 @@ label end_hg_pr_sex: # Increase Points if not hg_pr_sex.is_tier_complete(): - $ her_reputation += 1 + $ states.her.public_level += 1 $ hg_pr_sex.inProgress = False jump end_hermione_event @@ -127,7 +127,7 @@ label hg_pr_sex_T6_intro_E1: gen "Hermione was supposed to be here, by now..." ("base", xpos="far_left", ypos="head") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True + $ states.her.busy = True $ hg_event_pause += 1 jump main_room_menu diff --git a/game/scripts/characters/hermione/events/requests/kiss_a_girl.rpy b/game/scripts/characters/hermione/events/requests/kiss_a_girl.rpy index 6c28296c..78325326 100644 --- a/game/scripts/characters/hermione/events/requests/kiss_a_girl.rpy +++ b/game/scripts/characters/hermione/events/requests/kiss_a_girl.rpy @@ -21,7 +21,7 @@ label hg_pr_kiss: gen "Have You ever kissed another girl, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "?!" ("normal", "squint", "angry", "mid") - if her_reputation < 9: + if states.her.public_level < 9: jump too_much_public her "I am not a... lesbian, [name_genie_hermione]." ("open", "base", "base", "mid") @@ -37,7 +37,7 @@ label hg_pr_kiss: gen "I said you're dismissed." ("base", xpos="far_left", ypos="head") her "*Humph*!..." ("annoyed", "squint", "angry", "mid") else: - if her_tier >= 5: + if states.her.tier >= 5: gen "[name_hermione_genie], {number=current_payout} house points are up for grabs today!" ("base", xpos="far_left", ypos="head") gen "Are you interested?" ("base", xpos="far_left", ypos="head") her "Sure, why not?" ("base", "base", "base", "mid") @@ -46,7 +46,7 @@ label hg_pr_kiss: her "Alright." ("soft", "base", "base", "R") her "I know a couple of girls who are hungry for attention and wouldn't mind putting on a little show." ("smile", "narrow", "base", "mid_soft") gen "Great. See you after your classes then." ("base", xpos="far_left", ypos="head") - elif her_tier >= 4: + elif states.her.tier >= 4: gen "[name_hermione_genie], {number=current_payout} house points are up for grabs today!" ("base", xpos="far_left", ypos="head") gen "Are you interested?" ("base", xpos="far_left", ypos="head") her "I suppose..." ("annoyed", "narrow", "annoyed", "up") @@ -104,7 +104,7 @@ label end_hg_pr_kiss: # Increase Points if not hg_pr_kiss.is_tier_complete(): - $ her_reputation += 1 + $ states.her.public_level += 1 $ hg_pr_kiss.inProgress = False jump end_hermione_event @@ -166,7 +166,7 @@ label hg_pr_kiss_T3_E1: gen "You are not getting paid, you know that, right?" ("base", xpos="far_left", ypos="head") her "I don't care..." ("scream", "closed", "angry", "mid") - $ her_mood += 12 + $ states.her.mood += 12 jump end_hg_pr_kiss.no_points label hg_pr_kiss_T3_E2: @@ -241,7 +241,7 @@ label hg_pr_kiss_T3_E3: pause 1.0 gen "*Tsk*" ("base", xpos="far_left", ypos="head") - $ her_mood +=25 + $ states.her.mood +=25 jump end_hg_pr_kiss.quick_end jump end_hg_pr_kiss diff --git a/game/scripts/characters/hermione/events/requests/let_them_grope_you.rpy b/game/scripts/characters/hermione/events/requests/let_them_grope_you.rpy index 6225b348..6e2dfe96 100644 --- a/game/scripts/characters/hermione/events/requests/let_them_grope_you.rpy +++ b/game/scripts/characters/hermione/events/requests/let_them_grope_you.rpy @@ -33,7 +33,7 @@ label hg_pr_grope: her ".......?" ("open", "base", "base", "mid") gen "And let them touch you..." ("base", xpos="far_left", ypos="head") - if her_reputation < 3: + if states.her.public_level < 3: jump too_much_public her "Let them... touch me, [name_genie_hermione]?" ("open", "base", "base", "mid") @@ -61,7 +61,7 @@ label hg_pr_grope: gen "Great..." ("base", xpos="far_left", ypos="head") her "I'd better go now. The classes are about to start..." ("angry", "base", "angry", "mid") else: - if her_tier >= 4: + if states.her.tier >= 4: gen "[name_hermione_genie], I need you to go out there..." ("base", xpos="far_left", ypos="head") gen "Find a handsome guy and force yourself on him!" ("base", xpos="far_left", ypos="head") her "You mean like..." ("base", "base", "base", "mid") @@ -74,7 +74,7 @@ label hg_pr_grope: gen "If anything - it is encouraged." ("base", xpos="far_left", ypos="head") her "Great. I will see you after the classes then, [name_genie_hermione]. As usual." ("angry", "wink", "base", "mid") gen "Yes. Good luck." ("base", xpos="far_left", ypos="head") - elif her_tier >= 3: + elif states.her.tier >= 3: gen "[name_hermione_genie], I need you to go out there, and make one of your classmates molest you a little." ("base", xpos="far_left", ypos="head") her "I understand, [name_genie_hermione]..." ("base", "base", "base", "mid") gen "Off you go then." ("base", xpos="far_left", ypos="head") @@ -119,7 +119,7 @@ label end_hg_pr_grope: # Increase Points if not hg_pr_grope.is_tier_complete(): - $ her_reputation += 1 + $ states.her.public_level += 1 $ hg_pr_grope.inProgress = False jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/shaming/panty_thief.rpy b/game/scripts/characters/hermione/events/shaming/panty_thief.rpy index 47b7a181..fe1ac8a2 100644 --- a/game/scripts/characters/hermione/events/shaming/panty_thief.rpy +++ b/game/scripts/characters/hermione/events/shaming/panty_thief.rpy @@ -15,7 +15,7 @@ label hg_ps_get_panties: her "I am listening, [name_genie_hermione]." (xpos="right",ypos="base") gen "I will need your panties..." ("base", xpos="far_left", ypos="head") - if not hg_strip.trigger: + if not states.her.status.stripping: jump too_much elif hg_ps_get_panties.points == 0: @@ -86,7 +86,7 @@ label hg_ps_get_panties: her "Here..." - if her_whoring >= 12: + if states.her.level >= 12: hide hermione_main with d3 @@ -145,7 +145,7 @@ label hg_cum_on_panties_response: call give_reward("You hand over the panties...", "interface/icons/panties_cum.webp") - if her_tier == 2: + if states.her.tier == 2: her "*Hmm*....?" ("annoyed", "narrow", "worried", "down",xpos="right",ypos="base") her "[name_genie_hermione]? What is this?" ("angry", "base", "angry", "mid") her "What have you done to them?" @@ -173,7 +173,7 @@ label hg_cum_on_panties_response: menu: "\"Put them on or lose the points!\"": - $ her_mood +=7 + $ states.her.mood +=7 her "What?" ("scream", "wide", "base", "mid") her "[name_genie_hermione], you are joking, right?" gen "I am not..." ("base", xpos="far_left", ypos="head") @@ -200,7 +200,7 @@ label hg_cum_on_panties_response: her "And my payment?" ("open", "base", "base", "mid") - elif her_tier == 3: + elif states.her.tier == 3: her "My panties..." ("annoyed", "narrow", "worried", "down",xpos="right",ypos="base") her "What happened to them [name_genie_hermione]?" ("annoyed", "narrow", "worried", "down") @@ -230,7 +230,7 @@ label hg_cum_on_panties_response: her "And my payment, [name_genie_hermione]?" ("upset", "wink", "base", "mid") - elif her_tier == 4: + elif states.her.tier == 4: her "My panties..." ("annoyed", "narrow", "worried", "down",xpos="right",ypos="base") her "They are covered in something slimy..." her "And they smell funny..." @@ -287,7 +287,7 @@ label hg_cum_on_panties_response: gen "You can go now." ("base", xpos="far_left", ypos="head") her "Good night, [name_genie_hermione]." - elif her_tier >= 5: + elif states.her.tier >= 5: her "My panties..." ("base", "narrow", "base", "up",xpos="right",ypos="base") her "You came all over them..." her "*Hmm*..." ("grin", "base", "base", "R") @@ -367,13 +367,13 @@ label hg_ps_get_panties_complete: menu: "\"Here are your panties.\"": - if her_panties_soaked: + if states.her.ev.panty_thief.soaked: jump hg_cum_on_panties_response else: her "And my payment?" "\"How was your day, [name_hermione_genie]?\"": - if her_tier == 2: + if states.her.tier == 2: her "Oh..." ("soft", "base", "base", "mid",xpos="base",ypos="base", trans=d5) her "Quite ordinary actually..." her "Although... I couldn't help but worry that somebody would notice somehow..." ("soft", "base", "base", "R") @@ -383,12 +383,12 @@ label hg_ps_get_panties_complete: hide hermione_main with d3 nar "You give Hermione her panties back." - if her_panties_soaked: + if states.her.ev.panty_thief.soaked: jump hg_cum_on_panties_response else: her "And my payment?" ("open", "base", "base", "mid") - elif her_tier == 3: + elif states.her.tier == 3: her "Oh..." ("soft", "base", "base", "mid",xpos="base",ypos="base", trans=d5) her "It was quite ordinary really..." her "I spent some time with my classmates..." @@ -399,7 +399,7 @@ label hg_ps_get_panties_complete: menu: "\"You little hypocrite!\"": - $ her_mood +=5 + $ states.her.mood +=5 her "[name_genie_hermione]?" ("open", "base", "base", "mid") gen "You sold your panties to me this morning..." ("base", xpos="far_left", ypos="head") gen "And a couple of hours later you already publicly condemned that exact behaviour..." ("base", xpos="far_left", ypos="head") @@ -409,7 +409,7 @@ label hg_ps_get_panties_complete: her "Can I have my payment now please?" ("disgust", "narrow", "base", "mid_soft") gen "What about your panties?" ("base", xpos="far_left", ypos="head") her "Oh, them too of course..." ("angry", "happyCl", "worried", "mid",emote="sweat") - if her_panties_soaked: + if states.her.ev.panty_thief.soaked: jump hg_cum_on_panties_response "\"It's for the greater good...\"": @@ -418,12 +418,12 @@ label hg_ps_get_panties_complete: her "It is not my fault that the system is so corrupted..." her "I shall remain a symbol of righteousness to my peers, no matter what!" ("open", "closed", "base", "mid") her "Can I have my panties back now, please?" ("open", "base", "base", "mid") - if her_panties_soaked: + if states.her.ev.panty_thief.soaked: jump hg_cum_on_panties_response else: her "And my payment." - elif her_tier >= 4: + elif states.her.tier >= 4: her "Another ordinary day at hogwarts..." ("open", "closed", "base", "mid",xpos="base",ypos="base", trans=d5) her "Nothing worth mentioning happened today..." her "Although I have to admit..." ("annoyed", "base", "worried", "R") @@ -434,13 +434,13 @@ label hg_ps_get_panties_complete: hide hermione_main with d3 nar "You give Hermione her panties back." - if her_panties_soaked: + if states.her.ev.panty_thief.soaked: jump hg_cum_on_panties_response else: her "And my payment?" ("base", "base", "base", "mid") label back_from_soaked: - if not her_panties_soaked or her_tier < 4: + if not states.her.ev.panty_thief.soaked or states.her.tier < 4: gen "Yes, yes..." ("base", xpos="far_left", ypos="head") $ gryffindor +=15 gen "Fifteen points to Gryffindor, [name_hermione_genie]. Well deserved." ("base", xpos="far_left", ypos="head") @@ -455,6 +455,6 @@ label hg_ps_get_panties_complete: $ hg_ps_get_panties.points += 1 $ hg_ps_get_panties.inProgress = False - $ her_panties_soaked = False + $ states.her.ev.panty_thief.soaked = False jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/shaming/wear_my_cum.rpy b/game/scripts/characters/hermione/events/shaming/wear_my_cum.rpy index 48e5c902..d412cf84 100644 --- a/game/scripts/characters/hermione/events/shaming/wear_my_cum.rpy +++ b/game/scripts/characters/hermione/events/shaming/wear_my_cum.rpy @@ -23,11 +23,11 @@ label hg_ps_cumslut: her "Of course..." ("base", "base", "base", "mid") gen "After I cum on you." ("base", xpos="far_left", ypos="head") - if her_whoring < 9: + if states.her.level < 9: jump too_much - elif her_whoring < 15: + elif states.her.level < 15: jump hg_ps_cumslut_Scene_1 - elif her_whoring < 21: + elif states.her.level < 21: jump hg_ps_cumslut_Scene_2 else: jump hg_ps_cumslut_Scene_3 @@ -621,13 +621,13 @@ label hg_ps_cumslut_complete_1: menu: "\"Fifty points to Gryffindor!\"": $ gryffindor += 50 - $ her_mood += 5 + $ states.her.mood += 5 her "..." ("annoyed", "narrow", "annoyed", "mid", tears="mascara_soft") gen "Well [name_hermione_genie], you may leave now." ("base", xpos="far_left", ypos="head") her "*Hmph*..." ("angry", "narrow", "annoyed", "mid", emote="angry",tears="mascara") "\"Tell me about your day.\"": - $ her_mood += 10 + $ states.her.mood += 10 her "My day..." ("normal", "happyCl", "worried", "mid",tears="mascara_soft_blink",xpos="base",ypos="base") her "This was the worst day of my life!" ("scream", "happyCl", "worried", "mid",tears="mascara_soft_blink") her "I've never been so ashamed!" ("angry", "happyCl", "worried", "mid",emote="sweat",tears="mascara_soft_blink") diff --git a/game/scripts/characters/hermione/events/tentacles.rpy b/game/scripts/characters/hermione/events/tentacles.rpy index 12d60a3e..61282560 100644 --- a/game/scripts/characters/hermione/events/tentacles.rpy +++ b/game/scripts/characters/hermione/events/tentacles.rpy @@ -3,8 +3,8 @@ label tentacle_scene_intro: with d3 show screen bld1 - if not tentacle_scroll_examined: - $ tentacle_scroll_examined = True + if not states.her.ev.sealed_scroll.examined: + $ states.her.ev.sealed_scroll.examined = True gen "(*Hmm*... Let's see if we can get this writing to show...)" ("base", xpos="far_left", ypos="head") gen "(It should be something simple like a command word...)" ("base", xpos="far_left", ypos="head") @@ -59,7 +59,7 @@ label tentacle_scene_intro: gen "(Okay... So...{w=0.3} What was this scroll supposed to do again?)" ("base", xpos="far_left", ypos="head") gen "(Let's see...)" ("base", xpos="far_left", ypos="head") - if not tentacle_sample: + if not states.her.ev.sealed_scroll.sample: gen "Right, the riddle..." ("base", xpos="far_left", ypos="head") label .riddle: @@ -85,7 +85,7 @@ label tentacle_scene_intro: if not game.daytime: gen "(*Hmm*... But it's too late for me to use it now. I should do it at dawn, before class has started.)" ("base", xpos="far_left", ypos="head") jump main_room_menu - elif hermione_busy: + elif states.her.busy: gen "(*Hmm* But Hermione is busy at the moment, I should postpone my plans until tomorrow.)" ("base", xpos="far_left", ypos="head") jump main_room_menu @@ -95,7 +95,7 @@ label tentacle_scene_intro: pause 1.0 # Setup - $ hermione_busy = True + $ states.her.busy = True $ d_flag_01 = [] $ d_flag_02 = False @@ -340,7 +340,7 @@ label tentacle_scene_intro: play sound "sounds/slick_02.ogg" - if her_reputation > 15: + if states.her.public_level > 15: call tentacle_1 else: call tentacle_2 diff --git a/game/scripts/characters/hermione/events/tutoring.rpy b/game/scripts/characters/hermione/events/tutoring.rpy index c5617f0c..a1bfb1ad 100644 --- a/game/scripts/characters/hermione/events/tutoring.rpy +++ b/game/scripts/characters/hermione/events/tutoring.rpy @@ -3,57 +3,57 @@ label hg_tutor_start: # Tier 1 - if her_tutoring == 1: + if states.her.ev.tutoring.stage == 1: jump hg_tutor_E1 - elif her_tutoring == 2: + elif states.her.ev.tutoring.stage == 2: jump hg_tutor_E2 - elif her_tutoring == 3: + elif states.her.ev.tutoring.stage == 3: jump hg_tutor_E3 # Tier 2 - elif her_tutoring == 4 and her_tier >= 2: + elif states.her.ev.tutoring.stage == 4 and states.her.tier >= 2: jump hg_tutor_E4 - elif her_tutoring == 5 and her_tier >= 2: + elif states.her.ev.tutoring.stage == 5 and states.her.tier >= 2: jump hg_tutor_E5 # Tier 3 - elif her_tutoring == 6 and her_tier >= 3: + elif states.her.ev.tutoring.stage == 6 and states.her.tier >= 3: jump hg_tutor_E6 - elif her_tutoring == 7 and her_tier >= 3: + elif states.her.ev.tutoring.stage == 7 and states.her.tier >= 3: jump hg_tutor_E7 # Tier 4 - elif her_tutoring == 8 and her_tier >= 4: + elif states.her.ev.tutoring.stage == 8 and states.her.tier >= 4: if adult_mag_ITEM.owned >= 1: # Adult magazines jump hg_tutor_E8 else: gen "I need to buy adult magazines for this lesson." ("base", xpos="far_left", ypos="head") - elif her_tutoring == 9 and her_tier >= 4: + elif states.her.ev.tutoring.stage == 9 and states.her.tier >= 4: if porn_mag_ITEM.owned >= 1: # Porn magazines jump hg_tutor_E9 else: gen "I need to buy porn magazines for this lesson." ("base", xpos="far_left", ypos="head") # Tier 5 - elif her_tutoring == 10 and her_tier >= 5: + elif states.her.ev.tutoring.stage == 10 and states.her.tier >= 5: if vibrator_ITEM.owned >= 1: # Vibrator jump hg_tutor_E10 else: gen "I need to buy a vibrator for this lesson." ("base", xpos="far_left", ypos="head") - elif her_tutoring == 11 and her_tier >= 5: + elif states.her.ev.tutoring.stage == 11 and states.her.tier >= 5: if anal_plugs_ITEM.owned >= 1: # Anal plugs jump hg_tutor_E11 else: gen "I need to buy anal plugs for this lesson." ("base", xpos="far_left", ypos="head") # Tier 6 - elif her_tutoring == 12 and her_tier >= 6: + elif states.her.ev.tutoring.stage == 12 and states.her.tier >= 6: jump hg_tutor_E12 - elif her_tutoring == 13 and her_tier >= 6: + elif states.her.ev.tutoring.stage == 13 and states.her.tier >= 6: jump hg_tutor_E13 - elif her_tutoring == 14 and her_tier >= 6 and hg_sex.trigger and hg_anal.trigger: + elif states.her.ev.tutoring.stage == 14 and states.her.tier >= 6 and states.her.status.sex and states.her.status.anal: jump hg_tutor_E14 - elif her_tutoring == 15: + elif states.her.ev.tutoring.stage == 15: gen "(I have taught her everything there was to teach.)" ("base", xpos="far_left", ypos="head") else: gen "(She's not ready for her next lesson yet.)" ("base", xpos="far_left", ypos="head") @@ -168,7 +168,7 @@ label hg_tutor_E1: call her_chibi("leave") - $ her_tutoring = 2 + $ states.her.ev.tutoring.stage = 2 jump end_hermione_event label hg_tutor_E2: @@ -217,7 +217,7 @@ label hg_tutor_E2: call her_chibi("leave") - $ her_tutoring = 3 + $ states.her.ev.tutoring.stage = 3 jump end_hermione_event label hg_tutor_E3: @@ -258,7 +258,7 @@ label hg_tutor_E3: call her_chibi("leave") - $ her_tutoring = 4 + $ states.her.ev.tutoring.stage = 4 jump end_hermione_event label hg_tutor_E4: @@ -333,10 +333,10 @@ label hg_tutor_E4: call her_chibi("leave") - $ her_tutoring = 5 + $ states.her.ev.tutoring.stage = 5 - if her_whoring < 9: - $ her_whoring += 1 + if states.her.level < 9: + $ states.her.level += 1 jump end_hermione_event @@ -376,7 +376,7 @@ label hg_tutor_E5: menu: "-Start jerking off-": - $ genie_masturbating = True + $ states.gen.masturbating = True hide hermione_main hide screen blktone nar "You reach under the desk and grab your cock..." @@ -385,7 +385,7 @@ label hg_tutor_E5: call ctc "-Just listen-": - $ genie_masturbating = False + $ states.gen.masturbating = False pass her "" ("open", "base", "base", "mid", cheeks="blush") @@ -396,13 +396,13 @@ label hg_tutor_E5: her "{size=-2}(I can't believe I said that!){/size}" ("base", "narrow", "base", "up", cheeks="blush", tears="sweat") her "They were very excited, and I could see their panties become wet." ("open", "narrow", "base", "up", cheeks="blush") her "Disgusting." ("annoyed", "narrow", "base", "up", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-2}(Yes... yes...){/size}" ("grin", xpos="far_left", ypos="head") her "One of the girls went crazy and inserted her fingers into the other's \"thing,\" and worked them furiously." ("silly", "base", "worried", "mid", cheeks="blush") her "Soon imitated by her girlfriend." ("base", "narrow", "angry", "mid", cheeks="blush") her "Those whores came so hard I'm sure they heard the screams on the other side of the grounds!" ("soft", "narrow", "base", "mid", cheeks="blush") - if genie_masturbating: + if states.gen.masturbating: her "{size=-2}(And I had to bite my lip, or else they would've heard me too...){/size}" ("clench", "narrow", "base", "down", cheeks="blush") hide hermione_main with d3 @@ -419,12 +419,12 @@ label hg_tutor_E5: call gen_chibi("cum_behind_desk_done") with d3 - if hg_jerkoff.trigger: + if states.her.status.handjob: her "Professor!" ("angry", "base", "angry", "mid", cheeks="blush") gen "You enjoyed it too, so don't act all innocent." ("base", xpos="far_left", ypos="head") gen "Anyway, I hope it was revealing." ("base", xpos="far_left", ypos="head") - $ her_mood += 7 + $ states.her.mood += 7 else: her "Professor?" ("annoyed", "base", "base", "mid", cheeks="blush") gen "Ah, Yes... I hope it was revealing." ("base", xpos="far_left", ypos="head") @@ -459,10 +459,10 @@ label hg_tutor_E5: call her_chibi("leave") - $ her_tutoring = 6 + $ states.her.ev.tutoring.stage = 6 - if her_whoring < 9: - $ her_whoring += 1 + if states.her.level < 9: + $ states.her.level += 1 jump end_hermione_event @@ -551,10 +551,10 @@ label hg_tutor_E6: call her_chibi("leave") - $ her_tutoring = 7 + $ states.her.ev.tutoring.stage = 7 - if her_whoring < 12: - $ her_whoring += 1 + if states.her.level < 12: + $ states.her.level += 1 jump end_hermione_event @@ -645,10 +645,10 @@ label hg_tutor_E7: call her_chibi("leave") - $ her_tutoring = 8 + $ states.her.ev.tutoring.stage = 8 - if her_whoring < 12: - $ her_whoring += 1 + if states.her.level < 12: + $ states.her.level += 1 jump end_hermione_event @@ -781,10 +781,10 @@ label hg_tutor_E8: call her_chibi("leave") - $ her_tutoring = 9 + $ states.her.ev.tutoring.stage = 9 - if her_whoring < 18: - $ her_whoring += 1 + if states.her.level < 18: + $ states.her.level += 1 jump end_hermione_event @@ -940,10 +940,10 @@ label hg_tutor_E9: call her_chibi("leave") - $ her_tutoring = 10 + $ states.her.ev.tutoring.stage = 10 - if her_whoring < 18: - $ her_whoring += 1 + if states.her.level < 18: + $ states.her.level += 1 jump end_hermione_event @@ -1059,7 +1059,7 @@ label hg_tutor_E10: $ hermione.strip("clothes") ### Milestone ### - $ hg_masturbated.triggered() + $ states.her.status.masturbating = True $ hermione.set_pose("hand_on_pussy") pause .5 @@ -1119,10 +1119,10 @@ label hg_tutor_E10: call her_chibi("leave") - $ her_tutoring = 11 + $ states.her.ev.tutoring.stage = 11 - if her_whoring < 21: - $ her_whoring += 1 + if states.her.level < 21: + $ states.her.level += 1 jump end_hermione_event @@ -1302,10 +1302,10 @@ label hg_tutor_E11: call her_chibi("leave") - $ her_tutoring = 12 + $ states.her.ev.tutoring.stage = 12 - if her_whoring < 21: - $ her_whoring += 1 + if states.her.level < 21: + $ states.her.level += 1 jump end_hermione_event @@ -1534,10 +1534,10 @@ label hg_tutor_E12: call her_chibi("leave") - $ her_tutoring = 13 + $ states.her.ev.tutoring.stage = 13 - if her_whoring < 24: - $ her_whoring += 1 + if states.her.level < 24: + $ states.her.level += 1 jump end_hermione_event @@ -1749,10 +1749,10 @@ label hg_tutor_E13: call her_chibi("leave") - $ her_tutoring = 14 + $ states.her.ev.tutoring.stage = 14 - if her_whoring < 24: - $ her_whoring += 1 + if states.her.level < 24: + $ states.her.level += 1 jump end_hermione_event @@ -1927,9 +1927,9 @@ label hg_tutor_E14: call her_chibi("leave") - $ her_tutoring = 15 + $ states.her.ev.tutoring.stage = 15 - if her_whoring < 24: - $ her_whoring += 1 + if states.her.level < 24: + $ states.her.level += 1 jump end_hermione_event diff --git a/game/scripts/characters/hermione/gifts.rpy b/game/scripts/characters/hermione/gifts.rpy index e5e9c2a9..fd631377 100644 --- a/game/scripts/characters/hermione/gifts.rpy +++ b/game/scripts/characters/hermione/gifts.rpy @@ -6,21 +6,21 @@ label give_her_gift(gift_item): with d5 her "" (xpos="mid",ypos="base",trans=d5) - $ gave_hermione_gift = True + $ states.her.gifted = True if gift_item == lollipop_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "A lollipop?" ("base", "base", "base", "mid") call give_gift("You give the lollipop to Hermione...",gift_item) her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-5) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "A lollipop?" ("normal", "base", "base", "mid") her "Sweets are for kids, [name_genie_hermione]." ("open", "base", "base", "mid") call give_gift("You give the lollipop to Hermione...",gift_item) her "Thank you..." ("annoyed", "base", "worried", "R") call her_mood(-5) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "A lollipop?" ("normal", "base", "base", "mid") call give_gift("You give the lollipop to Hermione...",gift_item) her "*Ehm*... Sure, thanks..." ("open", "squint", "base", "mid") @@ -33,12 +33,12 @@ label give_her_gift(gift_item): call her_mood(-5) elif gift_item == chocolate_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "A chocolate bar?" ("base", "base", "base", "mid") call give_gift("You give the chocolate to Hermione...", gift_item) her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "A chocolate bar?" ("normal", "base", "base", "mid") her "*Hmm*..." ("annoyed", "squint", "angry", "mid") her "That thing about fairies..." @@ -46,7 +46,7 @@ label give_her_gift(gift_item): call give_gift("You give the chocolate to Hermione...", gift_item) her "Thank you..." ("soft", "base", "base", "mid") call her_mood(-10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "A chocolate bar?" ("normal", "base", "base", "mid") her "I just like the way it crunches, [name_genie_hermione]! N-not the taste..." ("grin", "happyCl", "worried", "mid",emote="sweat") call give_gift("You give the chocolate to Hermione...", gift_item) @@ -60,19 +60,19 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == plush_owl_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "A stuffed owl?" ("base", "base", "base", "mid") her "It's cute..." ("base", "base", "base", "mid") call give_gift("You give the owl to Hermione...",gift_item) her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-7) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "A plush toy?" ("open", "base", "worried", "mid") her "I like it!" ("base", "base", "base", "mid") call give_gift("You give the owl to Hermione...",gift_item) her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "A toy?" ("base", "base", "base", "mid") her "Toys are for kids, [name_genie_hermione]." ("open", "base", "base", "mid") her "But I'll take it..." ("annoyed", "base", "worried", "R") @@ -91,21 +91,21 @@ label give_her_gift(gift_item): call her_mood(-4) elif gift_item == butterbeer_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "Butterbeer?" ("base", "base", "base", "mid") her "Are you sure about that, [name_genie_hermione]?" ("open", "squint", "base", "mid") her "It does contain alcohol, you know..." ("base", "base", "base", "mid") call give_gift("You give the bottle to Hermione...",gift_item) her "Thank you." ("base", "base", "base", "mid") call her_mood(-3) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "Butterbeer, [name_genie_hermione]?" ("open", "base", "worried", "mid") her "To let you in on a little secret, [name_genie_hermione]..." ("open", "base", "base", "mid") her "I'm a big fan of this completely harmless beverage." ("base", "base", "base", "mid") call give_gift("You give the bottle to Hermione...",gift_item) her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "Butterbeer?" ("base", "base", "base", "mid") her "Thank you, [name_genie_hermione]." ("grin", "happyCl", "worried", "mid",emote="sweat") call give_gift("You give the bottle to Hermione...",gift_item) @@ -120,19 +120,19 @@ label give_her_gift(gift_item): call her_mood(-20) elif gift_item == science_mag_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "\"Popular magic\" magazines?" ("base", "base", "base", "mid") call give_gift("You give an assortment of educational magazines to Hermione...",gift_item) her "Thank you, [name_genie_hermione]!" ("base", "base", "base", "mid") her "I will use them for my research!" call her_mood(-15) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "Sometimes I find information in magazines that I could never find in a book..." ("base", "base", "base", "mid") call give_gift("You give an assortment of educational magazines to Hermione...",gift_item) her "Thank you, [name_genie_hermione]!" ("base", "base", "base", "mid") her "I will use them for my research!" call her_mood(-10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "Oh..." ("open", "base", "base", "mid") her "Yes, I used to read magazines like that a lot..." ("base", "base", "base", "mid") her "Lately not so much though..." ("open", "base", "worried", "R") @@ -148,19 +148,19 @@ label give_her_gift(gift_item): call her_mood(0) elif gift_item == girls_mag_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "*Hmm*?" ("soft", "base", "base", "mid") her "This is the sort of press some Slytherin bimbo would appreciate." ("annoyed", "squint", "base", "mid") her "I am way above silly magazines like that, [name_genie_hermione]." ("open", "closed", "base", "mid") call her_mood(0) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "I don't read magazines of that nature, [name_genie_hermione]..." ("open", "closed", "angry", "mid") her "................" ("soft", "base", "base", "R") her "But I could give it a try just to humour you I suppose..." ("open", "closed", "angry", "mid") call give_gift("You give an assortment of rather girly magazines to Hermione...",gift_item) her "Thank you, [name_genie_hermione]!" ("open", "squint", "base", "mid") call her_mood(-5) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "I ashamed to admit this, but..." ("open", "base", "worried", "R") her "I really enjoy reading magazines like that lately..." ("grin", "happyCl", "worried", "mid",emote="sweat") call give_gift("You give an assortment of rather girly magazines to Hermione...",gift_item) @@ -174,19 +174,19 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == adult_mag_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "Are that...?" ("open", "base", "base", "mid") her "Adult magazines, [name_genie_hermione]?" ("open", "base", "base", "mid") her "Given to me by An esteemed wizard of your status?" ("annoyed", "narrow", "angry", "R") her "[name_genie_hermione], surely you could find a more productive way to spend your free time." ("disgust", "narrow", "base", "mid_soft") her "And I most definitely would not have use for those..." ("angry", "base", "angry", "mid") call her_mood(7) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "Adult magazines?" ("angry", "base", "angry", "mid") her "[name_genie_hermione], I have no interest in things like that." ("annoyed", "narrow", "angry", "R") her "And how is this an appropriate present for one of your students, [name_genie_hermione]?" ("angry", "base", "angry", "mid") call her_mood(3) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "Adult magazines?" ("open", "base", "base", "mid") her "[name_genie_hermione], this is such an inappropriate present for a girl like me..." ("angry", "happyCl", "worried", "mid",emote="sweat") call give_gift("You give an assortment of adult magazines to Hermione...",gift_item) @@ -202,18 +202,18 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == porn_mag_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "*Hmm*... What is this?" ("base", "base", "base", "mid") her "[name_genie_hermione], those are porn magazines!" ("scream", "wide", "base", "stare") her "Shame on you, [name_genie_hermione]!" ("angry", "base", "angry", "mid",cheeks="blush") call her_mood(15) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "Porn magazines?" ("shock", "wide", "base", "stare") her "[name_genie_hermione], what do you expect me to do with those?" ("open", "narrow", "worried", "down") her "Research them?" ("annoyed", "narrow", "annoyed", "mid") her "Despicable!" ("scream", "base", "angry", "mid",emote="angry") call her_mood(8) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "That's hardcore porn, [name_genie_hermione]." ("open", "base", "base", "mid") her "Which is a completely inappropriate gift for a girl like me!" ("angry", "happyCl", "worried", "mid",emote="sweat") her ".............." ("angry", "narrow", "base", "down") @@ -232,19 +232,19 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == krum_poster_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "A Quidditch poster?" ("annoyed", "narrow", "worried", "down") her "What am I supposed to do with it, [name_genie_hermione]?" ("annoyed", "narrow", "annoyed", "mid") her "No, thank you." ("annoyed", "closed", "base", "mid") call her_mood(0) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "A Quidditch poster?" ("annoyed", "narrow", "worried", "down") her "*Hmm*..." ("annoyed", "narrow", "annoyed", "mid") her "I think I saw this player once or twice..." ("annoyed", "narrow", "worried", "down") her "He is that Durmstrang student, right?" ("base", "base", "base", "mid") call give_gift("You give the poster to Hermione...",gift_item) call her_mood(-5) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "A Viktor Krum poster, [name_genie_hermione]?" ("annoyed", "narrow", "worried", "down") her "Can't say that I care much for Quidditch, but..." ("open", "squint", "base", "mid") her "I can see why the girls find the brutish physique of some players appealing..." ("open", "narrow", "worried", "down") @@ -259,16 +259,16 @@ label give_her_gift(gift_item): call her_mood(-25) elif gift_item == sexy_lingerie_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "lingerie?" ("angry", "narrow", "base", "down") her "[name_genie_hermione], I cannot accept a gift like this from you..." ("upset", "closed", "base", "mid") call her_mood(10) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "sexy lingerie?" ("angry", "narrow", "base", "down") her "You know I cannot possibly accept a gift like that from you, [name_genie_hermione]." ("angry", "base", "base", "mid") her "(It's pretty though)........." ("angry", "narrow", "base", "down") call her_mood(0) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "sexy lingerie?" ("base", "narrow", "worried", "down") her "[name_genie_hermione] that is so inappropriate..." ("angry", "wink", "base", "mid") call give_gift("You give the lingerie to Hermione...",gift_item) @@ -282,15 +282,15 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == sexy_stockings_ITEM : - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "Stockings?" ("base", "narrow", "worried", "down") her "[name_genie_hermione], are you insinuating that I wear these?" ("angry", "closed", "base", "mid") call her_mood(8) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "Sexy stockings?" ("angry", "narrow", "base", "down") her "Isn't this a bit inappropriate, [name_genie_hermione]?" ("annoyed", "base", "base", "mid") call her_mood(0) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "Sexy stockings?" ("base", "narrow", "worried", "down") her "Thank you I guess..." ("base", "wink", "base", "mid",cheeks="blush") call give_gift("You give the stockings to Hermione...",gift_item) @@ -303,16 +303,16 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == pink_condoms_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "Condoms?!" ("angry", "wide", "base", "stare") her "[name_genie_hermione], I wouldn't even know what to do with them..." ("scream", "closed", "angry", "mid") call her_mood(6) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "... Condoms?" ("normal", "squint", "angry", "mid") her "*Ehm*... Is this a part of some new Hogwarts sex ed program or something?" ("open", "closed", "angry", "mid") her "No, [name_genie_hermione]... It feels wrong to accept a thing like this from you..." ("open", "base", "base", "R",cheeks="blush") call her_mood(0) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "A pack of condoms?" ("normal", "base", "base", "mid") her "[name_genie_hermione], what possible use could I have for those?" her "Well, I shall accept them simply because it is rude to refuse a gift..." ("open", "closed", "angry", "mid") @@ -325,7 +325,7 @@ label give_her_gift(gift_item): call her_mood(-4) elif gift_item == vibrator_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "A magic wand?" ("base", "base", "base", "mid") her "No, it doesn't look like--" ("soft", "base", "base", "mid") her ".........?" @@ -333,12 +333,12 @@ label give_her_gift(gift_item): her "[name_genie_hermione]!" ("angry", "base", "angry", "mid",cheeks="blush") her "This is just beyond inappropriate!" ("scream", "closed", "angry", "mid") call her_mood(10) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "Is this what I think it is?" ("angry", "narrow", "base", "down") her "[name_genie_hermione], let me remind you that I belong to the noble house of Gryffindor." ("open", "narrow", "annoyed", "mid", cheeks="blush") her "A present like that would be appropriate for a girl from Slytherin, [name_genie_hermione]." ("upset", "closed", "base", "mid") call her_mood(10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "Is that a... vibrator?" ("angry", "narrow", "base", "down") her "The design..." her "it reminds me of my wand..." @@ -356,18 +356,18 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == anal_lube_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "I don't know what this is..." ("open", "base", "base", "mid") her "But I have the feeling that the jar is full of something vile and inappropriate..." ("angry", "base", "angry", "mid") her "No, thank you, [name_genie_hermione]." call her_mood(6) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "*Hmm*..." ("annoyed", "narrow", "worried", "down") her "I think I know what this is..." ("disgust", "narrow", "base", "mid_soft") her "But why would you give something like this to one of your pupils, [name_genie_hermione]?" her "No, thank you." ("annoyed", "narrow", "angry", "R") call her_mood(2) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "Anal lubricant?" ("angry", "narrow", "base", "down") her "*Ehm*.. well... I know this girl..." ("open", "base", "base", "R",cheeks="blush") her "I mean I don't know her, she is a friend of a friend..." @@ -383,14 +383,14 @@ label give_her_gift(gift_item): call her_mood(-5) elif gift_item == ballgag_and_cuffs_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "What is this?" ("angry", "narrow", "base", "down") her "Is this like one of those adult toys?" ("angry", "squint", "base", "mid",cheeks="blush") her "What woman in her right mind would subject herself to a humiliation like that?" ("scream", "closed", "angry", "mid") her "And what possible use could I have for such objects?" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "This is just insulting, [name_genie_hermione]..." ("angry", "base", "angry", "mid",cheeks="blush") call her_mood(10) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "[name_genie_hermione], do you not realise how inappropriate it would be for me to accept a present like that?" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "And I would not even know what to do with them anyway..." ("open", "base", "base", "R",cheeks="blush") her "I mean these fluffy things are obviously handcuffs..." ("angry", "narrow", "base", "down") @@ -398,7 +398,7 @@ label give_her_gift(gift_item): her "[name_genie_hermione], please..." ("upset", "closed", "base", "mid") her "Just put them away." call her_mood(5) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "A month ago I would've felt insulted to receive a gift like this..." ("upset", "closed", "base", "mid") her "But by now I know that some girls really do find pleasure in toys like..." ("angry", "narrow", "base", "down") her "But I assure you that I am not one of them, [name_genie_hermione]." ("upset", "closed", "base", "mid") @@ -414,19 +414,19 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == anal_plugs_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "*Hmm*...?" ("base", "base", "base", "mid") her "Are those like key chain toys?" ("soft", "base", "base", "mid") call give_gift("You give the anal plugs to Hermione...",gift_item) her "Thank you, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") call her_mood(-8) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "[name_genie_hermione], are those adult toys of some sort?" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "those are some of those anal things, aren't they?" ("angry", "base", "angry", "mid",cheeks="blush") her "[name_genie_hermione] this is nothing but a weapon meant to oppress women!" her "Despicable!" ("upset", "closed", "base", "mid") call her_mood(15) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "Yes, I know that some girls have *uhm*..." ("upset", "closed", "base", "mid") her "Have use for things such as these..." ("open", "narrow", "annoyed", "mid", cheeks="blush") her "But not me, [name_genie_hermione]." @@ -444,7 +444,7 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == testral_strapon_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "What is that?" ("angry", "wide", "base", "stare") her "An artefact of some sort or a trophy?" ("open", "base", "base", "mid") her "So well-crafted..." ("base", "base", "base", "mid") @@ -452,7 +452,7 @@ label give_her_gift(gift_item): call give_gift("You give the strap-on to Hermione...",gift_item) her "Thank you very much, [name_genie_hermione]. I promise to take good care of it." ("open", "closed", "base", "mid") call her_mood(-20) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "!!!" ("angry", "wide", "base", "stare") her "That is..." ("angry", "narrow", "base", "down") her "But it doesn't even look... human..." @@ -462,7 +462,7 @@ label give_her_gift(gift_item): her ".................." ("open", "narrow", "worried", "down") her "Please put it away, [name_genie_hermione]." ("angry", "base", "angry", "mid") call her_mood(15) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "That thing..." ("angry", "narrow", "base", "down") her "Is that the actual size of the... of the real \"thing\"?" ("angry", "base", "base", "mid") her "I mean..." ("open", "base", "base", "R",cheeks="blush") @@ -485,7 +485,7 @@ label give_her_gift(gift_item): call her_mood(-30) elif gift_item == broom_2000_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "A broom...?" ("base", "base", "base", "mid") her "*Hmm*..." ("normal", "base", "base", "mid") her "What is that silly-looking thing attached to it?" ("normal", "squint", "angry", "mid") @@ -493,7 +493,7 @@ label give_her_gift(gift_item): call give_gift("You give the broom to Hermione...",gift_item) her "Thank you for the gift, [name_genie_hermione]." ("open", "base", "worried", "mid") call her_mood(-20) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "A broom...?" ("base", "base", "base", "mid") her "*Hmm*..." ("normal", "squint", "angry", "mid") her "It's a sex-toy of some sort, isn't it?" ("angry", "base", "angry", "mid") @@ -501,7 +501,7 @@ label give_her_gift(gift_item): call give_gift("You give the broom to Hermione...",gift_item) her "Thank you, [name_genie_hermione]." ("upset", "closed", "base", "mid") call her_mood(-20) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "A broom...?" ("angry", "narrow", "base", "down") her "*Hmm*..." her "What kind of saddle is that...?" ("disgust", "narrow", "base", "mid_soft") @@ -522,16 +522,16 @@ label give_her_gift(gift_item): call her_mood(-30) elif gift_item == sexdoll_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "Is this..." ("shock", "wide", "base", "stare") her "A sex doll?!" ("angry", "happyCl", "worried", "mid",emote="sweat") her "[name_genie_hermione]!!!" ("scream", "happyCl", "worried", "mid") call her_mood(20) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "A sex doll?" ("shock", "wide", "base", "stare") her "This is just so unbecoming for an esteemed wizard such as yourself, [name_genie_hermione]..." ("upset", "closed", "base", "mid") call her_mood(20) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: # Lv 5-6. her "A sex doll..." ("angry", "narrow", "base", "down") her "This is a little inappropriate..." ("upset", "closed", "base", "mid") her "But maybe we could use it for a prank or something..." ("base", "narrow", "worried", "down") @@ -547,19 +547,19 @@ label give_her_gift(gift_item): call her_mood(-30) elif gift_item == anal_beads_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: # Lv 1-2. her "*Hmm*...?" ("base", "base", "base", "mid") her "Is this a necklace?" ("soft", "base", "base", "mid") call give_gift("You give the anal beads to Hermione...",gift_item) her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-8) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: # Lv 3-4. her "[name_genie_hermione], are those adult toys of some sort?" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "This is one of those butt... bead things, aren't they?" ("angry", "base", "angry", "mid",cheeks="blush") her "[name_genie_hermione] get them away from me!" her "Gross!" ("upset", "closed", "base", "mid") call her_mood(15) - elif her_whoring < 17: # Lv 5-6. + elif states.her.level < 17: # Lv 5-6. her "That's not a necklace..." ("upset", "closed", "base", "mid") her "I wouldn't have any use for this..." ("open", "narrow", "annoyed", "mid", cheeks="blush") her "Thanks but no thanks [name_genie_hermione]." ("upset", "closed", "base", "mid") @@ -576,15 +576,15 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == wine_ITEM or gift_item == firewhisky_ITEM: - if her_whoring < 7: + if states.her.level < 7: call give_gift("You give the "+str(gift_item.name)+" bottle to Hermione...", gift_item) her "Thank you, [name_genie_hermione], I'll ask Ginny to drink some with me later." ("soft", "base", "base", "mid", cheeks="blush") call her_mood(-20) - elif her_whoring < 12: + elif states.her.level < 12: her "[name_genie_hermione]?! Drinking alcohol on school grounds is forbidden.." ("open", "base", "angry", "mid") her "And you as a headmaster should know it!" ("upset", "base", "angry", "mid") call her_mood(10) - elif her_whoring < 18: + elif states.her.level < 18: her "But, [name_genie_hermione].. I can't drink alcohol." ("base", "narrow", "worried", "down") her "I guess I could use it for some potion mixing though.." ("open", "base", "base", "R") call give_gift("You give the "+str(gift_item.name)+" bottle to Hermione...", gift_item) @@ -617,9 +617,9 @@ label her_mood(value=0): else: "Hermione's mood hasn't changed." - $ was_negative = her_mood > 0 - $ her_mood = max(min(her_mood+value, 100), 0) + $ was_negative = states.her.mood > 0 + $ states.her.mood = max(min(states.her.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, her_mood, value) + call describe_mood_after_gift(was_negative, states.her.mood, value) return diff --git a/game/scripts/characters/hermione/summon.rpy b/game/scripts/characters/hermione/summon.rpy index cba6b0c6..39caff16 100644 --- a/game/scripts/characters/hermione/summon.rpy +++ b/game/scripts/characters/hermione/summon.rpy @@ -4,10 +4,9 @@ label summon_hermione: #play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed #play sound "sounds/door.ogg" - $ active_girl = "hermione" - $ last_character = "hermione" + $ states.active_girl = "hermione" - $ hermione_busy = True + $ states.her.busy = True call update_hermione call update_her_tier @@ -26,70 +25,70 @@ label summon_hermione: menu: "-Talk-" (icon="interface/icons/small/talk.webp"): - if her_mood > 0: + if states.her.mood > 0: her "I have nothing to say to you sir..." jump hermione_requests call hermione_chitchat jump hermione_talk - "-Tutoring-" (icon="interface/icons/small/book.webp") if not game.daytime and her_tutoring < 15: #14 is last level. - if her_mood >=1 and her_mood < 3: + "-Tutoring-" (icon="interface/icons/small/book.webp") if not game.daytime and states.her.ev.tutoring.stage < 15: #14 is last level. + if states.her.mood >=1 and states.her.mood < 3: her "I'm sorry, maybe tomorrow..." jump hermione_requests - elif her_mood >=3 and her_mood < 10: + elif states.her.mood >=3 and states.her.mood < 10: her "I am not in the mood today..." jump hermione_requests - elif her_mood >= 10 and her_mood < 20: + elif states.her.mood >= 10 and states.her.mood < 20: her "Absolutely not, [name_genie_hermione]." her "I {i}might{/i} consider it once you've said sorry..." jump hermione_requests - elif her_mood >=20: + elif states.her.mood >=20: her "After what you did, [name_genie_hermione]?" her "I don't think so..." jump hermione_requests else: jump hg_tutor_start - "-Tutoring-" (icon="interface/icons/small/book.webp", style="disabled") if game.daytime and her_tutoring < 15: + "-Tutoring-" (icon="interface/icons/small/book.webp", style="disabled") if game.daytime and states.her.ev.tutoring.stage < 15: nar "Tutoring is available during the night only." jump hermione_requests - "-Sexual favours-" (icon="interface/icons/small/condom.webp") if hermione_favors: - if her_mood >=1 and her_mood < 3: + "-Sexual favours-" (icon="interface/icons/small/condom.webp") if states.her.favors_unlocked: + if states.her.mood >=1 and states.her.mood < 3: her "I'm sorry, [name_genie_hermione], Maybe some other time..." ("annoyed", "base", "base", "R") jump hermione_requests - elif her_mood >= 3 and her_mood < 10: + elif states.her.mood >= 3 and states.her.mood < 10: her "I don't feel like it today..." ("open", "closed", "base", "mid") her "Maybe some other time..." ("normal", "closed", "base", "mid") her "" ("normal", "base", "base", "mid") jump hermione_requests - elif her_mood >= 10 and her_mood < 20: + elif states.her.mood >= 10 and states.her.mood < 20: her "No thank you..." ("angry", "narrow", "base", "mid") jump hermione_requests - elif her_mood >= 20 and her_mood < 30: + elif states.her.mood >= 20 and states.her.mood < 30: her "After what you did, [name_genie_hermione]?" ("angry", "narrow", "annoyed", "mid") her "I don't think so..." ("disgust", "narrow", "annoyed", "mid") jump hermione_requests - elif her_mood >= 30 and her_mood < 40: + elif states.her.mood >= 30 and states.her.mood < 40: her "You can't be serious!" ("angry", "narrow", "angry", "mid") jump hermione_requests - elif her_mood >= 40: + elif states.her.mood >= 40: her "Is this some twisted joke to you, sir?!" ("angry", "squint", "angry", "mid") her "After what you did I don't feel like doing this ever again!" ("disgust", "base", "angry", "mid") jump hermione_requests else: jump hermione_favor_menu - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if hermione_wardrobe_unlocked: # Unlocks after first summoning her. + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.her.wardrobe_unlocked: # Unlocks after first summoning her. hide hermione_main with d1 call wardrobe jump hermione_requests - "-Let's Duel-" (icon="interface/icons/small/cards.webp") if snape_second_win: + "-Let's Duel-" (icon="interface/icons/small/cards.webp") if states.sna.ev.cardgame.stage > 2: jump hermione_cardgame_menu - "-Give Item-" (icon="interface/icons/small/gift.webp") if hermione_favors: + "-Give Item-" (icon="interface/icons/small/gift.webp") if states.her.favors_unlocked: hide hermione_main with d1 call gift_menu jump hermione_requests @@ -98,16 +97,16 @@ label summon_hermione: stop music fadeout 3.0 if game.daytime: - if her_mood >=3 and her_mood < 7: + if states.her.mood >=3 and states.her.mood < 7: her "..............................." - elif her_mood >=7: + elif states.her.mood >=7: her "*Humph*!..." else: her "Oh, alright. I will go to classes then." else: - if her_mood >=3 and her_mood < 7: + if states.her.mood >=3 and states.her.mood < 7: her "..............................." - elif her_mood >=7: + elif states.her.mood >=7: her "*Tch*..." else: her "Oh, alright. I will go to bed then." @@ -116,28 +115,6 @@ label summon_hermione: jump end_hermione_event - - -label update_her_tier: - if her_tier == 1 and her_whoring >= 3: - # Trigger: None - $ her_level_up = 1 - elif her_tier == 2 and her_whoring >= 9 and hg_jerkoff.trigger == True: - # Trigger: When you get caught jerking off. - $ her_level_up = 2 - elif her_tier == 3 and her_whoring >= 12 and hg_strip.trigger == True: - # Trigger: After she strips for you. - $ her_level_up = 3 - elif her_tier == 4 and her_whoring >= 18 and hg_kiss.trigger == True: - # Trigger: None - $ her_level_up = 4 - elif her_tier == 5 and her_whoring >= 21 and hg_blowjob.trigger == True: - # Trigger: First BJ - $ her_level_up = 5 - - return - - label hermione_level_up(tier=None): if tier == 1: @@ -162,14 +139,14 @@ label hermione_level_up(tier=None): gen "(I'm dying to feel that mouth around my cock!)" ("angry", xpos="far_left", ypos="head") elif tier == 5: gen "(Yes, I think it's time...)" ("base", xpos="far_left", ypos="head") - gen "(I'm gonna put my \"P\" in her \"V\"!)" ("angry", xpos="far_left", ypos="head") + gen "(I'm gonna put my \"P\" in her \"V\"!)" ("grin", xpos="far_left", ypos="head") - $ her_tier = tier+1 + $ states.her.tier = tier+1 $ her_level_up = None - $ her_mood = 0 + $ states.her.mood = 0 pause.5 - nar "Hermione has reached {i}favour tier{/i} [her_tier]!" + nar "Hermione has reached {i}favour tier{/i} [states.her.tier]!" call update_her_tier @@ -182,6 +159,7 @@ label hermione_favor_menu: if not is_in_lead(gryffindor): label silver_requests_root: + menu: "-Level Up-" (icon="interface/icons/small/levelup.webp") if her_level_up != None: call hermione_level_up(tier=her_level_up) @@ -196,7 +174,7 @@ label hermione_favor_menu: for i in hg_favor_list: if i in []: # Not in the game yet. menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > her_tier: + elif i.start_tier > states.her.tier: menu_choices.append(gui.menu_item("-Not Ready-", "vague", style="disabled")) else: menu_choices.append(i.get_menu_item()) @@ -220,7 +198,7 @@ label hermione_favor_menu: jump silver_requests_root "-Public requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime: - if her_reputation >= 16 and not public_whore_ending: + if states.her.public_level >= 16 and not "public" in states.her.ev.yule_ball.variant: # Public whore ending choice $ renpy.choice_for_skipping() $ renpy.music.set_volume(0.5, 1.0) @@ -229,7 +207,7 @@ label hermione_favor_menu: nar "Do you wish to continue?\n{size=-4}(You won't be asked again){/size}" "Yes, I do.": $ renpy.music.set_volume(1.0, 1.0) - $ public_whore_ending = True + $ states.her.ev.yule_ball.variant = "public" "No, go back.": $ renpy.music.set_volume(1.0, 1.0) jump silver_requests_root @@ -240,7 +218,7 @@ label hermione_favor_menu: for i in hg_requests_list: if i in []: # Not in the game yet. menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > her_tier: + elif i.start_tier > states.her.tier: menu_choices.append(gui.menu_item("-Not Ready-", "vague", style="disabled")) else: menu_choices.append(i.get_menu_item()) @@ -268,7 +246,7 @@ label hermione_favor_menu: python: menu_choices = [] for i in hg_ps_list: - if i.tier > her_tier: + if i.tier > states.her.tier: menu_choices.append(gui.menu_item("-Vague idea-", "vague", style="disabled")) else: menu_choices.append(i.get_menu_item()) @@ -286,15 +264,15 @@ label hermione_favor_menu: "-Never mind-": jump hermione_requests else: - if hermione_favors_convinced: + if states.her.favors_convinced_stage: her "We're in the lead already..." ("base", "base", "base", "mid_soft", trans=d3) - if her_whoring >=20 and hermione_favors_convinced == 2: + if states.her.level >=20 and states.her.favors_convinced_stage == 2: her "But I'll do anything for you, [name_genie_hermione]..." ("smile", "happy", "base", "mid") jump silver_requests_root - elif her_whoring >=18 and hermione_favors_convinced == 2: + elif states.her.level >=18 and states.her.favors_convinced_stage == 2: her "I guess you do have a way with words,[name_genie_hermione]... I'll do it." ("soft", "wink", "base", "mid") jump silver_requests_root - elif her_whoring >=16: + elif states.her.level >=16: her "I have told you before, [name_genie_hermione], it was just a one time thing..." ("open", "happy", "base", "mid") gen "What about tomorrow though?" ("base", xpos="far_left", ypos="head") her "What about tomorrow?" ("base","squint", "base", "mid") @@ -303,33 +281,33 @@ label hermione_favor_menu: jump hermione_favors_convinced_check else: her "The Gryffindor house is in the lead. I don't need to do this." ("base", "base", "base", "mid_soft", trans=d3) - if her_whoring >= 15: + if states.her.level >= 15: menu: "-Change her mind-": gen "Are you sure it's not within your house best interests?" ("base", xpos="far_left", ypos="head") her "What do you mean?" ("soft", "happy", "base", "mid") gen "Think about the future..." ("grin", xpos="far_left", ypos="head") label hermione_favors_convinced_check: - if her_whoring >=20: + if states.her.level >=20: gen "If you do it now it could secu--" ("base", xpos="far_left", ypos="head") her "I'll do it!" ("angry", "happy", "base", "mid") gen "Just like that?!" ("base", xpos="far_left", ypos="head") her "Yes... just like that." ("base", "closed", "base", "mid") gen "That's my girl!" ("grin", xpos="far_left", ypos="head") - $ hermione_favors_convinced = 2 + $ states.her.favors_convinced_stage = 2 jump silver_requests_root gen "If you do it, you could secure the win for you household you know..." ("base", xpos="far_left", ypos="head") - if her_whoring >=18: + if states.her.level >=18: her "You really know how to talk me through, [name_genie_hermione]." ("soft", "narrow", "worried", "down") her "Okay I agree." ("open", "narrow", "base", "down") - $ hermione_favors_convinced = 2 + $ states.her.favors_convinced_stage = 2 jump silver_requests_root - elif her_whoring >=16 and not hermione_favors_convinced == 1: + elif states.her.level >=16 and not states.her.favors_convinced_stage == 1: her "I guess you're right..." ("open", "happy", "base", "mid_soft") her "I'll do it... but just this once okay?" ("grin", "happyCl", "base", "mid") - $ hermione_favors_convinced = 1 + $ states.her.favors_convinced_stage = 1 jump silver_requests_root else: her "I could..." ("soft", "narrow", "base", "mid_soft") @@ -338,7 +316,7 @@ label hermione_favor_menu: "-Forget it-": pass else: - if sna_friendship <= 10: + if states.sna.level <= 10: gen "What do you mean in the lead?" ("base", xpos="far_left", ypos="head") gen "Explain yourself, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") her "With the current points distribution, I am certain getting the house cup for Gryffindor will be just a formality." ("smile", "closed", "base", "mid") @@ -357,18 +335,36 @@ label hermione_favor_menu: gen "(I guess another hangout with Snape is in order.)" ("base", xpos="far_left", ypos="head") jump hermione_requests - label update_her_favors: python: for i in hg_favor_list: - i.tier = her_tier + i.tier = states.her.tier return - label update_her_requests: python: for i in hg_requests_list: - i.tier = her_tier + i.tier = states.her.tier + + return + +label update_her_tier: + python: + if states.her.tier == 1 and states.her.level >= 3: + # Trigger: None + her_level_up = 1 + elif states.her.tier == 2 and states.her.level >= 9 and states.her.status.handjob == True: + # Trigger: When you get caught jerking off. + her_level_up = 2 + elif states.her.tier == 3 and states.her.level >= 12 and states.her.status.stripping == True: + # Trigger: After she strips for you. + her_level_up = 3 + elif states.her.tier == 4 and states.her.level >= 18 and states.her.status.kissing == True: + # Trigger: None + her_level_up = 4 + elif states.her.tier == 5 and states.her.level >= 21 and states.her.status.blowjob == True: + # Trigger: First BJ + her_level_up = 5 return diff --git a/game/scripts/characters/hermione/talk.rpy b/game/scripts/characters/hermione/talk.rpy index 12825f4d..2ad0f53e 100644 --- a/game/scripts/characters/hermione/talk.rpy +++ b/game/scripts/characters/hermione/talk.rpy @@ -1,6 +1,6 @@ label hermione_talk: menu: - "-Working-" (icon="interface/icons/small/gold.webp") if hermione_favors: + "-Working-" (icon="interface/icons/small/gold.webp") if states.her.favors_unlocked: label working_menu: menu: "-Work as a maid-" if game.daytime and her_outfit_maid.unlocked: @@ -36,53 +36,53 @@ label hermione_talk: #"This job is only available during the day." #jump working_menu - "-Hidden-" (style="disabled") if not cardgame_work or not poker_outfit_ITEM.unlocked: + "-Hidden-" (style="disabled") if not states.her.ev.sell_cards.offered or not poker_outfit_ITEM.unlocked: "You haven't unlocked this job opportunity yet." jump working_menu - "-Work by advertising the card game-" (style="disabled") if cardgame_work and poker_outfit_ITEM.unlocked and not her_outfit_poker.unlocked: + "-Work by advertising the card game-" (style="disabled") if states.her.ev.sell_cards.offered and poker_outfit_ITEM.unlocked and not her_outfit_poker.unlocked: gen "(I'll need an outfit for Hermione if I want her to work.)" ("base", xpos="far_left", ypos="head") gen "(Maybe the twins have something fitting for her in their stock.)" ("base", xpos="far_left", ypos="head") jump working_menu - "-Work by advertising the card game-" (style="disabled") if not game.daytime and cardgame_work and her_outfit_poker.unlocked: + "-Work by advertising the card game-" (style="disabled") if not game.daytime and states.her.ev.sell_cards.offered and her_outfit_poker.unlocked: "This job is only available during the day." jump working_menu - "-Work by advertising the card game-" if game.daytime and cardgame_work and her_outfit_poker.unlocked: + "-Work by advertising the card game-" if game.daytime and states.her.ev.sell_cards.offered and her_outfit_poker.unlocked: jump job_5 "-Never mind-": jump hermione_talk ### Astoria ### - "-Ask her to help Tonks-" (icon="interface/icons/small/tonks.webp") if astoria_intro.E1_complete and not astoria_intro.E3_complete: - if astoria_intro.E2_hermione: + "-Ask her to help Tonks-" (icon="interface/icons/small/tonks.webp") if states.ast.ev.intro.e1_complete and not states.ast.ev.intro.e3_complete: + if states.ast.ev.intro.e2_ask_hermione: her "I'm still looking for that student, [name_genie_hermione]!" ("open", "closed", "base", "mid") her "Trust in me, I will find that Slytherin scum!" ("angry", "base", "angry", "mid") jump hermione_talk - $ hermione_busy = True - $ astoria_intro.E2_hermione = True + $ states.her.busy = True + $ states.ast.ev.intro.e2_ask_hermione = True $ ag_event_pause = 2 jump astoria_intro_E2_hermione ### Cho ### - "-Solve the matter with Cho-" (icon="interface/icons/small/cho.webp", style="disabled") if cho_intro.E2_complete and not ss_he.cho_E1: + "-Solve the matter with Cho-" (icon="interface/icons/small/cho.webp", style="disabled") if states.cho.ev.intro.e2_complete and not states.sna.ev.hangouts.cho_e1: # Before talking to Snape. gen "(I should ask Snape what to do about that Cho girl first. Just to be safe.)" ("base", xpos="far_left", ypos="head") gen "(Might as well have a drink with him...)" ("base", xpos="far_left", ypos="head") jump hermione_talk - "-Solve the matter with Cho-" (icon="interface/icons/small/cho.webp") if ss_he.cho_E1 and not cho_intro.E3_complete: + "-Solve the matter with Cho-" (icon="interface/icons/small/cho.webp") if states.sna.ev.hangouts.cho_e1 and not states.cho.ev.intro.e4_complete: # After talking to Snape. jump cho_intro_E3 - "-Ask her to commentate the game-" (icon="interface/icons/small/quidditch.webp") if cho_tier == 1 and cho_quid.E3_complete and not cho_quid.E4_complete: + "-Ask her to commentate the game-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 1 and states.cho.ev.quidditch.e3_complete and not states.cho.ev.quidditch.e4_complete: jump cho_quid_E4 - "-Ask her to commentate the game-\n{size=-5}again...{/size}" (icon="interface/icons/small/quidditch.webp") if cho_tier == 2 and cho_quid.E6_complete and not cho_quid.E7_complete: + "-Ask her to commentate the game-\n{size=-5}again...{/size}" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 2 and states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e7_complete: jump cho_quid_E7 # General. @@ -101,38 +101,38 @@ label hermione_talk: $ name_genie_hermione = "Old man" jump genie_change "-Genie-": - if her_whoring >=5: + if states.her.level >=5: $ name_genie_hermione = "Genie" jump genie_change else: jump genie_change_fail "-My Lord-": - if her_whoring >=7: + if states.her.level >=7: $ name_genie_hermione = "My Lord" jump genie_change else: jump genie_change_fail "-Darling-": - if her_whoring >=10: + if states.her.level >=10: $ name_genie_hermione = "Darling" jump genie_change else: jump genie_change_fail "-Lord Voldemort-": - if her_whoring >=15: + if states.her.level >=15: $ name_genie_hermione = "Lord Voldemort" jump genie_change else: jump genie_change_fail "-Daddy-": - if her_whoring >=19: + if states.her.level >=19: $ name_genie_hermione = "Daddy" $ achievements.unlock("daddy") jump genie_change else: jump genie_change_fail "-Master-": - if her_whoring >=20: + if states.her.level >=20: $ name_genie_hermione = "Master" jump genie_change else: @@ -142,7 +142,7 @@ label hermione_talk: $ temp_name = temp_name.strip() if temp_name == "": jump hermione_talk - if her_whoring >=20: + if states.her.level >=20: $ name_genie_hermione = temp_name jump genie_change else: @@ -160,73 +160,73 @@ label hermione_talk: jump hermione_change "-Girl-": $ temp_name = "Girl" - if her_whoring >=1: + if states.her.level >=1: jump hermione_change else: jump hermione_change_fail "-Nerd-": $ temp_name = "Nerd" - if her_whoring >=3: + if states.her.level >=3: jump hermione_change else: jump hermione_change_fail "-Hottie-": $ temp_name = "Hottie" - if her_whoring >=5: + if states.her.level >=5: jump hermione_change else: jump hermione_change_fail "-Angel-": $ temp_name = "Angel" - if her_whoring >=7: + if states.her.level >=7: jump hermione_change else: jump hermione_change_fail "-Minx-": $ temp_name = "Minx" - if her_whoring >=9: + if states.her.level >=9: jump hermione_change else: jump hermione_change_fail "-Princess-": $ temp_name = "Princess" - if her_whoring >=11: + if states.her.level >=11: jump hermione_change else: jump hermione_change_fail "-Pet-": $ temp_name = "Pet" - if her_whoring >=11: + if states.her.level >=11: jump hermione_change else: jump hermione_change_fail "-Bitch-": $ temp_name = "Bitch" - if her_whoring >=13: + if states.her.level >=13: jump hermione_change else: jump hermione_change_fail "-Slut-": $ temp_name = "Slut" - if her_whoring >=15: + if states.her.level >=15: jump hermione_change else: jump hermione_change_fail "-Cumslut-": $ temp_name = "Cumslut" - if her_whoring >= 17: + if states.her.level >= 17: jump hermione_change else: jump hermione_change_fail "-Slytherin Whore-": $ temp_name = "Slytherin Whore" - if her_whoring >= 19: + if states.her.level >= 19: jump hermione_change else: jump hermione_change_fail "-Mudblood-": $ temp_name = "Mudblood" - if her_whoring >= 21: + if states.her.level >= 21: jump hermione_change else: jump hermione_change_fail @@ -235,7 +235,7 @@ label hermione_talk: $ temp_name = temp_name.strip() if temp_name == "": jump hermione_talk - if her_whoring >=21: + if states.her.level >=21: $ name_hermione_genie = temp_name jump hermione_change else: @@ -243,10 +243,10 @@ label hermione_talk: "-Never mind-": jump hermione_talk - "-Give her the ball dress-" if ball_quest.E4_complete and ball_outfit_ITEM.owned > 0 and not ball_quest.gave_dress: + "-Give her the ball dress-" if states.her.ev.yule_ball.e4_complete and ball_outfit_ITEM.owned > 0 and not states.her.ev.yule_ball.gave_dress: jump ball_quest_E5 - "-Start the autumn ball-" if ball_quest.gave_dress and not ball_quest.started: + "-Start the autumn ball-" if states.her.ev.yule_ball.gave_dress and not states.her.ev.yule_ball.started: jump ball_ending_start "-Never mind-": @@ -263,7 +263,7 @@ label genie_change_fail: label hermione_change: if temp_name == "Miss Granger": - if her_whoring <=0: + if states.her.level <=0: her "Sure, [name_genie_hermione]." ("base", "base", "base", "mid") else: her "You don't have to be so formal, [name_genie_hermione], you know?" ("base", "closed", "base", "mid") @@ -271,13 +271,13 @@ label hermione_change: elif temp_name == "Hermione": her "Of course [name_genie_hermione]." ("base", "base", "base", "mid") elif temp_name == "Girl": - if her_whoring >=1 and her_whoring < 3: + if states.her.level >=1 and states.her.level < 3: her "This girl thing again?" ("annoyed", "happy", "base", "mid") her "*sigh*..." ("soft", "happy", "base", "R") - elif her_whoring >=3: + elif states.her.level >=3: her "Fine... I don't mind." ("soft", "base", "base", "R") elif temp_name == "Nerd": - if her_whoring >=3 and her_whoring < 5: + if states.her.level >=3 and states.her.level < 5: her "*sigh* I just enjoy books, that's all." ("annoyed", "narrow", "worried", "down") gen "I'm sure you'll find other things to enjoy soon enough..." ("base", xpos="far_left", ypos="head") her "Like what exactly?" ("normal", "narrow", "base", "mid_soft") @@ -285,89 +285,89 @@ label hermione_change: gen "Nerd..." ("grin", xpos="far_left", ypos="head") her "*tsk* ..." ("soft", "narrow", "base", "R_soft") her "" ("normal", "narrow", "base", "R_soft") - elif her_whoring >= 5 and her_whoring < 19: + elif states.her.level >= 5 and states.her.level < 19: her "I can be a bit nerdy sometimes I suppose.." ("angry", "happyCl", "base", "mid", emote="sweat") her "" ("base", "base", "base", "mid") - elif her_whoring >= 19: + elif states.her.level >= 19: her "I don't read as much as I used to anymore." ("grin", "narrow", "base", "R_soft", emote="sweat") her "" ("base", "narrow", "base", "mid_soft") elif temp_name == "Hottie": - if her_whoring >=5 and her_whoring < 7: + if states.her.level >=5 and states.her.level < 7: her "[name_genie_hermione]?!" ("angry", "wide", "angry", "mid", cheeks="blush") gen "What? That's true, you're hot." ("base", xpos="far_left", ypos="head") her "That's inappropriate." ("annoyed", "base", "worried", "R", cheeks="blush") her "But I'll let it slide, I guess." - elif her_whoring >=7 and her_whoring < 19: + elif states.her.level >=7 and states.her.level < 19: her "Thank you, [name_genie_hermione]." ("soft", "wink", "base", "mid") her "" ("normal", "base", "base", "mid") - elif her_whoring >=19: + elif states.her.level >=19: her "... Glad you think so." ("smile", "wink", "base", "mid", cheeks="blush") her "" ("base","happy", "base", "mid", cheeks="blush") elif temp_name == "Good Girl": - if her_whoring >=5 and her_whoring < 7: + if states.her.level >=5 and states.her.level < 7: her "Well, I do try my best, [name_genie_hermione]." ("base", "closed", "base", "mid") her "" ("base", "base", "base", "mid") - elif her_whoring >=7 and her_whoring < 19: + elif states.her.level >=7 and states.her.level < 19: her "I'm not sure if I'd qualify, but fine." ("annoyed", "wink", "base", "mid") her "" ("normal", "base", "base", "mid") - elif her_whoring >=19: + elif states.her.level >=19: her "I could act like a good girl if you really want me to..." ("smile", "wink", "base", "mid", cheeks="blush") her "" ("base","happy", "base", "mid", cheeks="blush") elif temp_name == "Angel": - if her_whoring >=7 and her_whoring < 9: + if states.her.level >=7 and states.her.level < 9: her "What's going on with these silly nicknames of yours all of a sudden?" ("normal", "squint", "angry", "mid") gen "What do you mean by silly?" ("base", xpos="far_left", ypos="head") her "Ugh, forget I said anything..." ("open", "narrow", "base", "down",cheeks="blush") her "" ("normal", "base", "base", "R", cheeks="blush") - elif her_whoring >=9 and her_whoring < 19: + elif states.her.level >=9 and states.her.level < 19: her "I like it..." ("soft", "narrow", "base", "R_soft",cheeks="blush") her "" ("base", "narrow", "base", "R_soft",cheeks="blush") - elif her_whoring >= 19: + elif states.her.level >= 19: her "I'm surprised I didn't grow wings yet." ("base", "narrow", "worried", "mid_soft",cheeks="blush") elif temp_name == "Little Girl": - if her_whoring >=7 and her_whoring < 9: + if states.her.level >=7 and states.her.level < 9: her "What's going on with these silly nicknames of yours all of a sudden?" ("normal", "squint", "angry", "mid") gen "What do you mean by silly?" ("base", xpos="far_left", ypos="head") her "It makes it sound as if I'm your..." ("soft", "base", "worried", "R") her "Ugh, forget I said anything..." ("open", "narrow", "base", "down",cheeks="blush") her "" ("normal", "base", "base", "R", cheeks="blush") - elif her_whoring >=9 and her_whoring < 19: + elif states.her.level >=9 and states.her.level < 19: her "Bit of an odd request but..." ("normal", "narrow", "base", "down") her "I like it..." ("soft", "narrow", "base", "R_soft",cheeks="blush") her "" ("base", "narrow", "base", "R_soft",cheeks="blush") - elif her_whoring >= 19: + elif states.her.level >= 19: her "Yes, [name_genie_hermione]." ("base", "narrow", "worried", "mid_soft",cheeks="blush") elif temp_name == "Bad Girl": - if her_whoring >=9 and her_whoring < 11: + if states.her.level >=9 and states.her.level < 11: her "I guess I am a bit." ("soft", "narrow", "worried", "down") her "I did fail that test after all..." ("disgust", "narrow", "base", "down") her "" ("normal", "narrow", "worried", "mid_soft") her "" ("normal", "base", "base", "mid") - elif her_whoring >=11 and her_whoring < 17: + elif states.her.level >=11 and states.her.level < 17: her "I may be a little bit naughty at times." ("base", "happy", "base", "R",cheeks="blush") - elif her_whoring >=17: + elif states.her.level >=17: her "I may be a little bit naughty at times." ("base", "happy", "base", "R",cheeks="blush") her "" ("base", "base", "base", "mid", cheeks="blush") elif temp_name == "Minx": - if her_whoring >=9 and her_whoring < 11: + if states.her.level >=9 and states.her.level < 11: her "I guess I am a bit." ("soft", "narrow", "worried", "down") her "" ("normal", "narrow", "worried", "mid_soft") - elif her_whoring >=11 and her_whoring < 17: + elif states.her.level >=11 and states.her.level < 17: her "I may be a little bit naughty at times." ("base", "happy", "base", "R",cheeks="blush") - elif her_whoring >=17: + elif states.her.level >=17: her "I may be a little bit naughty at times." ("base", "happy", "base", "R",cheeks="blush") her "" ("base", "base", "base", "mid", cheeks="blush") elif temp_name == "Princess": - if her_whoring >= 11 and her_whoring < 13: + if states.her.level >= 11 and states.her.level < 13: her "That would make you my prince wouldn't it?" ("open", "base", "base", "R",cheeks="blush") her "" ("base", "base", "base", "mid", cheeks="blush") - elif her_whoring >= 13: + elif states.her.level >= 13: her "Yes... My prince." ("smile","happy", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") her "I-I mean, [name_genie_hermione]." ("smile", "happyCl", "base", "mid", emote="sweat") her "" ("base", "base", "base", "mid") elif temp_name == "Pet": - if her_whoring >= 11 and her_whoring < 13: + if states.her.level >= 11 and states.her.level < 13: her "You want to call me....{w=0.5} a pet?" ("normal", "squint", "angry", "mid") gen "Yes." ("base", xpos="far_left", ypos="head") her ".... {w=0.5}.... {w=0.5}.... {w=0.5}...." ("normal", "happy", "base", "mid") @@ -376,27 +376,27 @@ label hermione_change: her "May I at least know why?" ("open", "squint", "base", "mid") gen "No." ("base", xpos="far_left", ypos="head") her "...." ("annoyed", "base", "worried", "mid") - elif her_whoring >= 13: + elif states.her.level >= 13: her "*Meow*" ("smile","happyCl", "base", "mid") her "" ("smile","happy", "base", "mid") gen "Don't do that..." ("base", xpos="far_left", ypos="head") her "Such a party pooper." ("annoyed","happyCl", "base", "mid") her "" ("base", "base", "base", "mid") elif temp_name == "Bitch": - if her_whoring >=13 and her_whoring < 15: + if states.her.level >=13 and states.her.level < 15: her "Isn't this a bit inappropriate [name_genie_hermione]?" ("mad", "narrow", "worried", "down") gen "And doing favours for house points isn't?" ("base", xpos="far_left", ypos="head") her "Fine..." ("base", "narrow", "base", "down", cheeks="blush") - elif her_whoring >= 15 and her_whoring < 17: + elif states.her.level >= 15 and states.her.level < 17: her "..." ("normal", "narrow", "worried", "down", cheeks="blush") gen "Any objections?" ("base", xpos="far_left", ypos="head") her "..." ("soft", "base", "worried", "R",cheeks="blush") gen "Okay then..." ("grin", xpos="far_left", ypos="head") - elif her_whoring >= 17: + elif states.her.level >= 17: her "Alright." ("base", "happyCl", "base", "mid",cheeks="blush") her "" ("base","happy", "base", "mid", cheeks="blush") elif temp_name == "Slut": - if her_whoring >=15 and her_whoring < 17: + if states.her.level >=15 and states.her.level < 17: her "[name_genie_hermione]?!" ("shock", "wide", "worried", "stare") her "You can't just call someone that!" ("mad", "wide", "base", "stare") gen "It'll just be between us..." ("base", xpos="far_left", ypos="head") @@ -407,18 +407,18 @@ label hermione_change: her "{size=+5}FINE!{/size}" ("clench", "closed", "angry", "mid", emote="angry") gen "..." ("base", xpos="far_left", ypos="head") her "" ("normal", "narrow", "angry", "R") - elif her_whoring >= 17: + elif states.her.level >= 17: her "I guess if you have to call me that sure..." ("base", "narrow", "base", "down",cheeks="blush") - elif her_whoring >= 19: + elif states.her.level >= 19: her "I don't mind..." ("smile", "happyCl", "base", "mid",cheeks="blush") elif temp_name == "Cumslut": - if her_whoring >= 17 and her_whoring < 19: + if states.her.level >= 17 and states.her.level < 19: her "A cumslut?!" ("open", "wide", "worried", "stare") gen "Something wrong?" ("base", xpos="far_left", ypos="head") her "You have to even ask?" ("soft", "narrow", "worried", "down", cheeks="blush") her "This is so degrading..." ("normal", "narrow", "base", "down",cheeks="blush") her "(But I kinda am a slut begging for cum aren't I...)" ("base", "happyCl", "base", "mid",cheeks="blush") - elif her_whoring >= 19: + elif states.her.level >= 19: her "..." ("soft", "narrow", "base", "up") her "(When did I start enjoying it so much...)" ("open", "narrow", "base", "up",cheeks="blush") her "(That taste, the texture...)" ("open", "narrow", "annoyed", "up",cheeks="blush") @@ -427,7 +427,7 @@ label hermione_change: her "Wha--" ("mad", "wide", "base", "stare") her "Of course I am!" ("smile", "base", "base", "R",cheeks="blush") elif temp_name == "Slytherin Whore": - if her_whoring >=19 and her_whoring < 21: + if states.her.level >=19 and states.her.level < 21: her "Do you really have to call me that, [name_genie_hermione]?" ("disgust", "base", "worried", "mid") her "Referring to me as a bitch or a slut for your own amusement is one thing..." ("mad", "narrow", "worried", "down",cheeks="blush") her "You're aware of how much I loathe Slytherin." ("open", "narrow", "worried", "mid_soft") @@ -480,13 +480,13 @@ label hermione_change: her "Happy now?!" ("open", "closed", "angry", "mid", cheeks="blush") gen "Very." ("grin", xpos="far_left", ypos="head") her "{size=-6}You are the worst.{/size}" ("normal", "narrow", "base", "R_soft", cheeks="blush") - $ her_mood += 15 - elif her_whoring >= 21: + $ states.her.mood += 15 + elif states.her.level >= 21: her "Please, [name_genie_hermione], couldn't you call me something else instead?" ("open", "base", "worried", "mid") gen "But where's fun in that?" ("base", xpos="far_left", ypos="head") her "Why do I even bother... *sigh*" ("soft", "narrow", "base", "R_soft",cheeks="blush") elif temp_name == "Mudblood": - if her_whoring >= 21: + if states.her.level >= 21: her "A{w=0.5}...{w=0.5} {size=+6}{b}{cps=20}mud{w=0.5}blood{/cps}{/b}?!{/size}" ("shock", "wide", "base", "stare") her "Did I hear you right, [name_genie_hermione]?!" ("normal", "wide", "base", "mid") menu: @@ -545,7 +545,7 @@ label hermione_change: gen "Yes, in fact I do." ("base", xpos="far_left", ypos="head") her "Thank you, [name_genie_hermione]." ("normal", "closed", "base", "mid", tears="mascara") her "I can do it, I know I can." ("base", "narrow", "worried", "mid_soft", tears="mascara") - $ her_mood = 0 + $ states.her.mood = 0 "-Tell her she deserves it-": gen "You deserve to be called a slut, a whore and a mudblood... just look at you." ("angry", xpos="far_left", ypos="head") her "..." ("scream", "happyCl", "worried", "mid", tears="mascara_soft_blink") @@ -571,7 +571,7 @@ label hermione_change: gen "Yes, that you are but it's enough..." ("base", xpos="far_left", ypos="head") her "I fully belong to you... [name_genie_hermione]." ("silly", "narrow", "base", "dead", tears="mascara") her "" ("grin", "narrow", "base", "dead", tears="mascara") - $ her_mood = 0 + $ states.her.mood = 0 else: #Custom/fallback her "Bit odd but sure, you can call me that..." ("soft", "squint", "base", "mid") @@ -585,30 +585,30 @@ label hermione_change_fail: elif temp_name == "Nerd": her "I would prefer if you didn't, [name_genie_hermione]." ("open", "closed", "angry", "mid") her "{size=-4}And I'm not a nerd...{/size}" ("annoyed", "base", "worried", "mid") - if her_whoring >= 1: + if states.her.level >= 1: her "(I think...)" ("annoyed", "base", "worried", "R") elif temp_name == "Good Girl": her "I'm not letting you call me that, [name_genie_hermione]!" ("open", "closed", "angry", "mid") - if her_whoring >= 3: + if states.her.level >= 3: her "(Although it's kinda cute he said that...)" ("base", "base", "base", "R") elif temp_name == "Little Girl": her "I won't let you call me that, [name_genie_hermione]!" ("open", "closed", "angry", "mid") - if her_whoring >= 5: + if states.her.level >= 5: her "(I hope they'd grow out more...)" ("disgust", "narrow", "worried", "down") her "*sigh*" ("annoyed", "closed", "base", "mid") her "" ("normal", "base", "base", "R") elif temp_name == "Bad Girl": her "I am not a [temp_name]!" ("open", "base", "angry", "mid") - if her_whoring >= 7: + if states.her.level >= 7: her "(Or am I...?)" ("disgust", "base", "base", "R") her "" ("normal", "base", "base", "R") elif temp_name == "Princess": her "This is inappropriate, [name_genie_hermione]!" ("open", "base", "angry", "mid") - if her_whoring >= 9: + if states.her.level >= 9: her "(It sounds nice though...)" ("base", "base", "base", "R") elif temp_name == "Pet": her "Are you joking, [name_genie_hermione]?" ("open", "base", "worried", "mid") - if her_whoring >= 11: + if states.her.level >= 11: her "(Why would he even suggest that?)" ("annoyed", "base", "base", "R") else: her "I won't let you call me that!" ("shock", "closed", "angry", "mid") diff --git a/game/scripts/characters/hermione/vars.rpy b/game/scripts/characters/hermione/vars.rpy index 59dc0ef8..c5253096 100644 --- a/game/scripts/characters/hermione/vars.rpy +++ b/game/scripts/characters/hermione/vars.rpy @@ -1,61 +1,106 @@ -# Stats -default her_tier = 1 -default her_whoring = 0 -default her_reputation = 0 -default her_mood = 0 -default her_tutoring = 1 +# General states -# 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 +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 +default states.her.map_location = "library" -# 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 +# Sexual activity states + +default states.her.status.kissing = False +default states.her.status.stripping = False +default states.her.status.handjob = False +default states.her.status.blowjob = False +default states.her.status.masturbating = False +default states.her.status.sex = False +default states.her.status.anal = False + +# 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. +default states.her.ev.show_me_your_tits.failed = False +default states.her.ev.panty_thief.soaked = False +default states.her.ev.forest_bj.stage = 1 +default states.her.ev.sealed_scroll.sample = False +default states.her.ev.sealed_scroll.examined = False +default states.her.ev.cardgame.known = False +default states.her.ev.cardgame.has_cards = False +default states.her.ev.cardgame.stage = 0 +default states.her.ev.sell_cards.offered = True +default states.her.ev.sell_cards.first_time = True +default states.her.ev.sell_cards.helped = False +default states.her.ev.buttplugs.magic_known = False +default states.her.ev.buttplugs.medium_question = False +default states.her.ev.dance_for_me.snape_invited = False +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 +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 +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 + +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. # Names + default name_genie_hermione = "Sir" default name_hermione_genie = "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: +init python early: # 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(): + def _her_public_tier(): if hg_pr_sex.counter > 0: return 6 @@ -72,5 +117,3 @@ init python: return 2 else: return 1 - - her_tier_public = IntLike(_her_tier_public) diff --git a/game/scripts/characters/hermione/wardrobe_reactions.rpy b/game/scripts/characters/hermione/wardrobe_reactions.rpy index 6f5887fe..60ae0f45 100644 --- a/game/scripts/characters/hermione/wardrobe_reactions.rpy +++ b/game/scripts/characters/hermione/wardrobe_reactions.rpy @@ -42,10 +42,10 @@ label her_reaction_category_fail(category): her "I don't believe there's anything wrong with my current underwear..." ("open", "base", "annoyed", "mid") her "[name_genie_hermione], I don't think this is part of our arrangement..." ("soft", "base", "annoyed", "mid") elif category == "piercings & tattoos": - if her_whoring >= 12: + if states.her.level >= 12: her "*Ehm*... Do I have to?" ("annoyed", "squint", "base", "mid") her "Isn't it supposed to hurt?" ("upset", "base", "base", "R") - elif her_whoring >= 6: + elif states.her.level >= 6: her "You can look all you want but I will not have such things done to my body..." ("normal", "base", "annoyed", "mid") else: #under naked level @@ -58,25 +58,25 @@ label her_reaction_touch(what): if what == "head": $ mouse_headpat() - if her_whoring >= 20: + if states.her.level >= 20: #craving it random: her "*Mmm*..." ("base", "closed", "base", "mid", cheeks="blush") her "Does this mean I've been a good girl, [name_genie_hermione]?" ("crooked_smile", "narrow", "base", "mid", cheeks="blush") her "Thank you [name_genie_hermione]..." ("base", "happy", "base", "mid", cheeks="blush") - elif her_whoring >= 16: + elif states.her.level >= 16: #enjoying it random: her "I guess I could get used to this..." ("soft", "closed", "base", "mid", cheeks="blush") her "*Hmm*... This does feel kind of nice..." ("open", "closed", "worried", "mid", cheeks="blush") her "..." ("base", "closed", "base", "mid", cheeks="blush") - elif her_whoring >= 12: + elif states.her.level >= 12: #enjoying it a bit random: her "..." ("normal", "happyCl", "base", "mid", cheeks="blush") her "I'm only letting you do this because I have to..." ("open", "squint", "annoyed", "mid", cheeks="blush") her "*Ehm*... Do you do this to every student?" ("base", "closed", "base", "mid", cheeks="blush") - elif her_whoring >= 8: + elif states.her.level >= 8: #confused random: her "*Ehm*... Isn't petting your student a bit weird?" ("upset", "happyCl", "base", "mid") @@ -92,13 +92,13 @@ label her_reaction_touch(what): elif what == "breasts": $ mouse_heart() - if her_whoring >= 20: + if states.her.level >= 20: random: her "*Mmm*...{w=0.4} Lower..." ("base", "closed", "base", "mid", cheeks="blush") her "I'm glad you're enjoying them so much, [name_genie_hermione]." ("base", "narrow", "base", "mid", cheeks="blush") her "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") her "Please be gentle..." ("soft", "closed", "base", "mid", cheeks="blush") - elif her_whoring >= 16: + elif states.her.level >= 16: random: her "So, I guess this is part of our arrangement now..." ("base", "narrow", "base", "down", cheeks="blush") her "Oh! Hey, at least give me a warning first." ("soft", "squint", "base", "mid", cheeks="blush") @@ -191,7 +191,7 @@ label her_reaction_equip_fail(item): label her_reaction_unequip(item): ### Example # if item.type == "panties": - # if her_whoring > 15: + # if states.her.level > 15: # her "You want to see my snatch?" # her "You got it [name_genie_hermione]!" # @@ -238,13 +238,13 @@ label her_reaction_equip_outfit(item): ######################## if item == her_outfit_default: gen "Could you put on your regular school uniform?" ("base", xpos="far_left", ypos="head") - if her_whoring < 10: + if states.her.level < 10: her "Of course, [name_genie_hermione]." ("open", "base", "base", "mid") her "Let me go and change real quick..." ("soft", "base", "base", "R") - elif her_whoring < 19: + elif states.her.level < 19: her "Alright, [name_genie_hermione]." ("base", "base", "base", "mid") her "Let me go and change real quick..." ("open", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "Are you sure, [name_genie_hermione]?" ("open", "base", "base", "mid") her "My regular school uniform..." ("soft", "base", "base", "R") her "You don't even want me to remove my tie or show off any cleavage?" ("open", "squint", "worried", "mid") @@ -276,15 +276,15 @@ label her_reaction_equip_outfit(item): ############################### elif item == her_outfit_s_clearday: gen "Could you wear your school uniform for me? But leave the vest off." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Certainly, [name_genie_hermione]." ("open", "squint", "base", "mid") her "I'd usually only take it off if it's hot outside... When it isn't, I always make a point to wear the vest." ("normal", "closed", "base", "mid") her "But you are the headmaster, after all, so I'll wear it without the vest if I must." ("open", "closed", "base", "mid") her "Let me just go and change, [name_genie_hermione]." ("open", "base", "base", "R") - elif her_whoring < 13: + elif states.her.level < 13: her "Alright, [name_genie_hermione]." ("open", "squint", "base", "mid") her "Let me go and change it real quick." ("soft", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "Of course, [name_genie_hermione]." ("base", "squint", "base", "mid") her "I will just change it right here if you don't mind..." ("open", "closed", "base", "mid") else: #22+ @@ -303,17 +303,17 @@ label her_reaction_equip_outfit(item): ######################################################## elif item == her_outfit_s_clearnight: gen "Could you wear your normal clothing, the one with jeans and the top with the vest?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Of course!" ("base", "happy", "base", "mid") her "You should've seen the look on Malfoy's face when he saw me buy it in a muggle shop." ("smile", "closed", "base", "mid") her "It was right outside the leaky cauldron you see." ("crooked_smile", "squint", "base", "R") her "He looked as if he had bit into a--" ("smile", "happyCl", "base", "mid") gen "I don't need your life story, just put it on..." ("base", xpos="far_left", ypos="head") her "*Hmph*... Fine." ("upset", "squint", "base", "mid") - elif her_whoring < 13: + elif states.her.level < 13: her "OK, [name_genie_hermione]." ("base", "base", "base", "mid") her "Let me put it on." ("open", "happy", "base", "mid") - elif her_whoring < 22: + elif states.her.level < 22: her "Just my regular muggle clothing, [name_genie_hermione]?" ("soft", "squint", "base", "mid") gen "Indeed." ("base", xpos="far_left", ypos="head") her "If you say so..." ("open", "base", "base", "R") @@ -329,19 +329,19 @@ label her_reaction_equip_outfit(item): ################################ elif item == her_outfit_s_snow: gen "Could you put on your regular clothing, the one with jeans and pullover?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "As you wish, [name_genie_hermione]." ("base", "squint", "base", "mid") her "I do love wearing it." ("base", "happyCl", "base", "mid") gen "Why's that?" ("base", xpos="far_left", ypos="head") her "My mother made it for me." ("base", "happy", "base", "R") gen "I see...{w} Is she as hot--" ("base", xpos="far_left", ypos="head") her "Let me go and change real quick." ("soft", "happy", "base", "R") - elif her_whoring < 13: + elif states.her.level < 13: her "Glad you're caring about my health [name_genie_hermione]... This office does get a little bit cold sometimes." ("base", "closed", "base", "mid") gen "Ah yes... Your health is important... I wouldn't be able to summon you if you caught a cold, would I?" ("base", xpos="far_left", ypos="head") her "..." ("normal", "squint", "base", "mid") her "I'll just go and change it then... [name_genie_hermione]." ("open", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "My mother made that jumper for me you know..." ("open", "closed", "base", "mid") her "I wonder what she'd say if she knew I rarely wear it anymore..." ("soft", "closed", "base", "mid") gen "She'd probably be proud that you're not relying on her giving you clothes anymore." ("base", xpos="far_left", ypos="head") @@ -357,7 +357,7 @@ label her_reaction_equip_outfit(item): ########################################## elif item == her_outfit_s_overcast: gen "Could you put on your regular clothing, the one with the school skirt and pullover?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "The pullover does go well with the school skirt don't you think?" ("base", "squint", "base", "mid") gen "It would look good even without the skirt on in my opinion." ("base", xpos="far_left", ypos="head") her "How nice, I'll let my mother know you said--" ("base", "closed", "base", "mid", cheeks="blush") @@ -365,12 +365,12 @@ label her_reaction_equip_outfit(item): gen "I said it looks good." ("base", xpos="far_left", ypos="head") her "Oh... Okay then..." ("open", "happy", "base", "mid") her "Give me a moment to let me change." ("open", "base", "base", "R") - elif her_whoring < 13: + elif states.her.level < 13: her "The skirt and pullover?" ("open", "squint", "base", "mid") gen "That's what I just said..." ("base", xpos="far_left", ypos="head") her "Okay, just making sure." ("soft", "squint", "base", "mid") her "One moment please..." ("base", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "Is it cold in here?" ("open", "squint", "base", "L") her "I guess I didn't notice..." ("normal", "base", "base", "down") her "One moment..." ("open", "base", "base", "mid") @@ -386,7 +386,7 @@ label her_reaction_equip_outfit(item): ##################################### elif item == her_outfit_s_rain: gen "Could you put on your regular school outfit, and your cloak as well?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "I wanted to talk to you about this actually..." ("open", "closed", "base", "mid") gen "(Oh, here we go...)" ("base", xpos="far_left", ypos="head") her "The cloak doesn't cover the head so when it rains it just ends up in your hair." ("annoyed", "squint", "base", "mid") @@ -397,10 +397,10 @@ label her_reaction_equip_outfit(item): her "Thank you..." ("base", "closed", "base", "mid") gen "Now. can you put it on?" ("base", xpos="far_left", ypos="head") her "...{w=0.4} Fine..." ("normal", "base", "base", "R") - elif her_whoring < 13: + elif states.her.level < 13: her "Certainly, [name_genie_hermione]..." ("base", "base", "base", "mid") her "Just let me go change real quick." ("open", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "You suddenly want me to cover up now?" ("angry", "narrow", "base", "R") menu: "\"Yes, your body disgusts me and I'm doing everyone a favour...\"": @@ -436,7 +436,7 @@ label her_reaction_equip_outfit(item): her "Alright fine, I'm not going to argue with you..." ("open", "squint", "worried", "R") else: her "My pyjamas?" ("open", "base", "base", "mid") - if her_whoring < 13: + if states.her.level < 13: her "You want me to sleep in here?" ("angry", "squint", "base", "mid") else: #13+ her "Am I supposed to sleep over tonight?" ("open", "squint", "base", "mid") @@ -450,11 +450,11 @@ label her_reaction_equip_outfit(item): ######################## elif item == her_outfit_cheerleader_1: #Req 10 whoring gen "Could you wear the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "Gryffindor colours I presume?" ("open", "closed", "base", "mid") gen "We'll see..." ("base", xpos="far_left", ypos="head") her "...{w=0.4} Fine." ("annoyed", "closed", "base", "mid") - elif her_whoring < 22: + elif states.her.level < 22: her "*Hmm*... Alright then..." ("base", "happy", "worried", "R") her "I'll just change it here shall I?" ("base", "narrow", "base", "mid") gen "That's the spirit." ("base", xpos="far_left", ypos="head") @@ -482,7 +482,7 @@ label her_reaction_equip_outfit(item): ###################### elif item == her_outfit_cheerleader_2: #Req 16 whoring (top) gen "Could you put on the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Of course!" ("smile", "base", "base", "mid") gen "Great, here you go!" ("base", xpos="far_left", ypos="head") her "[name_genie_hermione], did you hand me the wrong outfit?" ("open", "squint", "base", "mid", cheeks="blush") @@ -507,7 +507,7 @@ label her_reaction_equip_outfit(item): ################# elif item == her_outfit_fishnet: #Req 19 (panties, top) gen "Could you please wear--" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A fishnet outfit?" ("angry", "squint", "base", "down") her "[name_genie_hermione]... Isn't this a bit..." ("annoyed", "squint", "base", "mid") gen "A bit what?" ("base", xpos="far_left", ypos="head") @@ -526,7 +526,7 @@ label her_reaction_equip_outfit(item): elif item == her_outfit_fishnet_onepiece: #Req 19 (top) gen "Could you put on the fishnet one-piece for me?" ("base", xpos="far_left", ypos="head") her "The fishnet one-piece?" ("angry", "base", "base", "mid", cheeks="blush") - if her_whoring < 22: + if states.her.level < 22: her "*Hmm*... Lingerie..." ("angry", "narrow", "base", "down", cheeks="blush") gen "Yep..." ("base", xpos="far_left", ypos="head") her "And I suppose I shouldn't ask where you got such an outfit from..." ("open", "narrow", "base", "down", cheeks="blush") @@ -545,7 +545,7 @@ label her_reaction_equip_outfit(item): ################## elif item == her_outfit_latex: #Req 19 (top) gen "Could you put on this latex outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Latex outfit?" ("open", "squint", "base", "mid") her "Whoa... This is skin tight!" ("clench", "narrow", "base", "down", cheeks="blush") gen "I know! Glad you're as excited as I am!" ("base", xpos="far_left", ypos="head") @@ -564,7 +564,7 @@ label her_reaction_equip_outfit(item): ####################### elif item == her_outfit_slutty_schoolgirl: #Req 19 (top, Bottom) gen "Could you put on this school uniform for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "My school uniform?" ("angry", "base", "worried", "mid") her "Is this some sort of test?" ("clench", "squint", "base", "mid") gen "No, not a test. I'd just like you to put it on..." ("base", xpos="far_left", ypos="head") @@ -588,7 +588,7 @@ label her_reaction_equip_outfit(item): ################## elif item == her_outfit_witch: #Req 10 (top) gen "Put on this witch outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Witch outfit?" ("open", "squint", "base", "mid") gen "The one I have right here." ("base", xpos="far_left", ypos="head") her "Sir, this is not a witch outfit..." ("disgust", "narrow", "base", "mid") @@ -608,7 +608,7 @@ label her_reaction_equip_outfit(item): gen "You do." ("base", xpos="far_left", ypos="head") her "Fine..." ("open", "base", "base", "down", cheeks="blush") her "Give me a moment to let me change." ("open", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "Witch outfit?" ("soft", "squint", "base", "mid") gen "The one I have right here." ("base", xpos="far_left", ypos="head") her "Oh, I see..." ("angry", "narrow", "base", "down", cheeks="blush") @@ -635,7 +635,7 @@ label her_reaction_equip_outfit(item): gen "Could you put on this archaeologist outfit for me?" ("base", xpos="far_left", ypos="head") her "A what?" ("open", "squint", "base", "mid") gen "This one..." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: gen "Worn by the great Lara Croft!" ("base", xpos="far_left", ypos="head") her "Someone you know?" ("soft", "base", "base", "mid") gen "Indeed... I'm a massive fan." ("base", xpos="far_left", ypos="head") @@ -646,7 +646,7 @@ label her_reaction_equip_outfit(item): her "I wonder why I haven't heard of her..." ("angry", "base", "base", "R") her "Well... I suppose I could wear it since you speak so highly of her." ("open", "closed", "base", "mid") her "Give me a moment to let me change." ("open", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: gen "Lara Croft looks stunning in it so I think you'd probably fill it just as well." ("base", xpos="far_left", ypos="head") her "Fill it?" ("angry", "squint", "base", "mid") gen "Fit it..." ("base", xpos="far_left", ypos="head") @@ -671,7 +671,7 @@ label her_reaction_equip_outfit(item): ####################### elif item == her_outfit_hslut: #Req 19 (top, panties, bra) gen "Put on this burlesque outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A burlesque outfit?" ("open", "base", "base", "mid", cheeks="blush") gen "Yes, this one to be exact..." ("base", xpos="far_left", ypos="head") her "*Hmm*... {w=0.4} Well, I must say it's quite creative..." ("angry", "narrow", "base", "down", cheeks="blush") @@ -693,13 +693,13 @@ label her_reaction_equip_outfit(item): ####################### elif item == her_outfit_msmarv: #Req 10 (top, stockings) gen "I've got this Cosplay outfit I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Cosplay, [name_genie_hermione]?" ("open", "squint", "base", "mid") gen "Miss Marvel... One of my favourites!" ("base", xpos="far_left", ypos="head") her "*Hmm*... Well I can certainly see why..." ("disgust", "narrow", "base", "down", cheeks="blush") her "Alright fine..." ("open", "closed", "worried", "mid", cheeks="blush") her "Just give me a moment to change." ("normal", "base", "base", "R", cheeks="blush") - elif her_whoring < 22: + elif states.her.level < 22: her "Cosplay, [name_genie_hermione]?" ("angry", "squint", "base", "mid", cheeks="blush") gen "Yes... A miss Marvel cosplay to be precise." ("base", xpos="far_left", ypos="head") her "I see..." ("soft", "narrow", "base", "down", cheeks="blush") @@ -724,7 +724,7 @@ label her_reaction_equip_outfit(item): ################# elif item == her_outfit_tifa: #Req 10 (top, bottom) gen "Could you put on this Tifa Cosplay outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "Cosplay, [name_genie_hermione]?" ("open", "squint", "base", "mid") gen "Indeed, a Tifa Lockheart cosplay!" ("base", xpos="far_left", ypos="head") her "*Hmm*... Can't say I know who that is..." ("normal", "squint", "base", "R") @@ -751,7 +751,7 @@ label her_reaction_equip_outfit(item): ################################## elif item == her_outfit_teddy: #Req 16 (top) gen "Could you put on this nightgown?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "This is lingerie..." ("angry", "base", "base", "down", cheeks="blush") gen "Indeed it is..." ("base", xpos="far_left", ypos="head") her "Isn't this what couples put on to look sexy for their partner?" ("mad", "narrow", "base", "mid", cheeks="blush") @@ -778,14 +778,14 @@ label her_reaction_equip_outfit(item): #################### elif item == her_outfit_nightie: #Req 13 (top) gen "Can you put on this nightie for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "This is a nightie is it?" ("clench", "narrow", "base", "down", cheeks="blush") gen "Yep... Completely ordinary nightgown." ("base", xpos="far_left", ypos="head") her "Nice try... I can see it's see-through." ("angry", "narrow", "base", "mid", cheeks="blush") gen "Oh... Isn't that what they're like normally?" ("base", xpos="far_left", ypos="head") her "*Sigh*... Whatever... Let's just get this over with..." ("normal", "closed", "annoyed", "mid", cheeks="blush") her "" ("normal", "base", "annoyed", "mid", cheeks="blush") - elif her_whoring < 22: + elif states.her.level < 22: her "A nightie you say?" ("open", "squint", "worried", "mid") gen "Indeed." ("base", xpos="far_left", ypos="head") her "*Hmm*... Well I suppose I could wear it..." ("normal", "base", "base", "down", cheeks="blush") @@ -803,7 +803,7 @@ label her_reaction_equip_outfit(item): ####################### elif item == her_outfit_latex_dress: #Req 19 (top) gen "Put on this latex dress for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A latex dress?" ("open", "squint", "base", "mid", cheeks="blush") her "I can't believe you actually want me to wear this..." ("soft", "narrow", "base", "R", cheeks="blush") her "Fine...{w=0.4} Here it goes..." ("open", "closed", "annoyed", "mid", cheeks="blush") @@ -840,7 +840,7 @@ label her_reaction_equip_outfit(item): ##################### elif item == her_outfit_egypt: #Req 19 (top) gen "Put on this Egyptian-themed outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Why am I suspecting this is not your ordinary--" ("open", "closed", "worried", "mid") gen "Here you go..." ("base", xpos="far_left", ypos="head") her "..." ("normal", "squint", "base", "down", cheeks="blush") @@ -866,7 +866,7 @@ label her_reaction_equip_outfit(item): ############## elif item == her_outfit_swimsuit: #Req 13 (top) gen "I've got this swimsuit I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A swimsuit..." ("open", "squint", "base", "mid") her "I guess I could put it on." ("soft", "narrow", "base", "R") her "Although, it's a bit weird as I assume I'm not going swimming..." ("disgust", "closed", "worried", "mid") @@ -888,7 +888,7 @@ label her_reaction_equip_outfit(item): ##################### elif item == her_outfit_bioshock: #Req 14 (no bra) gen "Can you put on this Elisabeth Cosplay outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 18: + if states.her.level < 18: her "A cosplay outfit?" ("open", "base", "base", "mid") gen "Yep... Ever heard of her?" ("base", xpos="far_left", ypos="head") her "*Hmm*... Can't say that I have." ("upset", "squint", "base", "mid") @@ -911,7 +911,7 @@ label her_reaction_equip_outfit(item): gen "So... Are you putting it on?" ("base", xpos="far_left", ypos="head") her "Oh...{w=0.4} Alright..." ("angry", "squint", "base", "mid") her "" ("base", "squint", "base", "mid") - elif her_whoring < 22: + elif states.her.level < 22: her "A cosplay..." ("open", "squint", "base", "mid") her "*Hmm*... I like the necklace." ("soft", "squint", "base", "L") gen "I like the corset!" ("base", xpos="far_left", ypos="head") @@ -943,7 +943,7 @@ label her_reaction_equip_outfit(item): ##################### elif item == her_outfit_yennefer: #Req 10 gen "I got this Yennefer Cosplay that I'd like you to put on." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Who?" ("normal", "squint", "base", "mid") gen "*Sigh*...{w=0.4} Yennefer... {w=0.4} From the witcher." ("base", xpos="far_left", ypos="head") her "Oh...{w=0.4} Her..." ("open", "squint", "base", "R") @@ -973,7 +973,7 @@ label her_reaction_equip_outfit(item): ## Ball Dress ## ################ elif item == her_outfit_ball: #Req 14 (no bra) (ball happens on lvl 15) - if not ball_quest.E4_complete: + if not states.her.ev.yule_ball.e4_complete: gen "Could you put on this dress?" ("base", xpos="far_left", ypos="head") her "*Hmm*... This looks expensive..." ("soft", "squint", "base", "down") gen "I had it custom made!" ("base", xpos="far_left", ypos="head") @@ -1007,7 +1007,7 @@ label her_reaction_equip_outfit(item): ################## elif item == her_outfit_bunny: #Req 19 (top, stockings) gen "I've got this bunny costume I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A bunny costume?" ("soft", "squint", "base", "mid") her "Where do you even get these ideas from?" ("angry", "narrow", "base", "stare") gen "In some junk mail, showing a mansion full of attractive and scantily clad women." ("base", xpos="far_left", ypos="head") @@ -1045,7 +1045,7 @@ label her_reaction_equip_outfit(item): ############################### elif item == her_outfit_poker: #Req 19 (panties, bra) gen "I spent some tokens getting this outfit for you..." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Whoa..." ("soft", "narrow", "base", "down", cheeks="blush") gen "I know... Quite intricate is it not?" ("base", xpos="far_left", ypos="head") her "You... you want me to wear this?" ("normal", "closed", "base", "mid", cheeks="blush") @@ -1071,12 +1071,12 @@ label her_reaction_equip_outfit(item): ################# elif item == her_outfit_maid: #Req 4 gen "Could you put on this maid's outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "You want me to clean your office now too?" ("clench", "narrow", "base", "mid") gen "Well... Let's just have you wear the outfit for now..." ("base", xpos="far_left", ypos="head") her "*Ugh*... Maid's outfits are so silly..." ("disgust", "narrow", "base", "mid") her "Well... Here it goes I guess..." ("disgust", "narrow", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "*Hmm*..." ("upset", "narrow", "base", "down") her "I presume your reason for wanting me to put it on isn't related to cleaning..." ("open", "narrow", "base", "mid", cheeks="blush") gen "I mean..." ("base", xpos="far_left", ypos="head") @@ -1124,7 +1124,7 @@ label her_reaction_equip_outfit(item): play sound "sounds/pageflipback.ogg" gen "(Genie fucks Hermione in the Ass...)" ("base", xpos="far_left", ypos="head") - if hg_anal.trigger: + if states.her.status.anal: gen "(*Heh-heh*... Why am I not doing this right now exactly?)" ("base", xpos="far_left", ypos="head") else: gen "(Whops... Spoilers..)" ("base", xpos="far_left", ypos="head") @@ -1164,7 +1164,7 @@ label her_reaction_equip_outfit(item): ########################### elif item == her_outfit_bikini2: #Req 16 (panties, bra) gen "Put on this bikini for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "What kind of bikini are we talking about?" ("open", "narrow", "base", "mid") gen "This leather one here." ("base", xpos="far_left", ypos="head") her "Right..." ("open", "narrow", "base", "down", cheeks="blush") @@ -1235,7 +1235,7 @@ label her_reaction_equip_outfit(item): ################### elif item == her_outfit_ribbon: #Req 18 (bra, panties) gen "I've got this thing that I'd like you to wrap for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Is it me?" ("open", "narrow", "base", "mid") gen "When did you become so good at guessing?" ("angry", xpos="far_left", ypos="head") her "It wasn't exactly hard..." ("annoyed", "narrow", "base", "mid") @@ -1257,7 +1257,7 @@ label her_reaction_equip_outfit(item): ###################### elif item == her_outfit_xmas: #Req 13 (top, bottom) gen "I'm feeling festive today so could you put on the Christmas outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A Christmas--" ("open", "squint", "base", "mid") her "Right..." ("soft", "narrow", "base", "down", cheeks="blush") gen "Specifically designed to jingle some balls." ("base", xpos="far_left", ypos="head") @@ -1284,7 +1284,7 @@ label her_reaction_equip_outfit(item): ##################### elif item == her_outfit_wrestling: #Req 3 (robe, bra, panties, misc) gen "I've got these wrestling robes for you to wear today." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Wrestling robes?" ("soft", "base", "base", "mid") her "Why do you want me to wear wrestling robes exactly?" ("disgust", "narrow", "base", "mid") gen "Wrestle obviously, let me just call for your opponent." ("base", xpos="far_left", ypos="head") @@ -1323,7 +1323,7 @@ label her_reaction_equip_outfit_fail(item): ###################### elif item == her_outfit_cheerleader_2: #Req 16 whoring (top) gen "Could you put on the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 10: + if states.her.level < 10: her "Cheerleader outfit?" ("upset", "base", "base", "mid") her "Sir, I am not some floosy cheerleader..." ("open", "closed", "base", "mid") her "Their attire shows way to much skin for my liking..." ("open", "squint", "base", "R") @@ -1343,7 +1343,7 @@ label her_reaction_equip_outfit_fail(item): ################# elif item == her_outfit_fishnet: #Req 19 (panties, top) gen "Could you please wear--" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "What? Oh, what's this?" ("soft", "squint", "base", "L") gen "It's a fishnet--" ("base", xpos="far_left", ypos="head") her "Oh, I get it!" ("open", "wide", "base", "mid") @@ -1353,7 +1353,7 @@ label her_reaction_equip_outfit_fail(item): her "I will go down to the lake later and try it out, if that's okay with you, [name_genie_hermione]." ("open", "base", "base", "R") gen "(...)" ("base", xpos="far_left", ypos="head") gen "(Wait, does she want to go fishing with it...?)" ("base", xpos="far_left", ypos="head") - elif her_whoring < 10: + elif states.her.level < 10: her "What on earth... This top is so revealing!" ("angry", "wide", "angry", "mid") gen "Yes, glad you noticed! Now if you don't mind just--" ("grin", xpos="far_left", ypos="head") her "I'm not going to wear it! You can see everything in this! My nipples would poke right through it!!!" ("scream", "base", "angry", "mid") @@ -1368,7 +1368,7 @@ label her_reaction_equip_outfit_fail(item): gen "They don't usually... I had it made custom just for you!" ("base", xpos="far_left", ypos="head") her "You did, did you?" ("open", "narrow", "base", "mid") gen "Yes, so if you could just--" ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Well, that's too bad because I won't be wearing it..." ("disgust", "base", "base", "R") else: her "This is practically fetish gear, [name_genie_hermione]..." ("soft", "happy", "base", "mid") @@ -1381,7 +1381,7 @@ label her_reaction_equip_outfit_fail(item): elif item == her_outfit_fishnet_onepiece: #Req 19 (top) gen "Could you put on the fishnet one-piece for me?" ("base", xpos="far_left", ypos="head") her "The what?" ("angry", "squint", "base", "mid") - if her_whoring < 4: + if states.her.level < 4: her "What on earth is this!?" ("scream", "base", "angry", "down") gen "Fishnet... One-piece?" ("base", xpos="far_left", ypos="head") her "Are you actually expecting me to wear this?" ("angry", "base", "angry", "mid") @@ -1392,7 +1392,7 @@ label her_reaction_equip_outfit_fail(item): her "Yes..." ("upset", "base", "angry", "mid") gen "So..." ("base", xpos="far_left", ypos="head") her "No!" ("angry", "base", "angry", "mid") - elif her_whoring < 10: + elif states.her.level < 10: her "Fishnet--" ("soft", "narrow", "base", "down") her "Sir, I am not wearing something so..." ("angry", "base", "base", "down") gen "Glamorous?" ("base", xpos="far_left", ypos="head") @@ -1413,7 +1413,7 @@ label her_reaction_equip_outfit_fail(item): ################## elif item == her_outfit_latex: #Req 19 (top) gen "Could you put on this latex outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 10: + if states.her.level < 10: her "Latex--" ("soft", "happy", "base", "mid") her "Sir, you can't be serious!" ("angry", "wide", "annoyed", "mid") gen "I'm not hearing a no." ("base", xpos="far_left", ypos="head") @@ -1421,7 +1421,7 @@ label her_reaction_equip_outfit_fail(item): her "No! I am not putting on this disgusting--" ("scream", "closed", "angry", "mid") gen "Alright, Alright... A simple no would've sufficed..." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "base", "angry", "mid") - elif her_whoring < 13: + elif states.her.level < 13: her "Latex?" ("open", "wide", "base", "mid") her "You actually expect me to wear something like this?" ("clench", "base", "annoyed", "mid") gen "I don't see why not. You're perfectly fine being naked." ("base", xpos="far_left", ypos="head") @@ -1443,7 +1443,7 @@ label her_reaction_equip_outfit_fail(item): ####################### elif item == her_outfit_slutty_schoolgirl: #Req 19 (top, Bottom) gen "Could you put on this school uniform for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Most certainly... The school uniform is a staple within this institution and I'll wear it with--" ("open", "closed", "base", "mid") gen "Here you go." ("base", xpos="far_left", ypos="head") her "Pride..." ("normal", "squint", "base", "down") @@ -1457,7 +1457,7 @@ label her_reaction_equip_outfit_fail(item): gen "..." ("angry", xpos="far_left", ypos="head") her "I shall not put on this... this--" ("angry", "base", "angry", "down") gen "Alright fine..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "Why would you..." ("clench", "squint", "base", "down") gen "What?" ("base", xpos="far_left", ypos="head") her "This is...{w=0.4} You've completely ruined our school uniform!" ("angry", "happyCl", "angry", "mid") @@ -1485,7 +1485,7 @@ label her_reaction_equip_outfit_fail(item): her "Sir, I'm not sure..." ("open", "squint", "base", "R") her "As a muggle-born, I usually only wear casual muggle wear when the school uniform doesn't suffice." ("normal", "squint", "base", "mid") gen "Perhaps it's time to widen your wardrobe selection then." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "I refuse!" ("open", "closed", "base", "mid") her "" ("normal", "base", "base", "mid") else: # < 10 @@ -1509,7 +1509,7 @@ label her_reaction_equip_outfit_fail(item): gen "Could you put on this archaeologist outfit for me?" ("base", xpos="far_left", ypos="head") her "A what?" ("soft", "squint", "base", "mid") gen "This one..." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "What is this?!" ("open", "wide", "base", "down") gen "An archaeologist outfit?" ("base", xpos="far_left", ypos="head") gen "Well at least it's an artist representation of what one might look like." ("base", xpos="far_left", ypos="head") @@ -1542,7 +1542,7 @@ label her_reaction_equip_outfit_fail(item): ####################### elif item == her_outfit_hslut: #Req 19 (top, panties, bra) gen "Put on this burlesque outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A what?" ("clench", "wide", "worried", "mid") gen "Burlesque outfit, it's--" ("base", xpos="far_left", ypos="head") her "What the hell is wrong with you?" ("mad", "base", "angry", "mid") @@ -1558,7 +1558,7 @@ label her_reaction_equip_outfit_fail(item): gen "Pretty clever, right?" ("grin", xpos="far_left", ypos="head") her "Sir, how could you ask me to wear something like this?!" ("angry", "happy", "angry", "R", cheeks="blush") her "I am not putting this on..." ("clench", "narrow", "annoyed", "mid", cheeks="blush") - elif her_whoring < 13: + elif states.her.level < 13: her "Burlesque--" ("clench", "base", "base", "mid", cheeks="blush") her "My word!" ("soft", "base", "annoyed", "down", cheeks="blush") gen "A piece of art is it not?" ("base", xpos="far_left", ypos="head") @@ -1589,7 +1589,7 @@ label her_reaction_equip_outfit_fail(item): ####################### elif item == her_outfit_msmarv: #Req 10 (top, stockings) gen "I've got this Cosplay outfit I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Cosplay, [name_genie_hermione]?" ("clench", "base", "worried", "mid") gen "Indeed... It's a Miss--" ("base", xpos="far_left", ypos="head") her "I am not wearing it..." ("open", "closed", "annoyed", "mid") @@ -1615,7 +1615,7 @@ label her_reaction_equip_outfit_fail(item): ################# elif item == her_outfit_tifa: #Req 10 (top, bottom) gen "Could you put on this Tifa Cosplay outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Cosplay, [name_genie_hermione]?" ("clench", "base", "worried", "mid") gen "Indeed!" ("base", xpos="far_left", ypos="head") her "I am not wearing it..." ("open", "closed", "annoyed", "mid") @@ -1645,13 +1645,13 @@ label her_reaction_equip_outfit_fail(item): ################################## elif item == her_outfit_teddy: #Req 16 (top) gen "Could you put on this nightgown?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "This... This is completely transparent!" ("clench", "squint", "annoyed", "down") gen "Oh come on, it's hardly even translucent." ("base", xpos="far_left", ypos="head") her "I can see the wrinkles on your hand through it..." ("disgust", "squint", "angry", "mid") gen "That's just the folds of the fabric." ("base", xpos="far_left", ypos="head") her "I am not wearing this..." ("angry", "base", "angry", "mid") - elif her_whoring < 13: + elif states.her.level < 13: her "*Ehm*... Isn't a nightgown supposed to..." ("disgust", "narrow", "base", "down") gen "Supposed to what, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "You know..." ("clench", "narrow", "base", "down") @@ -1677,7 +1677,7 @@ label her_reaction_equip_outfit_fail(item): #################### elif item == her_outfit_nightie: #Req 13 (top) gen "Can you put on this nightie for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "What is this?!" ("angry", "base", "annoyed", "down") gen "A nightie?" ("base", xpos="far_left", ypos="head") her "It's see-through!" ("scream", "squint", "base", "mid") @@ -1697,7 +1697,7 @@ label her_reaction_equip_outfit_fail(item): ####################### elif item == her_outfit_latex_dress: #Req 19 (top) gen "Put on this latex dress for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Latex dress?" ("angry", "squint", "base", "stare") her "I didn't know you could make a dress out of--" ("open", "squint", "worried", "mid") gen "Here you go." ("base", xpos="far_left", ypos="head") @@ -1705,7 +1705,7 @@ label her_reaction_equip_outfit_fail(item): her "What's wrong with you, [name_genie_hermione]?!" ("scream", "squint", "annoyed", "mid") gen "What do you--" ("base", xpos="far_left", ypos="head") her "I am not putting that thing on..." ("disgust", "happyCl", "base", "mid", cheeks="blush") - elif her_whoring < 13: + elif states.her.level < 13: her "Latex dress?" ("angry", "narrow", "base", "stare") gen "This one." ("base", xpos="far_left", ypos="head") her "This..." ("clench", "squint", "base", "down") @@ -1733,7 +1733,7 @@ label her_reaction_equip_outfit_fail(item): ##################### elif item == her_outfit_egypt: #Req 19 (top) gen "Put on this Egyptian-themed outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Egyptian-themed? What's that supposed to mean?" ("upset", "squint", "worried", "mid") gen "You know... The type of clothing that they'd wear in Egypt." ("base", xpos="far_left", ypos="head") gen "Well at least back when I was there." ("base", xpos="far_left", ypos="head") @@ -1768,7 +1768,7 @@ label her_reaction_equip_outfit_fail(item): ############## elif item == her_outfit_swimsuit: #Req 13 (top) gen "I've got this swimsuit I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A swimsuit?" ("angry", "happy", "base", "mid") her "Am I expected to go swimming with you?" ("clench", "squint", "base", "mid") gen "I just thought you'd look good in one." ("base", xpos="far_left", ypos="head") @@ -1812,7 +1812,7 @@ label her_reaction_equip_outfit_fail(item): ##################### elif item == her_outfit_yennefer: #Req 10 gen "I got this Yennefer Cosplay that I'd like you to put on." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Cosplay, [name_genie_hermione]?" ("clench", "base", "worried", "mid") gen "Yep, she's from the--" ("base", xpos="far_left", ypos="head") her "I am not wearing it..." ("open", "closed", "annoyed", "mid") @@ -1868,7 +1868,7 @@ label her_reaction_equip_outfit_fail(item): ################## elif item == her_outfit_bunny: #Req 19 (top, stockings) gen "I've got this bunny costume I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A what?!" ("disgust", "wide", "base", "mid") gen "A Bunny costume." ("base", xpos="far_left", ypos="head") her "Why would you even own such a thing?" ("open", "squint", "annoyed", "mid") @@ -1880,7 +1880,7 @@ label her_reaction_equip_outfit_fail(item): gen "...{w=0.4} Yes?" ("base", xpos="far_left", ypos="head") her "Well, that kind of humour is very much like him..." ("soft", "squint", "annoyed", "R") gen "(When in doubt, blame Snape!)" ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "*Err*... You're joking right?" ("clench", "narrow", "base", "mid") her "Surely you don't expect me to put on something so--" ("open", "closed", "annoyed", "mid") gen "*Hah-Ha*... Yeah, I'm a bit of a hop-timist sometimes!" ("base", xpos="far_left", ypos="head") @@ -1897,7 +1897,7 @@ label her_reaction_equip_outfit_fail(item): ## Reindeer Costume ## ###################### elif item == her_outfit_reindeer: #Req 19 (top, stockings) - if her_whoring < 4: + if states.her.level < 4: gen "Ever considered dressing up like a reindeer?" ("base", xpos="far_left", ypos="head") her "Why on earth would I consider doing something like that?" ("open", "base", "base", "mid") gen "No reason..." ("base", xpos="far_left", ypos="head") @@ -1925,7 +1925,7 @@ label her_reaction_equip_outfit_fail(item): ############################### elif item == her_outfit_poker: #Req 19 (panties, bra) gen "I spent some tokens getting this outfit for you..." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "And you're expecting me to just wear this thing because you've won it?" ("open", "narrow", "annoyed", "mid") her "(Does he think he can play me like he plays games?)" ("clench", "narrow", "base", "R") gen "But, I won... fair and square..." ("angry", xpos="far_left", ypos="head") @@ -1933,7 +1933,7 @@ label her_reaction_equip_outfit_fail(item): gen "Actually--" ("base", xpos="far_left", ypos="head") her "..." ("normal", "base", "annoyed", "mid") gen "Alright... Never mind then..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "And you winning it means that I'm supposed to wear it?" ("angry", "narrow", "annoyed", "mid") gen "Pretty sure that's how it works." ("base", xpos="far_left", ypos="head") her "*Hmm*... I don't think so..." ("disgust", "narrow", "annoyed", "R") @@ -1968,7 +1968,7 @@ label her_reaction_equip_outfit_fail(item): ######################### elif item == her_outfit_bikini3: #Req 17 (panties, bra) gen "Put on this bikini for me will you." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A bikini?!" ("shock", "wide", "base", "mid") gen "Wow, excited much?" ("grin", xpos="far_left", ypos="head") gen "Well then, here you go!" ("grin", xpos="far_left", ypos="head") @@ -1988,7 +1988,7 @@ label her_reaction_equip_outfit_fail(item): her "Then you probably need to get your eyes checked..." ("angry", "base", "angry", "mid") her "Because this bikini you got me would surely never be an appropriate--" ("angry", "base", "angry", "R") gen "Fine... Whatever..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "A bikini?" ("disgust", "squint", "base", "mid") gen "Indeed... This one right here..." ("base", xpos="far_left", ypos="head") her "..." ("normal", "wide", "base", "down") @@ -2018,7 +2018,7 @@ label her_reaction_equip_outfit_fail(item): ########################### elif item == her_outfit_bikini2: #Req 16 (panties, bra) gen "Put on this bikini for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "For you?!" ("disgust", "base", "annoyed", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") her "Sir, I'm not some doll for you to dress up!" ("scream", "closed", "annoyed", "mid") @@ -2040,7 +2040,7 @@ label her_reaction_equip_outfit_fail(item): gen "Spending a bit more is worth it if it supports your local community." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "squint", "base", "mid") gen "Stimulating the economy and all that stuff..." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "I'm not wearing it for the fact that it's a bikini... It's weird..." ("annoyed", "squint", "base", "R", cheeks="blush") gen "(*Heh-heh*... Stimulating...)" ("grin", xpos="far_left", ypos="head") gen "Anyway, so you're putting it on or what?" ("base", xpos="far_left", ypos="head") @@ -2055,7 +2055,7 @@ label her_reaction_equip_outfit_fail(item): ######################## elif item == her_outfit_bikini1: #Req 18 (panties, bra) gen "I've got this bikini for you to wear today." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A bikini?!" ("clench", "wide", "worried", "mid") gen "Yep, this one right here." ("base", xpos="far_left", ypos="head") her "..." ("angry", "squint", "base", "down") @@ -2069,7 +2069,7 @@ label her_reaction_equip_outfit_fail(item): her "There's barely any fabric to cover anything!" ("disgust", "base", "annoyed", "mid", cheeks="blush") gen "Very environmentally friendly isn't it?" ("base", xpos="far_left", ypos="head") her "I am not wearing this..." ("mad", "base", "annoyed", "mid", cheeks="blush") - elif her_whoring < 13: + elif states.her.level < 13: her "A bikini?" ("clench", "squint", "worried", "mid", cheeks="blush") gen "This one..." ("base", xpos="far_left", ypos="head") her "That... That one?!" ("angry", "squint", "base", "down", cheeks="blush") @@ -2114,7 +2114,7 @@ label her_reaction_equip_outfit_fail(item): ################################ elif item == her_outfit_pizza: #Req 19 (top, panties) gen "Put this pizza on." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Put it on, [name_genie_hermione]?" ("normal", "squint", "base", "mid") gen "Yes, put it on." ("base", xpos="far_left", ypos="head") her "Do you want me to heat it up?" ("open", "squint", "worried", "mid") @@ -2139,7 +2139,7 @@ label her_reaction_equip_outfit_fail(item): ################### elif item == her_outfit_ribbon: #Req 18 (bra, panties) gen "I've got this thing that I'd like you to wrap for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "You want me to wrap a gift for you?" ("annoyed", "squint", "base", "mid") gen "Yes..." ("base", xpos="far_left", ypos="head") her "I guess I could do that..." ("open", "closed", "base", "mid") @@ -2164,7 +2164,7 @@ label her_reaction_equip_outfit_fail(item): gen "I knew you'd come around sooner rather than--" ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "angry", "mid") gen "Ah... Sarcasm... My most loyal friend yet also my greatest enemy..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "And that gift is?" ("open", "narrow", "base", "mid") gen "It's you!" ("base", xpos="far_left", ypos="head") her "*Ugh*..." ("disgust", "narrow", "base", "R") @@ -2204,7 +2204,7 @@ label her_reaction_equip_outfit_fail(item): ###################### elif item == her_outfit_xmas: #Req 13 (top, bottom) gen "I'm feeling festive today so could you put on the Christmas outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "What is wrong with this outfit?!" ("clench", "squint", "worried", "down", cheeks="blush") her "Surely this isn't appropriate holiday attire!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") gen "I don't know... Might jingle a couple of balls..." ("base", xpos="far_left", ypos="head") @@ -2268,16 +2268,16 @@ label her_reaction_blacklist(item): return label her_reaction_fallback(item): - if her_whoring < get_character_requirement("hermione", "unequip top") and not "top" in hermione.blacklist and not item.type == "top": + if states.her.level < get_character_requirement("hermione", "unequip top") and not "top" in hermione.blacklist and not item.type == "top": $ hermione.equip(her_top_school1) - if her_whoring < get_character_requirement("hermione", "unequip bottom") and not "bottom" in hermione.blacklist and not item.type == "bottom": + if states.her.level < get_character_requirement("hermione", "unequip bottom") and not "bottom" in hermione.blacklist and not item.type == "bottom": $ hermione.equip(her_bottom_school1) - if her_whoring < get_character_requirement("hermione", "unequip bra") and not "bra" in hermione.blacklist and not item.type == "bra": + if states.her.level < get_character_requirement("hermione", "unequip bra") and not "bra" in hermione.blacklist and not item.type == "bra": $ hermione.equip(her_bra_base1) - if her_whoring < get_character_requirement("hermione", "unequip panties") and not "panties" in hermione.blacklist and not item.type == "panties": + if states.her.level < get_character_requirement("hermione", "unequip panties") and not "panties" in hermione.blacklist and not item.type == "panties": $ hermione.equip(her_panties_base1) her "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/hooch/common.rpy b/game/scripts/characters/hooch/common.rpy index 0e5c0ddf..1e7dedd0 100644 --- a/game/scripts/characters/hooch/common.rpy +++ b/game/scripts/characters/hooch/common.rpy @@ -5,8 +5,9 @@ label end_hooch_event: pause.5 $ hooch.xzoom = 1 - $ active_girl = None - $ hooch_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.hoo.busy = True $ hooch.wear("all") $ hooch.set_cum(None) diff --git a/game/scripts/characters/hooch/vars.rpy b/game/scripts/characters/hooch/vars.rpy index 87aa772c..b6c885fb 100644 --- a/game/scripts/characters/hooch/vars.rpy +++ b/game/scripts/characters/hooch/vars.rpy @@ -1,13 +1,13 @@ -# Stats -default hoo_tier = 1 -default hoo_whoring = 0 -default hoo_reputation = 0 -default hoo_mood = 0 +# General states -# Flags -default hooch_busy = False -default hooch_unlocked = False +# default states.hoo.tier = 1 +# default states.hoo.level = 0 +# default states.hoo.public_tier = 0 +# default states.hoo.public_level = 0 +# default states.hoo.mood = 0 +# default states.hoo.unlocked = False +default states.hoo.busy = False # Names default name_genie_hooch = "Sir Dumbledore" diff --git a/game/scripts/characters/luna/chibi.rpy b/game/scripts/characters/luna/chibi.rpy index 05241267..bf02caaa 100644 --- a/game/scripts/characters/luna/chibi.rpy +++ b/game/scripts/characters/luna/chibi.rpy @@ -95,7 +95,7 @@ label lun_chibi_scene(action="reset", xpos="mid", ypos="base"): call lun_chibi("hide") call gen_chibi("hide") - if current_room == "main_room": + if states.room == "main_room": $ desk_OBJ.hidden = True $ chair_left_OBJ.hidden = True @@ -115,6 +115,6 @@ label lun_chibi_scene(action="reset", xpos="mid", ypos="base"): screen luna_chibi_scene(img, pos=None): tag luna_chibi_scene - zorder desk_zorder + zorder states.desk_chibi_zorder add img pos pos diff --git a/game/scripts/characters/luna/chitchats.rpy b/game/scripts/characters/luna/chitchats.rpy index 496ee122..78b8ab4d 100644 --- a/game/scripts/characters/luna/chitchats.rpy +++ b/game/scripts/characters/luna/chitchats.rpy @@ -1,13 +1,13 @@ label luna_chitchat: - if luna_chatted: + if states.lun.chatted: return - $ luna_chatted = True + $ states.lun.chatted = True # Story related chitchats - if luna_intro_E2 and not spectrespecs_E3 and thequibbler_ITEM.owned < 1: + if states.lun.ev.intro.e2_complete and not states.lun.ev.spectrespecs.e3_complete and thequibbler_ITEM.owned < 1: lun "Have you acquired a copy of the magazine yet?" ("open", "base", "raised", "mid") gen "Not yet." ("base", xpos="far_left", ypos="head") lun "I'm sure somebody in the castle should have a copy." ("base", "base", "base", "R") @@ -17,7 +17,7 @@ label luna_chitchat: gen "(Guess I should have a gander around the castle and see if anyone can get me a copy....)" ("base", xpos="far_left", ypos="head") return - if spectrespecs_E2 and not spectrespecs_E3: + if states.lun.ev.spectrespecs.e2_complete and not states.lun.ev.spectrespecs.e3_complete: lun "Have you acquired a copy of the magazine yet?" ("open", "base", "raised", "mid") gen "I have!" ("base", xpos="far_left", ypos="head") lun "Great!" ("smile", "happyCl", "base", "mid") @@ -27,7 +27,7 @@ label luna_chitchat: lun "Then let me know what you think once you've read it." ("open", "base", "base", "mid") return - if lun_tier == 1: + if states.lun.tier == 1: random: block: @@ -76,7 +76,7 @@ label luna_chitchat: lun "[name_genie_luna], do you think wrackspurts could spread to animals?" ("open", "wide", "base", "mid") lun "No, don't say anything... I can't bear the thought of it!" ("open", "happyCl", "base", "mid") - elif lun_tier == 2: + elif states.lun.tier == 2: random: lun "[name_genie_luna], Is it supposed to feel really good when you rub your thighs together?" ("soft", "base", "raised", "mid") @@ -120,7 +120,7 @@ label luna_chitchat: lun "Can you?" ("angry", "wide", "base", "mid") lun "Please." ("angry", "wide", "base", "mid") - elif lun_tier == 3: + elif states.lun.tier == 3: random: lun "*Ehm*...{w=0.4} Hypothetically...{w=0.4} What would a person do if they got some wrackspurts stuck to their underwear?" ("open", "base", "base", "R") @@ -157,7 +157,7 @@ label luna_chitchat: lun "How come you're so skilled at unhooking a woman's bra, [name_genie_luna]?" ("open", "base", "base", "down") lun "Wait, what am I saying...{w=0.4} Of course the great Albus Dumbledore can do it with ease..." ("angry", "wide", "base", "mid") - # elif lun_tier == 4: + # elif states.lun.tier == 4: # lun "My fingers just aren't big enough to get rid of these spurts properly." # lun "I hope well be able to find even more ways to get rid of them." diff --git a/game/scripts/characters/luna/common.rpy b/game/scripts/characters/luna/common.rpy index eae69294..ee8a3420 100644 --- a/game/scripts/characters/luna/common.rpy +++ b/game/scripts/characters/luna/common.rpy @@ -51,8 +51,9 @@ label end_luna_event: call update_luna - $ active_girl = None - $ luna_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.lun.busy = True $ luna.wear("all") call music_block diff --git a/game/scripts/characters/luna/events/favors/inspect_her_body.rpy b/game/scripts/characters/luna/events/favors/inspect_her_body.rpy index 95389e19..d20cd171 100644 --- a/game/scripts/characters/luna/events/favors/inspect_her_body.rpy +++ b/game/scripts/characters/luna/events/favors/inspect_her_body.rpy @@ -27,13 +27,13 @@ label ll_pf_inspect: call gen_chibi("sit_behind_desk") # Increase level - if lun_tier == 2: - if lun_whoring < 6: - $ lun_whoring += 1 + if states.lun.tier == 2: + if states.lun.level < 6: + $ states.lun.level += 1 - elif lun_tier == 3: - if lun_whoring < 9: - $ lun_whoring += 1 + elif states.lun.tier == 3: + if states.lun.level < 9: + $ states.lun.level += 1 jump end_luna_event @@ -50,8 +50,8 @@ label ll_pf_inspect_T2_E1_intro: lun "Alright, just give me a--" ("grin", "base", "base", "down") gen "Wait...{w=0.4} Before you do that." ("base", xpos="far_left", ypos="head") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main nar "You take your cock out of your robes and begin stroking it..." call gen_chibi("jerk_off_behind_desk") @@ -962,7 +962,7 @@ label ll_pf_inspect_T2_E3_intro: call give_reward("You found a string of blonde hair!", gift=hair_luna_ITEM) gen "(Looks like she's left me a parting gift.)" ("base", xpos="far_left", ypos="head") - if snape_office_intro_E1: + if states.map.snape_office.intro_e2: gen "Maybe I could use this for one of my potions..." ("base", xpos="far_left", ypos="head") else: gen "Maybe I'll find some use for this later..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy b/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy index 02e280f6..6d2aebc6 100644 --- a/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy +++ b/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy @@ -40,13 +40,13 @@ label ll_pf_masturbate: # Reset Luna clothing. $ luna.equip(lun_outfit_last) - if lun_tier == 3: - if lun_whoring < 9: - $ lun_whoring += 1 + if states.lun.tier == 3: + if states.lun.level < 9: + $ states.lun.level += 1 - elif lun_tier == 4: - if lun_whoring < 16: - $ lun_whoring += 1 + elif states.lun.tier == 4: + if states.lun.level < 16: + $ states.lun.level += 1 jump end_luna_event @@ -1080,8 +1080,8 @@ label ll_pf_masturbate_T3_E4_repeat: call lun_walk(action="leave") - if lun_whoring < 24: - $ lun_whoring = 24 + if states.lun.level < 24: + $ states.lun.level = 24 call end_of_content jump ll_pf_masturbate.end diff --git a/game/scripts/characters/luna/events/favors/talk_to_me.rpy b/game/scripts/characters/luna/events/favors/talk_to_me.rpy index fce82ee7..8795b31d 100644 --- a/game/scripts/characters/luna/events/favors/talk_to_me.rpy +++ b/game/scripts/characters/luna/events/favors/talk_to_me.rpy @@ -26,17 +26,17 @@ label ll_pf_talk: call gen_chibi("sit_behind_desk") # Increase level - if lun_tier == 1: - if lun_whoring < 3: - $ lun_whoring += 1 + if states.lun.tier == 1: + if states.lun.level < 3: + $ states.lun.level += 1 - elif lun_tier == 2: - if lun_whoring < 6: - $ lun_whoring += 1 + elif states.lun.tier == 2: + if states.lun.level < 6: + $ states.lun.level += 1 - elif lun_tier == 3: - if lun_whoring < 9: - $ lun_whoring += 1 + elif states.lun.tier == 3: + if states.lun.level < 9: + $ states.lun.level += 1 jump end_luna_event @@ -44,7 +44,7 @@ label ll_pf_talk: label ll_pf_talk_T1_E1_intro: - $ genie_masturbating = False + $ states.gen.masturbating = False gen "So... About the infestation..." ("base", xpos="far_left", ypos="head") lun "*Sniff* *Sniff*" ("soft", "narrow", "base", "L") @@ -95,8 +95,8 @@ label ll_pf_talk_T1_E1_intro: menu: "-Whip it out-": - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main nar "You reach under the desk and grab your cock..." @@ -112,7 +112,7 @@ label ll_pf_talk_T1_E1_intro: lun "I told her about my own experiences...." ("open", "base", "base", "down") lun "But they must've really gotten to her, [name_genie_luna]...{w=0.4} She barely paid me any attention..." ("angry", "closed", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "You have my full attention, girl...{w=0.4} Tell me more!" ("angry", xpos="far_left", ypos="head") else: gen "(Sounds like the opposite to me...)" ("base", xpos="far_left", ypos="head") @@ -123,7 +123,7 @@ label ll_pf_talk_T1_E1_intro: lun "Not just that!" ("angry", "base", "base", "mid") lun "It's Their auras, [name_genie_luna]!" ("clench", "base", "base", "stare") - if genie_masturbating: + if states.gen.masturbating: gen "*Ugh*... What? Auras?" ("angry", xpos="far_left", ypos="head") gen "(Please don't make this weird, girl...)" ("angry", xpos="far_left", ypos="head") else: @@ -132,7 +132,7 @@ label ll_pf_talk_T1_E1_intro: lun "They're far too red!" ("angry", "wide", "base", "mid") lun "According to my father's bestiaries, they should only ever produce a grey tinge to an aura..." ("mad", "base", "raised", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "Yes, yes... But what about the girl that made those weird noises? Tell me about her!" ("angry", xpos="far_left", ypos="head") lun "Well, I never saw her, [name_genie_luna]." ("angry", "closed", "base", "mid") lun "I just observed her aura. It was so fascinating!" ("soft", "closed", "base", "mid") @@ -143,7 +143,7 @@ label ll_pf_talk_T1_E1_intro: lun "[name_genie_luna], we need to warn people... Before it's too late!" ("angry", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "(...)" ("base", xpos="far_left", ypos="head") lun "[name_genie_luna]?" ("upset", "base", "raised", "mid") gen "(This isn't working...)" ("base", xpos="far_left", ypos="head") @@ -211,8 +211,8 @@ label ll_pf_talk_T1_E2_intro: gen "Now... You just stand there for a bit." ("base", xpos="far_left", ypos="head") lun "Oh... Of course [name_genie_luna]!" ("soft", "narrow", "base", "stare") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main nar "You pull out your cock and start stroking it." @@ -355,8 +355,8 @@ label ll_pf_talk_T1_E3_intro: gen "Excellent... Just need to take out my wand and then we can begin..." ("base", xpos="far_left", ypos="head") gen "(Let's see if we can produce some real magic this time...)" ("base", xpos="far_left", ypos="head") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main nar "You take your cock out and begin stroking it..." call gen_chibi("jerk_off_behind_desk") @@ -544,8 +544,8 @@ label ll_pf_talk_T1_E4_repeat: gen "It just started happening! Come here quick!" ("angry", xpos="far_left", ypos="head") lun "On it!" ("mad", "base", "base", "mid") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main call gen_chibi("jerk_off_behind_desk") @@ -651,8 +651,8 @@ label ll_pf_talk_T2_E1_repeat: lun "Oh... Okay then..." ("soft", "base", "base", "mid") gen "One moment please." ("base", xpos="far_left", ypos="head") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main nar "You pull out your cock and start stroking it." @@ -753,8 +753,8 @@ label ll_pf_talk_T3_E1_repeat: gen "Just stand there for a bit." ("base", xpos="far_left", ypos="head") lun "Oh... Okay, [name_genie_luna]." ("base", "happyCl", "base", "mid") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main nar "You pull out your cock and start stroking it." diff --git a/game/scripts/characters/luna/events/intro.rpy b/game/scripts/characters/luna/events/intro.rpy index adc2860a..e0731246 100644 --- a/game/scripts/characters/luna/events/intro.rpy +++ b/game/scripts/characters/luna/events/intro.rpy @@ -7,7 +7,7 @@ label luna_intro_E1: # Setup - $ luna_intro_E1 = True + $ states.lun.ev.intro.e1_complete = True $ name_luna_genie = "???" $ d_flag_01 = False $ d_flag_02 = [False, False, False, False, False] @@ -503,7 +503,7 @@ label luna_intro_E2: menu: "-Invite them in-": - $ luna_intro_E2 = True + $ states.lun.ev.intro.e2_complete = True gen "Enter!" ("grin", xpos="far_left", ypos="head") "\"I'm busy!\"": @@ -538,19 +538,19 @@ label luna_intro_E2: call gen_chibi("jerk_off_behind_desk") with d3 nar "You drop down your pants and start jerking off." - $ genie_masturbating = True + $ states.gen.masturbating = True "-Behave-": - $ genie_masturbating = False + $ states.gen.masturbating = False - if genie_masturbating: + if states.gen.masturbating: gen "Miss-- *Ah*... Love-good. What can I do you for?" ("grin", xpos="far_left", ypos="head") else: gen "Miss Lovegood... What can I help you with?" ("base", xpos="far_left", ypos="head") lun "*Hmm*..." ("soft", "narrow", "raised", "downL") - if genie_masturbating: + if states.gen.masturbating: nar "*fap-fap-fap*!" gen "(Look at the tits on this girl, such a lovely profile!)" ("angry", xpos="far_left", ypos="head") gen "(And that lush blonde hair! I'd love to wrap it around my dick!)" ("grin", xpos="far_left", ypos="head") @@ -561,14 +561,14 @@ label luna_intro_E2: call lun_chibi(flip=True) nar "Luna absent-mindedly starts looking around your office." - if not genie_masturbating: + if not states.gen.masturbating: gen "*Uhh* Hello?" ("base", xpos="far_left", ypos="head") call lun_walk("mid", "base") gen "(What's wrong with this girl?)" ("base", xpos="far_left", ypos="head") - if genie_masturbating: + if states.gen.masturbating: gen "(Whatever. As long as I can beat my meat in peace.)" ("grin", xpos="far_left", ypos="head") nar "*fap-fap-fap*" @@ -589,7 +589,7 @@ label luna_intro_E2: nar "Luna turns around and bends down slightly, examining the floor tiles, giving you an eyeful of her round butt without realising." - if genie_masturbating: + if states.gen.masturbating: $ camera.set(zoom=1.1, pos=(-1055, -600), t=2.0) gen "(Holy shit that ass!)" nar "{size=+3}*{b}fap{/b}-fap-{b}fap{/b}*{/size}" @@ -613,7 +613,7 @@ label luna_intro_E2: with fade - if genie_masturbating: + if states.gen.masturbating: gen "(Yes, yes! You little slut! Here it comes!)" ("angry", xpos="far_left", ypos="head") call gen_chibi("cum_behind_desk") call cum_block @@ -640,7 +640,7 @@ label luna_intro_E2: lun "Why, I've never seen anything like this before, and never so clear..." ("soft", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "There's more where that came from." ("grin", xpos="far_left", ypos="head") lun "So you can see {i}them{/i} too Professor?" ("angry", "wide", "base", "mid") gen "See what?" ("base", xpos="far_left", ypos="head") @@ -753,7 +753,7 @@ label luna_intro_E2: stop music fadeout 1.0 - $ luna_unlocked = True + $ states.lun.unlocked = True $ achievements.unlock("unlocklun", True) call popup("{size=-4}You can now summon Luna into your office.{/size}", "Character unlocked!", "interface/icons/head/luna.webp") diff --git a/game/scripts/characters/luna/events/spectrespecs/spectrespecs.rpy b/game/scripts/characters/luna/events/spectrespecs/spectrespecs.rpy index 1822e4f7..ef426e2a 100644 --- a/game/scripts/characters/luna/events/spectrespecs/spectrespecs.rpy +++ b/game/scripts/characters/luna/events/spectrespecs/spectrespecs.rpy @@ -6,7 +6,7 @@ label spectrespecs_E1: - $ spectrespecs_E1 = True + $ states.lun.ev.spectrespecs.e1_complete = True $ ll_event_pause = 1 gen "*Hmm* let's see...{w=0.3} Witch weekly...{w=0.3} The Daily Prophet...{w=0.3} Now where is The Quibbler?" ("base", xpos="far_left", ypos="head") @@ -52,7 +52,7 @@ label spectrespecs_E1: return label spectrespecs_E2_reminder: - $ quibbler_stocked = True + $ states.lun.ev.quibbler.stocked = True call music_block gen "(The Twins promised to get me a copy of that {i}Quiver{/i} tabloid, I should probably talk to them.)" ("base", xpos="far_left", ypos="head") @@ -60,7 +60,7 @@ label spectrespecs_E2_reminder: label spectrespecs_E2: - $ spectrespecs_E2 = True + $ states.lun.ev.spectrespecs.e2_complete = True gen "Boys..." ("base", xpos="far_left", ypos="head") twi "Professor Dumbledore, sir!" @@ -76,7 +76,7 @@ label spectrespecs_E2: label spectrespecs_E3: - $ spectrespecs_E3 = True + $ states.lun.ev.spectrespecs.e3_complete = True call book_start @@ -110,7 +110,7 @@ label spectrespecs_E3: label spectrespecs_E4: - $ spectrespecs_E4 = True + $ states.lun.ev.spectrespecs.e4_complete = True gen "Alright, so I read that ridiculous magazine but I still don't know what the hell those spratters are supposed to be..." ("base", xpos="far_left", ypos="head") lun "My daddy's magazine is not ridiculous, sir..." ("angry", "base", "annoyed", "mid") @@ -368,8 +368,8 @@ label spectrespecs_E4: call popup("You have unlocked the ability to buy sexual favours from Luna.", "Congratulations!", "interface/icons/head/luna.webp") - $ luna_wardrobe_unlocked = True - $ luna_favors = True + $ states.lun.wardrobe_unlocked = True + $ states.lun.favors_unlocked = True call gen_chibi("sit_behind_desk") diff --git a/game/scripts/characters/luna/gifts.rpy b/game/scripts/characters/luna/gifts.rpy index 156772e9..bc316cee 100644 --- a/game/scripts/characters/luna/gifts.rpy +++ b/game/scripts/characters/luna/gifts.rpy @@ -5,7 +5,7 @@ label give_lun_gift(gift_item): with d5 lun "" (xpos="mid",ypos="base",trans=d5) - $ gave_luna_gift = True + $ states.lun.gifted = True if gift_item == lollipop_ITEM: lun "A lollipop?" @@ -126,10 +126,10 @@ label lun_mood(value=0): else: "Luna's mood hasn't changed." - $ was_negative = lun_mood > 0 - $ lun_mood = max(min(lun_mood+value, 100), 0) + $ was_negative = states.lun.mood > 0 + $ states.lun.mood = max(min(states.lun.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, lun_mood, value) + call describe_mood_after_gift(was_negative, states.lun.mood, value) hide screen blktone return diff --git a/game/scripts/characters/luna/summon.rpy b/game/scripts/characters/luna/summon.rpy index 64e309fa..74981ae9 100644 --- a/game/scripts/characters/luna/summon.rpy +++ b/game/scripts/characters/luna/summon.rpy @@ -1,10 +1,9 @@ label summon_luna: - $ active_girl = "luna" - $ last_character = "luna" + $ states.active_girl = "luna" - $ luna_busy = True + $ states.lun.busy = True call update_luna call update_lun_tier @@ -18,7 +17,7 @@ label summon_luna: lun "[name_genie_luna]..." ("base", "base", "base", "mid", xpos="base", ypos="base") - if spectrespecs_E3 and not spectrespecs_E4: + if states.lun.ev.spectrespecs.e3_complete and not states.lun.ev.spectrespecs.e4_complete: jump spectrespecs_E4 label luna_requests: @@ -31,7 +30,7 @@ label summon_luna: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if lun_mood > 0: + if states.lun.mood > 0: lun "I have nothing to say to you sir..." jump luna_requests @@ -39,20 +38,20 @@ label summon_luna: jump luna_talk # Personal Favors - "-Sexual Favours-" (icon="interface/icons/small/condom.webp") if luna_favors: + "-Sexual Favours-" (icon="interface/icons/small/condom.webp") if states.lun.favors_unlocked: jump luna_favor_menu - "-Sexual Favours-" (style="disabled") if not luna_favors: + "-Sexual Favours-" (style="disabled") if not states.lun.favors_unlocked: nar "You haven't unlocked this feature yet." jump luna_requests # Wardrobe - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if luna_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.lun.wardrobe_unlocked: hide luna_main with d1 call wardrobe jump luna_requests - "-Wardrobe-" (style="disabled") if not luna_wardrobe_unlocked: + "-Wardrobe-" (style="disabled") if not states.lun.wardrobe_unlocked: nar "You haven't unlocked this feature yet." jump luna_requests @@ -69,12 +68,12 @@ label summon_luna: stop music fadeout 3.0 if game.daytime: - if lun_mood >= 3: + if states.lun.mood >= 3: lun "Good day..." else: lun "Sure thing, [name_genie_luna]. I will head to class." else: - if lun_mood >= 3: + if states.lun.mood >= 3: lun "Good night..." else: lun "Sure thing, good night [name_genie_luna]." @@ -82,16 +81,16 @@ label summon_luna: jump end_luna_event label update_lun_tier: - if lun_tier == 1 and lun_whoring >= 3: + if states.lun.tier == 1 and states.lun.level >= 3: if not ll_pf_talk.is_event_complete(1, 3): return $ lun_level_up = 1 - elif lun_tier == 2 and lun_whoring >= 6: + elif states.lun.tier == 2 and states.lun.level >= 6: if not ll_pf_inspect.is_event_complete(2, 3): return $ lun_level_up = 2 - elif lun_tier == 3 and lun_whoring >= 9: + elif states.lun.tier == 3 and states.lun.level >= 9: # T4 NOT AVAILABLE return @@ -99,7 +98,7 @@ label update_lun_tier: return $ lun_level_up = 3 - elif lun_tier == 4 and lun_whoring >= 13: + elif states.lun.tier == 4 and states.lun.level >= 13: # T5 NOT AVAILABLE return @@ -119,12 +118,12 @@ label luna_level_up(tier=None): gen "(Getting the spurts out of two people at the same time...)" ("base", xpos="far_left", ypos="head") gen "(Now that's going to require some careful timing!)" ("grin", xpos="far_left", ypos="head") - $ lun_tier = tier+1 + $ states.lun.tier = tier+1 $ lun_level_up = None - $ lun_mood = 0 + $ states.lun.mood = 0 pause.5 - nar "Luna has reached {i}favour tier{/i} [lun_tier]!" + nar "Luna has reached {i}favour tier{/i} [states.lun.tier]!" call update_lun_tier @@ -148,7 +147,7 @@ label luna_favor_menu: for i in ll_favor_list: if i in []: # Not in the game yet. menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > lun_tier: + elif i.start_tier > states.lun.tier: menu_choices.append(gui.menu_item("-Not Ready-", "vague", style="disabled")) else: menu_choices.append(i.get_menu_item()) @@ -177,16 +176,16 @@ label luna_favor_menu: label update_luna_favors: python: for i in ll_favor_list: - i.tier = lun_tier + i.tier = states.lun.tier return label luna_talk: # General. menu: - "-Ask her to cheer for Ravenclaw-" if cho_quid.gryffindor_failed and not cho_quid.E11_complete: + "-Ask her to cheer for Ravenclaw-" if states.cho.ev.quidditch.gryffindor_failed and not states.cho.ev.quidditch.e11_complete: jump cho_quid_E11 - "-Address me only as-" if spectrespecs_E4: + "-Address me only as-" if states.lun.ev.spectrespecs.e4_complete: menu: "-Sir-": $ name_genie_luna = "Sir" @@ -196,18 +195,18 @@ label luna_talk: $ name_genie_luna = "Professor" "-Partner-": $ name_genie_luna = "Partner" - "-Master-" if lun_tier >= 2: + "-Master-" if states.lun.tier >= 2: $ name_genie_luna = "Master" - "-Daddy-" if lun_tier >= 2: + "-Daddy-" if states.lun.tier >= 2: $ name_genie_luna = "Daddy" - "-Custom Input-" if lun_tier >= 3: + "-Custom Input-" if states.lun.tier >= 3: $ name_genie_luna = renpy.input("(Please enter the name.)", name_genie_luna, ALLOWED_CHARACTERS, length=14).strip() or "Professor" "-Never mind-": jump luna_talk jump genie_luna_change - "-From now on I will refer to you as-" if spectrespecs_E4: + "-From now on I will refer to you as-" if states.lun.ev.spectrespecs.e4_complete: menu: "-Miss Lovegood-": $ name_luna_genie = "Miss Lovegood" @@ -219,13 +218,13 @@ label luna_talk: $ name_luna_genie = "Girl" "-Partner-": $ name_luna_genie = "Partner" - "-Bimbo-" if lun_tier >= 2: + "-Bimbo-" if states.lun.tier >= 2: $ name_luna_genie = "Bimbo" - "-Minx-" if lun_tier >= 3: + "-Minx-" if states.lun.tier >= 3: $ name_luna_genie = "Minx" - "-Cumslut-" if lun_tier >= 5: + "-Cumslut-" if states.lun.tier >= 5: $ name_luna_genie = "Cumslut" - "-Custom Input-" if lun_tier >= 3: + "-Custom Input-" if states.lun.tier >= 3: $ name_luna_genie = renpy.input("(Please enter the name.)", name_luna_genie, ALLOWED_CHARACTERS, length=14).strip() or "Miss Lovegood" "-Never mind-": jump luna_talk @@ -254,7 +253,7 @@ label genie_luna_change: elif name_genie_luna == "Master": lun "[name_genie_luna]?" ("soft", "narrow", "base", "mid") lun "What are you a [name_genie_luna] of exactly?" ("angry", "base", "base", "mid") - if lun_tier >= 3: + if states.lun.tier >= 3: gen "A master baiter!" ("grin", xpos="far_left", ypos="head") lun "Oh, right!" ("smile", "base", "base", "mid") lun "Thank you for allowing me to be your pupil, [name_genie_luna]." ("base", "base", "base", "mid") diff --git a/game/scripts/characters/luna/vars.rpy b/game/scripts/characters/luna/vars.rpy index 7a035221..af8602cd 100644 --- a/game/scripts/characters/luna/vars.rpy +++ b/game/scripts/characters/luna/vars.rpy @@ -1,31 +1,34 @@ -# Stats -default lun_tier = 1 -default lun_whoring = 0 -default lun_mood = 0 -default lun_jerk_off_counter = 0 +# General states + +default states.lun.tier = 1 +default states.lun.level = 0 +default states.lun.public_tier = 0 +default states.lun.public_level = 0 +default states.lun.mood = 0 +default states.lun.unlocked = False +default states.lun.busy = False +default states.lun.gifted = False +default states.lun.favors_unlocked = False +default states.lun.requests_unlocked = False +default states.lun.wardrobe_unlocked = False +default states.lun.wardrobe_scheduling = True +default states.lun.chatted = False +default states.lun.map_location = "room_r" + +# Event flags + +default states.lun.ev.intro.e1_complete = False +default states.lun.ev.intro.e2_complete = False +default states.lun.ev.spectrespecs.e1_complete = False +default states.lun.ev.spectrespecs.e2_complete = False +default states.lun.ev.spectrespecs.e3_complete = False +default states.lun.ev.spectrespecs.e4_complete = False +default states.lun.ev.quibbler.stocked = False # Flags -default luna_busy = False -default luna_unlocked = False -default luna_favors = False -default luna_wardrobe_unlocked = False -default luna_outfits_schedule = True default lun_level_up = None -# Intro -default luna_intro_E1 = False -default luna_intro_E2 = False - -# Spectrespecs event -default spectrespecs_E1 = False -default spectrespecs_E2 = False -default spectrespecs_E3 = False -default spectrespecs_E4 = False -default quibbler_stocked = False - # Names default name_genie_luna = "Professor" default name_luna_genie = "Miss Lovegood" - -default gave_luna_gift = False diff --git a/game/scripts/characters/luna/wardrobe_reactions.rpy b/game/scripts/characters/luna/wardrobe_reactions.rpy index c0cfe824..af7bc96b 100644 --- a/game/scripts/characters/luna/wardrobe_reactions.rpy +++ b/game/scripts/characters/luna/wardrobe_reactions.rpy @@ -53,7 +53,7 @@ label lun_reaction_touch(what): if what == "head": $ mouse_headpat() - if lun_tier == 5: + if states.lun.tier == 5: random: lun "*Mmm*..." ("soft", "closed", "base", "mid", cheeks="blush") lun "*Hmm*... I could've sworn you said that we should focus on more sensitive areas..." ("base", "narrow", "base", "down", cheeks="blush") @@ -62,7 +62,7 @@ label lun_reaction_touch(what): lun "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") lun "Sorry, you just took me by surprise..." ("base", "narrow", "base", "mid", cheeks="blush") - elif lun_tier == 4: + elif states.lun.tier == 4: random: block: lun "*Mmm*... That's strange..." ("annoyed", "base", "base", "mid") @@ -74,12 +74,12 @@ label lun_reaction_touch(what): lun "Thank you, [name_genie_luna]..." ("soft", "narrow", "base", "downR", cheeks="blush") lun "I feel like I get a big boost of happiness when you pat me for some reason..." ("base", "narrow", "base", "mid", cheeks="blush") lun "Maybe that's why animals enjoy it so much too..." ("grin", "base", "base", "mid", cheeks="blush") - elif lun_tier == 3: + elif states.lun.tier == 3: random: lun "Is my head another one of those sensitive areas you spoke about?" ("open", "base", "raised", "mid") lun "I don't think there's anywhere for me to release the Wrackspurts from up there, but thank you anyway..." ("base", "narrow", "base", "mid") lun "Are you sure this technique is working [name_genie_luna]?" ("annoyed", "base", "raised", "mid") - elif lun_tier == 2: + elif states.lun.tier == 2: random: lun "*Hmm*... I'm not getting any of that tingly sensation up there but it does feel kind of nice..." ("soft", "base", "base", "up") block: @@ -104,7 +104,7 @@ label lun_reaction_touch(what): elif what == "breasts": $ mouse_heart() - if lun_tier == 5: + if states.lun.tier == 5: random: lun "Don't forget to kiss the other one too! She gets awfully jealous if her sister gets all the attention." ("base", "base", "base", "down", cheeks="blush") lun "*Ah*... Thank you for helping me [name_genie_luna]..." ("soft", "closed", "base", "mid", cheeks="blush") @@ -114,7 +114,7 @@ label lun_reaction_touch(what): lun "*Huh*?" ("open", "base", "base", "mid") lun "Oh... Yes, those pesky little things..." ("soft", "base", "base", "downR", cheeks="blush") - elif lun_tier == 4: + elif states.lun.tier == 4: random: lun "Come... Come out already..." ("soft", "closed", "base", "mid", cheeks="blush") block: @@ -126,7 +126,7 @@ label lun_reaction_touch(what): lun "I could never have imagined that getting rid of those pest would end up being so..." ("base", "closed", "base", "mid", cheeks="blush") lun "Enjoyable..." ("grin", "narrow", "base", "mid", cheeks="blush") - elif lun_tier == 3: + elif states.lun.tier == 3: random: block: lun "You really were right about these things being sensitive..." ("open", "base", "base", "down") @@ -139,7 +139,7 @@ label lun_reaction_touch(what): lun "..." ("soft", "base", "base", "mid", cheeks="blush") gen "How did that feel?" ("base", xpos="far_left", ypos="head") lun "*Ehm*... It felt very nice [name_genie_luna]..." ("open", "narrow", "base", "downR", cheeks="blush") - #elif lun_tier == 2: This would only be useful if there was another check if you've done event 2 to have it show before T3 + #elif states.lun.tier == 2: This would only be useful if there was another check if you've done event 2 to have it show before T3 else: # T1 and T2 random: lun "Are you looking for the Himalayan Lesser Spotted Breast Imp? It's okay [name_genie_luna], it's not their migration season." ("grin", "base", "base", "down") @@ -151,17 +151,17 @@ label lun_reaction_touch(what): elif what == "vagina": $ mouse_heart() - if lun_tier == 5: + if states.lun.tier == 5: random: lun "*Ah*... S-so good... How did I ever live without this?" ("normal", "closed", "base", "mid", cheeks="blush") lun "*Mmm*... Nasty... Wrackspurts..." ("base", "closed", "base", "mid", cheeks="blush") lun "Please... Help me get rid of them again..." ("crooked_smile", "narrow", "base", "mid", cheeks="blush") - elif lun_tier == 4: + elif states.lun.tier == 4: random: lun "Whoa... I didn't think just using your mouth could produce such a strong response." ("open", "wide", "base", "mid", cheeks="blush") lun "*Ah*... It's almost like a ripple of water... Except running through my body..." ("soft", "closed", "base", "mid", cheeks="blush") lun "*Mmm*... Those nasty Wrackspurts... I can feel them getting agitated already..." ("grin", "narrow", "base", "downR", cheeks="blush") - elif lun_tier == 3: + elif states.lun.tier == 3: random: lun "*Ohhhh*... This is going to be my new happy memory when I have to summon a patronus!" ("base", "narrow", "base", "down", cheeks="blush") lun "Weren't I supposed to be learning how to do this myself?" ("angry", "base", "raised", "mid") @@ -169,7 +169,7 @@ label lun_reaction_touch(what): lun "*Oohhh*... Why are your lips cold?" ("clench", "wide", "base", "mid") gen "Why are your lips cold?" ("base", xpos="far_left", ypos="head") lun "*Huh*?" ("upset", "base", "raised", "mid") - # elif lun_tier == 2:This would only be useful if there was another check if you've done event 2 to have it show before T3 + # elif states.lun.tier == 2:This would only be useful if there was another check if you've done event 2 to have it show before T3 else: # T1 and T2 random: block: @@ -221,7 +221,7 @@ label lun_reaction_equip_fail(item): gen "What?" ("base", xpos="far_left", ypos="head") lun "There's a weird aura surrounding this piece of garment." ("open", "closed", "base", "mid") lun "It seems to be affecting the Wrackspurts, as if they're multiplying!" ("disgust", "base", "base", "mid") - if lun_whoring < 4: + if states.lun.level < 4: lun "I'm sorry [name_genie_luna] but I can't wear that... Not until we find a way of dealing with them." ("open", "closed", "base", "mid") else: lun "I'm sorry [name_genie_luna] but I can't wear that... Not until we find a better strategy of dealing with them." ("open", "closed", "base", "mid") @@ -232,7 +232,7 @@ label lun_reaction_equip_fail(item): label lun_reaction_unequip(item): ### Example # if item.type == "panties": - # if lun_whoring > 15: + # if states.lun.level > 15: # lun "You want to see my snatch?" # lun "You got it [name_genie_hermione]!" # @@ -271,7 +271,7 @@ label lun_reaction_equip_outfit(item): if item == lun_outfit_default: #Req 0 gen "Can you put on your regular school uniform for me?" ("base", xpos="far_left", ypos="head") gen "Nice and proper please." ("base", xpos="far_left", ypos="head") - if lun_whoring < 4: + if states.lun.level < 4: gen "No wands in your hair... No weird stuff..." ("base", xpos="far_left", ypos="head") lun "Weird stuff, [name_genie_luna]?" ("annoyed", "narrow", "base", "mid") gen "*Err*... Nothing extra outside the regular uniform I mean..." ("base", xpos="far_left", ypos="head") @@ -283,7 +283,7 @@ label lun_reaction_equip_outfit(item): gen "I guess?" ("base", xpos="far_left", ypos="head") lun "Okay, I'll keep them on then." ("grin", "happyCl", "base", "mid") gen "(Wait... Taking them off was a real option?)" ("base", xpos="far_left", ypos="head") - elif lun_whoring < 7: + elif states.lun.level < 7: lun "Thank you [name_genie_luna]." ("grin", "base", "base", "mid") gen "For what?" ("base", xpos="far_left", ypos="head") lun "Keeping me safe from the wrackspurts!" ("grin", "wink", "base", "mid") @@ -575,7 +575,7 @@ label lun_reaction_equip_outfit_fail(item): lun "This doesn't have a bra!" ("angry", "wide", "base", "mid") gen "So?" ("base", xpos="far_left", ypos="head") lun "Surely I shouldn't be standing here without a bra on?" ("mad", "narrow", "base", "mid") - if lun_whoring < 4: + if states.lun.level < 4: gen "(Maybe I've gone to far...)" ("base", xpos="far_left", ypos="head") lun "The wrackpurts would most certainly get to me!" ("angry", "closed", "base", "mid") gen "Right..." ("base", xpos="far_left", ypos="head") @@ -594,7 +594,7 @@ label lun_reaction_equip_outfit_fail(item): elif item == lun_outfit_nightie1: #Req 7 (no bra, no panties) gen "Put on this nightie for me [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "And skip the underwear." ("base", xpos="far_left", ypos="head") - if lun_whoring < 4: + if states.lun.level < 4: lun "But [name_genie_luna]!" ("angry", "wide", "base", "mid") lun "The wrackpurts would be able to get in there if I'm not to wear any underwear." ("clench", "wink", "base", "mid") gen "I'm sure we'll be able to deal with that if it comes down to it..." ("base", xpos="far_left", ypos="head") @@ -614,7 +614,7 @@ label lun_reaction_equip_outfit_fail(item): elif item == lun_outfit_nightie2: #Req 7 (no bra, no panties) gen "Put on this nightie for me [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "And skip the underwear." ("base", xpos="far_left", ypos="head") - if lun_whoring < 4: + if states.lun.level < 4: lun "But [name_genie_luna]!" ("angry", "wide", "base", "mid") lun "What about the Wrackspurts?" ("clench", "wink", "base", "mid") gen "What do you mean, what about the spurts?" ("base", xpos="far_left", ypos="head") @@ -837,16 +837,16 @@ label lun_reaction_blacklist(item): return label lun_reaction_fallback(item): - if lun_whoring < get_character_requirement("luna", "unequip top") and not "top" in luna.blacklist and not item.type == "top": + if states.lun.level < get_character_requirement("luna", "unequip top") and not "top" in luna.blacklist and not item.type == "top": $ luna.equip(lun_top_school1) - if lun_whoring < get_character_requirement("luna", "unequip bottom") and not "bottom" in luna.blacklist and not item.type == "bottom": + if states.lun.level < get_character_requirement("luna", "unequip bottom") and not "bottom" in luna.blacklist and not item.type == "bottom": $ luna.equip(lun_top_school2) - if lun_whoring < get_character_requirement("luna", "unequip bra") and not "bra" in luna.blacklist and not item.type == "bra": + if states.lun.level < get_character_requirement("luna", "unequip bra") and not "bra" in luna.blacklist and not item.type == "bra": $ luna.equip(lun_bra_base1) - if lun_whoring < get_character_requirement("luna", "unequip panties") and not "panties" in luna.blacklist and not item.type == "panties": + if states.lun.level < get_character_requirement("luna", "unequip panties") and not "panties" in luna.blacklist and not item.type == "panties": $ luna.equip(lun_panties_base1) lun "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/snape/chitchats.rpy b/game/scripts/characters/snape/chitchats.rpy index 33c06ca1..2d404d2e 100644 --- a/game/scripts/characters/snape/chitchats.rpy +++ b/game/scripts/characters/snape/chitchats.rpy @@ -4,13 +4,13 @@ label snape_chitchat: - if snape_chatted: + if states.sna.chatted: return - $ snape_chatted = True + $ states.sna.chatted = True # Prior to hermione introductions - if not hermione_unlocked: + if not states.her.unlocked: random: block: sna "I am starting to get worried about Albus.." ("snape_06") @@ -21,7 +21,7 @@ label snape_chitchat: return ### WHORING LEVEL 01 ### - if her_whoring >= 0 and her_whoring <= 2: + if states.her.level >= 0 and states.her.level <= 2: random: sna "I am feeling rather doubtful about our whole plan again..." ("snape_06") @@ -74,7 +74,7 @@ label snape_chitchat: ### WHORING LEVEL 02 ### - if her_whoring >= 3 and her_whoring <= 5: + if states.her.level >= 3 and states.her.level <= 5: random: block: sna "I have yet to notice any changes in miss Granger's behaviour..." ("snape_24") @@ -129,7 +129,7 @@ label snape_chitchat: ### WHORING LEVEL 03 ### - if her_whoring >= 6 and her_whoring <= 8: + if states.her.level >= 6 and states.her.level <= 8: random: block: sna "Any progress on breaking our little ms. know-it-all?" ("snape_24") @@ -182,7 +182,7 @@ label snape_chitchat: ### WHORING LEVEL 04 ### - if her_whoring >= 9 and her_whoring <= 11: + if states.her.level >= 9 and states.her.level <= 11: random: block: sna "Lately miss Granger has gotten aggressive almost to the point of open hostility..." ("snape_24") @@ -238,7 +238,7 @@ label snape_chitchat: ### WHORING LEVEL 05 ### - if her_whoring >= 12 and her_whoring <= 14: + if states.her.level >= 12 and states.her.level <= 14: random: block: sna "Fifteen points for a blowjob is a fair price, right?" ("snape_24") @@ -296,7 +296,7 @@ label snape_chitchat: ### WHORING LEVEL 06 ### - if her_whoring >= 15 and her_whoring <= 17: + if states.her.level >= 15 and states.her.level <= 17: random: block: sna "What if the girl is not our pet, but we are hers?" ("snape_11") @@ -352,7 +352,7 @@ label snape_chitchat: ### WHORING LEVEL 07 ### - if her_whoring >= 18 and her_whoring <= 20: + if states.her.level >= 18 and states.her.level <= 20: random: block: sna "Miss Granger really is changing. I can see it clearly now..." ("snape_24") @@ -420,7 +420,7 @@ label snape_chitchat: ### WHORING LEVEL 08+ ### - if her_whoring >= 21: + if states.her.level >= 21: random: block: sna "Do you know what a \"bukkake\" is?" ("snape_24") diff --git a/game/scripts/characters/snape/common.rpy b/game/scripts/characters/snape/common.rpy index be29ee6a..6c5a9d80 100644 --- a/game/scripts/characters/snape/common.rpy +++ b/game/scripts/characters/snape/common.rpy @@ -1,30 +1,29 @@ label update_snape: - $ snape_flip = 1 + $ states.sna.image.xzoom = 1 return define character.snape_say = Character("Severus Snape", show_icon="snape") init python: def sna(what, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, wand=False, **kwargs): - global snape_xpos, snape_ypos, snape_face, snape_animation, snape_zorder, snape_flip, snape_zoom redraw = False tag = "snape_main" layer = "screens" #showing = renpy.showing(name=tag, layer=layer) if xpos != None or ypos != None: - xpos = snape_xpos if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = snape_ypos if ypos == None else sprite_pos.get("y").get(ypos, ypos) - snape_xpos = xpos - snape_ypos = ypos + xpos = states.sna.image.xpos if xpos == None else sprite_pos.get("x").get(xpos, xpos) + ypos = states.sna.image.ypos if ypos == None else sprite_pos.get("y").get(ypos, ypos) + states.sna.image.xpos = xpos + states.sna.image.ypos = ypos redraw = True head_ypos = sprite_pos.get("y").get("head") - head_only = snape_ypos == head_ypos + head_only = states.sna.image.ypos == head_ypos # The easiest way to fix image positions for Snape is to use offsets. # It's not ideal, but it's better than having to change all calls manually. - if snape_ypos in ("head", head_ypos): + if states.sna.image.ypos in ("head", head_ypos): xoffset = -25 yoffset = 150 else: @@ -32,20 +31,20 @@ init python: yoffset = 0 if face: - snape_face = face + states.sna.image.face = face redraw = True if animation != False: - snape_animation = animation + states.sna.image.animation = animation redraw = True if flip != None: - snape_flip = -1 if flip else 1 + states.sna.image.xzoom = -1 if flip else 1 redraw = True if redraw: - base_transform = doll_transform((snape_xpos + xoffset, snape_ypos + yoffset), snape_zoom, snape_flip) - sprite = Image("characters/snape/main/"+snape_face+".webp") + base_transform = doll_transform((states.sna.image.xpos + xoffset, states.sna.image.ypos + yoffset), states.sna.image.zoom, states.sna.image.xzoom) + sprite = Image("characters/snape/main/"+states.sna.image.face+".webp") if wand: sprite = Fixed(sprite, "characters/snape/main/wand.webp") @@ -53,9 +52,9 @@ init python: at_list = [base_transform] if animation: - at_list.append(snape_animation) + at_list.append(states.sna.image.animation) - renpy.show(name=tag, at_list=at_list, layer=layer, what=sprite, zorder=snape_zorder) + renpy.show(name=tag, at_list=at_list, layer=layer, what=sprite, zorder=states.sna.image.zorder) if not renpy.in_rollback(): if trans: diff --git a/game/scripts/characters/snape/events/hangouts.rpy b/game/scripts/characters/snape/events/hangouts.rpy index c69f45f0..f7b5efe9 100644 --- a/game/scripts/characters/snape/events/hangouts.rpy +++ b/game/scripts/characters/snape/events/hangouts.rpy @@ -6,7 +6,7 @@ label snape_hangout: call setup_fireplace_hangout(char="snape") - $ ss_he_counter += 1 + $ states.gen.stats.hangouts_with_snape += 1 $ ss_he_drink.start() @@ -22,26 +22,26 @@ label snape_hangout: # Events are located in the character's intro file. # Hermione - if hermione_intro.E1_complete and not ss_he.hermione_E1: + if states.her.ev.intro.e1_complete and not states.sna.ev.hangouts.hermione_e1: jump ss_he_hermione_E1 # Fist discussion about Hermione with Snape. - if hermione_intro.E2_complete and not ss_he.hermione_E2: + if states.her.ev.intro.e2_complete and not states.sna.ev.hangouts.hermione_e2: jump ss_he_hermione_E2 # Second discussion about Hermione with Snape. # Tonks - if tonks_intro.E1_complete and not ss_he.tonks_E1: + if states.ton.ev.intro.e1_complete and not states.sna.ev.hangouts.tonks_e1: jump ss_he_tonks_E1 - if tonks_intro.E3_complete and not ss_he.tonks_E2: + if states.ton.ev.intro.e3_complete and not states.sna.ev.hangouts.tonks_e2: jump ss_he_tonks_E2 - if ss_he.tonks_E2 and not ss_he.tonks_E3: - if her_tier < 2: # Event won't happen at this point in the game anymore. - $ ss_he.tonks_E3 = True + if states.sna.ev.hangouts.tonks_e2 and not states.sna.ev.hangouts.tonks_e3: + if states.her.tier < 2: # Event won't happen at this point in the game anymore. + $ states.sna.ev.hangouts.tonks_e3 = True else: jump ss_he_tonks_E3 # Cho - if cho_intro.E2_complete and not ss_he.cho_E1: + if states.cho.ev.intro.e2_complete and not states.sna.ev.hangouts.cho_e1: jump ss_he_cho_E1 - if cho_quiz.lost and not quidditchguide_ITEM.unlocked and not cho_quiz.complete and not ss_he.cho_E2: + if states.cho.ev.quiz.lost and not quidditchguide_ITEM.unlocked and not states.cho.ev.quiz.complete and not states.sna.ev.hangouts.cho_e2: # After failing the Quiz. jump ss_he_cho_E2 @@ -50,11 +50,11 @@ label snape_hangout: # Events are located here. # Hermione - if hg_strip.trigger and not ss_he.hermione_strip: #After second dance where Snape entered room. + if states.her.status.stripping and not states.sna.ev.hangouts.hermione_strip_invite: #After second dance where Snape entered room. jump ss_he_hermione_strip # Get to invite Snape to watch. # (Quidditch) Ask Snape for help with Slytherins. - if cho_quid.E6_complete and not cho_quid.E8_complete and not cho_quid.E9_complete: + if states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e8_complete and not states.cho.ev.quidditch.e9_complete: jump cho_quid_E9 ### Snape Stories ### @@ -71,20 +71,20 @@ label snape_hangout: label end_snape_hangout_points: - if sna_friendship < 100: + if states.sna.level < 100: if game.weather in {"rain", "storm"}: # Rain puts him in a good mood. - $ sna_friendship += 1 + $ states.sna.level += 1 if game.difficulty == 1: - $ sna_friendship += 5 + $ states.sna.level += 5 elif game.difficulty == 2: - $ sna_friendship += 4 + $ states.sna.level += 4 else: - $ sna_friendship += 3 + $ states.sna.level += 3 - if sna_friendship > 100: - $ sna_friendship = 100 + if states.sna.level > 100: + $ states.sna.level = 100 $ slytherin += renpy.random.randint(5, 15) @@ -193,7 +193,7 @@ label ss_he_hermione_strip: nar "You spend the rest of the evening in Snape's company talking about Hermione's naked breasts." - $ ss_he.hermione_strip = True + $ states.sna.ev.hangouts.hermione_strip_invite = True jump end_snape_hangout_points diff --git a/game/scripts/characters/snape/events/intro.rpy b/game/scripts/characters/snape/events/intro.rpy index 88e62e91..ca15e296 100644 --- a/game/scripts/characters/snape/events/intro.rpy +++ b/game/scripts/characters/snape/events/intro.rpy @@ -154,7 +154,7 @@ label snape_intro_E1: gen "No, that's not stupid at all..." ("base", xpos="far_left", ypos="head") call bld("hide") - $ snape_intro.E1_complete = True + $ states.sna.ev.intro.e1_complete = True $ ss_event_pause += 1 jump day_start @@ -260,7 +260,7 @@ label snape_intro_E2: call sna_chibi("leave") - $ snape_intro.E2_complete = True + $ states.sna.ev.intro.e2_complete = True $ ss_event_pause += 1 jump day_start @@ -476,9 +476,9 @@ label snape_intro_E3: $ renpy.choice_for_skipping() - $ snape_intro.E3_complete = True + $ states.sna.ev.intro.e3_complete = True if skip_duel == True: - $ snape_intro.duel_complete = True + $ states.sna.ev.intro.duel_complete = True jump snape_lost stop music @@ -499,7 +499,7 @@ label snape_intro_E3: # THE TALK AFTER THE DUEL ENDS. label snape_intro_E4: - $ potions = 0 #Makes sure there are no potions left in the possessions. + $ states.healing_potions = 0 #Makes sure there are no potions left in the possessions. $ renpy.choice_for_skipping() stop music fadeout 2.0 @@ -679,7 +679,7 @@ label snape_intro_E4: hide screen duel call sna_chibi("hide") - $ snape_intro.E4_complete = True + $ states.sna.ev.intro.e4_complete = True jump day_start @@ -843,11 +843,11 @@ label snape_intro_E5: gen "I Suppose I'll just curl up in a ball on top of this desk as usual..." ("base", xpos="far_left", ypos="head") pause.2 - $ snape_unlocked = True + $ states.sna.unlocked = True # Silently add an achievement, then display a popup message. $ achievements.unlock("unlocksna", True) call popup("{size=-4}You can now summon Snape into your office.{/size}", "Character unlocked!", "interface/icons/head/snape.webp") - $ snape_intro.E5_complete = True + $ states.sna.ev.intro.e5_complete = True call tutorial("hangouts") diff --git a/game/scripts/characters/snape/nicknames.rpy b/game/scripts/characters/snape/nicknames.rpy index 850828d4..21c12dca 100644 --- a/game/scripts/characters/snape/nicknames.rpy +++ b/game/scripts/characters/snape/nicknames.rpy @@ -105,7 +105,7 @@ label snape_nicknames: gen "..." ("base", xpos="far_left", ypos="head") sna "...{w=0.6}{nw}" ("snape_02") sna "...{fast} Oh, you were just doing one of your \"Hilarious\" jokes..." ("snape_01") - "-Pantysniffer-" if snape_office_intro_E2: + "-Pantysniffer-" if states.map.snape_office.intro_e3: sna "I don't sniff panties!" ("snape_18") gen "Then what do you do with them?!" ("base", xpos="far_left", ypos="head") sna "I--{w=0.2} I just collect them..." ("snape_12") diff --git a/game/scripts/characters/snape/summon.rpy b/game/scripts/characters/snape/summon.rpy index db2fc0a7..1ebe5c87 100644 --- a/game/scripts/characters/snape/summon.rpy +++ b/game/scripts/characters/snape/summon.rpy @@ -1,9 +1,6 @@ label summon_snape: - - $ last_character = "snape" - play music "music/Dark Fog.ogg" fadein 1 if_changed play sound "sounds/door.ogg" call sna_chibi("stand","mid","base") @@ -23,19 +20,19 @@ label summon_snape: label .talk: menu: - "-Ask him to help Tonks-" if astoria_intro.E1_complete and not astoria_intro.E3_complete: + "-Ask him to help Tonks-" if states.ast.ev.intro.e1_complete and not states.ast.ev.intro.e3_complete: - if astoria_intro.E2_snape: + if states.ast.ev.intro.e2_ask_snape: sna "I'm still on the lookout, Genie." ("snape_01") sna "If I find the little maggot that casts those spells..." ("snape_10") jump .talk - $ snape_busy = True - $ astoria_intro.E2_snape = True + $ states.sna.busy = True + $ states.ast.ev.intro.e2_ask_snape = True $ ag_event_pause = 2 jump astoria_intro_E2_snape - "-Try solving the Quidditch Quarrel-" (icon="interface/icons/small/quidditch.webp") if cho_tier == 2 and cho_quid.E6_complete and not cho_quid.E9_complete and not cho_quid.E8_complete: + "-Try solving the Quidditch Quarrel-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 2 and states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e9_complete and not states.cho.ev.quidditch.e8_complete: if game.daytime: gen "I wanted to talk to you about the upcoming Quidditch game." ("base", xpos="far_left", ypos="head") sna "I don't really have time right now..." ("snape_05") @@ -53,7 +50,7 @@ label summon_snape: sna "Whatever it is, it can wait, let's sit down first, shall we." ("snape_01") call setup_fireplace_hangout(char="snape") $ ss_he_drink.start() - $ ss_he_counter += 1 + $ states.gen.stats.hangouts_with_snape += 1 $ wine_ITEM.owned -= 1 jump cho_quid_E9 @@ -65,11 +62,11 @@ label summon_snape: gen "(Bloody alcoholic..)" ("base", xpos="far_left", ypos="head") jump .talk - "-Address me only as-" if hermione_intro.E6_complete: + "-Address me only as-" if states.her.ev.intro.e6_complete: call snape_nicknames_genie jump .talk - "-From now on I will refer to you as-" if hermione_intro.E6_complete: + "-From now on I will refer to you as-" if states.her.ev.intro.e6_complete: call snape_nicknames jump .talk @@ -90,7 +87,7 @@ label summon_snape: jump snape_ready # Cardgame - "-Let's Duel-" (icon="interface/icons/small/cards.webp") if deck_unlocked: + "-Let's Duel-" (icon="interface/icons/small/cards.webp") if states.cardgame.unlocked: jump snape_duel_menu # Dismiss @@ -104,7 +101,7 @@ label summon_snape: play sound "sounds/door.ogg" - $ snape_busy = True + $ states.sna.busy = True hide snape_main call sna_chibi("hide") diff --git a/game/scripts/characters/snape/vars.rpy b/game/scripts/characters/snape/vars.rpy index 7803a3e4..3c599b73 100644 --- a/game/scripts/characters/snape/vars.rpy +++ b/game/scripts/characters/snape/vars.rpy @@ -1,22 +1,37 @@ -# Main -default snape_xpos = 525 -default snape_ypos = 0 -default snape_zorder = 15 -default snape_flip = 1 -default snape_zoom = 0.5 -default snape_face = "snape_01" -default snape_animation = [] -# Flags -default snape_busy = False -default snape_unlocked = False +# General states -###SNAPE STATS### +default states.sna.busy = False +default states.sna.unlocked = False +default states.sna.level = 0 +default states.sna.chatted = False +default states.sna.map_location = "room_potions" -default sna_friendship = 0 +# Image states -# Chitchat with snape -default snape_chatted = False #Prevents you from chitchating more then once a day. Turns back to False every night. +default states.sna.image.xpos = 525 +default states.sna.image.ypos = 0 +default states.sna.image.zorder = 15 +default states.sna.image.xzoom = 1 +default states.sna.image.face = "snape_01" +default states.sna.image.animation = [] -# Snape hangout events -default ss_he_counter = 0 +# Event flags + +default states.sna.ev.intro.e1_complete = False # 1st visit +default states.sna.ev.intro.e2_complete = False # 2nd visit +default states.sna.ev.intro.e3_complete = False # 3rd visit, before the duel. +default states.sna.ev.intro.duel_complete = False +default states.sna.ev.intro.e4_complete = False # After the duel. +default states.sna.ev.intro.e5_complete = False # 4th visit, summon unlocked. +default states.sna.ev.hangouts.hermione_strip_invite = False +default states.sna.ev.hangouts.hermione_e1 = False +default states.sna.ev.hangouts.hermione_e2 = False +default states.sna.ev.hangouts.tonks_e1 = False +default states.sna.ev.hangouts.tonks_e2 = False +default states.sna.ev.hangouts.tonks_e3 = False +default states.sna.ev.hangouts.cho_e1 = False +default states.sna.ev.hangouts.cho_e2 = False +default states.sna.ev.cardgame.stage = 0 +default states.sna.ev.cardgame.wagers = False +default states.sna.ev.cardgame.known = False diff --git a/game/scripts/characters/susan/chitchat.rpy b/game/scripts/characters/susan/chitchat.rpy index 87082d7e..4dd63ff4 100644 --- a/game/scripts/characters/susan/chitchat.rpy +++ b/game/scripts/characters/susan/chitchat.rpy @@ -1,26 +1,26 @@ label susan_chitchat: - if susan_chatted: + if states.sus.chatted: return - $ susan_chatted = True + $ states.sus.chatted = True # Note: Susan does not have Tiers yet. - # if ast_tier == 1: + # if states.ast.tier == 1: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ast_tier == 2: + # elif states.ast.tier == 2: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ast_tier == 3: + # elif states.ast.tier == 3: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ast_tier == 4: + # elif states.ast.tier == 4: # $ random_number = renpy.random.randint(1, 11) random: diff --git a/game/scripts/characters/susan/common.rpy b/game/scripts/characters/susan/common.rpy index 442b89aa..72b85180 100644 --- a/game/scripts/characters/susan/common.rpy +++ b/game/scripts/characters/susan/common.rpy @@ -49,8 +49,9 @@ label end_susan_event: call update_susan - $ active_girl = None - $ susan_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.sus.busy = True $ susan.wear("all") call music_block diff --git a/game/scripts/characters/susan/events/intro.rpy b/game/scripts/characters/susan/events/intro.rpy index 9689455a..25dccedf 100644 --- a/game/scripts/characters/susan/events/intro.rpy +++ b/game/scripts/characters/susan/events/intro.rpy @@ -58,7 +58,7 @@ label nt_he_susan_E1: nar "As the hours pass, you convince Tonks to describe Susan's {b}massive tits{/b} to you..." nar "It didn't take much convincing..." - $ nt_he.susan_E1 = True + $ states.ton.ev.hangouts.susan_e1 = True $ sb_event_pause += 1 # New event the next day. jump end_tonks_hangout_points @@ -173,13 +173,13 @@ label susan_intro_E1: gen "..." ("base", xpos="far_left", ypos="head") gen "Massive tits...{w=0.4} confirmed." ("base", xpos="far_left", ypos="head") - $ susan_busy = True + $ states.sus.busy = True - $ susan_unlocked = True + $ states.sus.unlocked = True $ achievements.unlock("unlocksus", True) call popup("{size=-4}You can now summon Susan into your office.{/size}", "Character unlocked!", "interface/icons/head/susan.webp") - $ susan_intro.E1_complete = True + $ states.sus.ev.intro.e1_complete = True $ ag_event_pause += 2 # Astoria intro starts in 2 days. call music_block diff --git a/game/scripts/characters/susan/gifts.rpy b/game/scripts/characters/susan/gifts.rpy index 1721917d..ebc1b61d 100644 --- a/game/scripts/characters/susan/gifts.rpy +++ b/game/scripts/characters/susan/gifts.rpy @@ -5,7 +5,7 @@ label give_sus_gift(gift_item): with d5 sus "" (xpos="mid", ypos="base", trans=d5) - $ gave_susan_gift = True + $ states.sus.gifted = True if gift_item == lollipop_ITEM: call give_gift("You give the lollipop to Susan...",gift_item) @@ -119,10 +119,10 @@ label sus_mood(value=0): else: "Susan's mood hasn't changed." - $ was_negative = sus_mood > 0 - $ sus_mood = max(min(sus_mood+value, 100), 0) + $ was_negative = states.sus.mood > 0 + $ states.sus.mood = max(min(states.sus.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, sus_mood, value) + call describe_mood_after_gift(was_negative, states.sus.mood, value) hide screen blktone return diff --git a/game/scripts/characters/susan/summon.rpy b/game/scripts/characters/susan/summon.rpy index fb28a3c1..977e80df 100644 --- a/game/scripts/characters/susan/summon.rpy +++ b/game/scripts/characters/susan/summon.rpy @@ -1,10 +1,9 @@ label summon_susan: - $ active_girl = "susan" - $ last_character = "susan" + $ states.active_girl = "susan" - $ susan_busy = True + $ states.sus.busy = True call update_susan @@ -26,7 +25,7 @@ label summon_susan: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if sus_mood > 0: + if states.sus.mood > 0: sus "I'm sorry, [name_genie_susan], but I don't want to talk right now." ("soft", "happy", "base", "downR") jump susan_requests @@ -38,12 +37,12 @@ label summon_susan: jump susan_requests # Wardrobe - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if susan_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.sus.wardrobe_unlocked: hide susan_main with d1 call wardrobe jump susan_requests - "-Hidden-" (style="disabled") if not susan_wardrobe_unlocked: + "-Hidden-" (style="disabled") if not states.sus.wardrobe_unlocked: nar "You haven't unlocked this feature yet." jump susan_requests diff --git a/game/scripts/characters/susan/vars.rpy b/game/scripts/characters/susan/vars.rpy index 110b2f85..d60978d7 100644 --- a/game/scripts/characters/susan/vars.rpy +++ b/game/scripts/characters/susan/vars.rpy @@ -1,18 +1,27 @@ -# Stats -default sus_tier = 1 -default sus_whoring = 0 -default sus_mood = 0 +# General states -# Flags -default susan_busy = False -default susan_unlocked = False -default susan_wardrobe_unlocked = False -default susan_chatted = False -default susan_outfits_schedule = True -default gave_susan_gift = False +default states.sus.tier = 1 +default states.sus.level = 0 +default states.sus.public_tier = 0 +default states.sus.public_level = 0 +default states.sus.mood = 0 +default states.sus.unlocked = False +default states.sus.busy = False +default states.sus.gifted = False +default states.sus.favors_unlocked = False +default states.sus.requests_unlocked = False +default states.sus.wardrobe_unlocked = False +default states.sus.wardrobe_scheduling = True +default states.sus.chatted = False +default states.sus.map_location = "room_h" + +# Event flags + +default states.sus.ev.intro.e1_complete = False # Names + default name_susan_genie = "Miss Bones" default name_genie_susan = "Sir" diff --git a/game/scripts/characters/susan/wardrobe_reactions.rpy b/game/scripts/characters/susan/wardrobe_reactions.rpy index 29bd1c62..7d9ffe83 100644 --- a/game/scripts/characters/susan/wardrobe_reactions.rpy +++ b/game/scripts/characters/susan/wardrobe_reactions.rpy @@ -117,7 +117,7 @@ label sus_reaction_equip_fail(item): label sus_reaction_unequip(item): ### Example # if item.type == "panties": - # if sus_whoring > 15: + # if states.sus.level > 15: # sus "You want to see my snatch?" # sus "You got it [name_genie_hermione]!" # @@ -280,16 +280,16 @@ label sus_reaction_blacklist(item): return label sus_reaction_fallback(item): - if sus_whoring < get_character_requirement("susan", "unequip top") and not "top" in susan.blacklist and not item.type == "top": + if states.sus.level < get_character_requirement("susan", "unequip top") and not "top" in susan.blacklist and not item.type == "top": $ susan.equip(sus_top_school1) - if sus_whoring < get_character_requirement("susan", "unequip bottom") and not "bottom" in susan.blacklist and not item.type == "bottom": + if states.sus.level < get_character_requirement("susan", "unequip bottom") and not "bottom" in susan.blacklist and not item.type == "bottom": $ susan.equip(sus_bottom_school1) - if sus_whoring < get_character_requirement("susan", "unequip bra") and not "bra" in susan.blacklist and not item.type == "bra": + if states.sus.level < get_character_requirement("susan", "unequip bra") and not "bra" in susan.blacklist and not item.type == "bra": $ susan.equip(sus_bra_base1) - if sus_whoring < get_character_requirement("susan", "unequip panties") and not "panties" in susan.blacklist and not item.type == "panties": + if states.sus.level < get_character_requirement("susan", "unequip panties") and not "panties" in susan.blacklist and not item.type == "panties": $ susan.equip(sus_panties_base1) sus "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "right") diff --git a/game/scripts/characters/tonks/chibi.rpy b/game/scripts/characters/tonks/chibi.rpy index c2b9cdbf..a3db59f2 100644 --- a/game/scripts/characters/tonks/chibi.rpy +++ b/game/scripts/characters/tonks/chibi.rpy @@ -175,7 +175,7 @@ label ton_chibi_scene(action="reset", xpos="mid", ypos="base", trans=None): screen tonks_chibi_desk(action): tag tonks_chibi_scene - zorder desk_zorder + zorder states.desk_chibi_zorder # Works with any image that matches the desk area add "ch_ton [action]" xpos 370 ypos 336 xanchor 0.5 yanchor 0.5 diff --git a/game/scripts/characters/tonks/chitchats.rpy b/game/scripts/characters/tonks/chitchats.rpy index 6a3d6671..83c28404 100644 --- a/game/scripts/characters/tonks/chitchats.rpy +++ b/game/scripts/characters/tonks/chitchats.rpy @@ -1,26 +1,26 @@ label tonks_chitchat: - if tonks_chatted: + if states.ton.chatted: return - $ tonks_chatted = True + $ states.ton.chatted = True # Note: Tonks doesn't use tiers yet. - # if ton_tier == 1: + # if states.ton.tier == 1: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ton_tier == 2: + # elif states.ton.tier == 2: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ton_tier == 3: + # elif states.ton.tier == 3: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ton_tier == 4: + # elif states.ton.tier == 4: # $ random_number = renpy.random.randint(1, 11) # Chitchats #TODO 3, 10 should check if you've done some amount of public favours @@ -135,35 +135,35 @@ label tonks_chitchat: ton "A foul creature that is drawn to footwear..." ("open", "base", "base", "R") ton "It doesn't actually exist, I just wanted an excuse to have the students show me their feet." ("horny", "base", "base", "mid") - block if tonks_morph_known: + block if states.gen.ev.tonks.metamorphmagi_aware: ton "Since Metamorphmagi can change their skin, I sometimes just don't bother wearing any clothes." ("soft", "base", "shocked", "mid") ton "I once changed the colour of my skin and made it look like a tight shirt..." ("grin", "narrow", "base", "R") ton "I might have worked topless once or twice..." ("horny", "base", "raised", "mid") - block if tonks_morph_known: + block if states.gen.ev.tonks.metamorphmagi_aware: ton "I often got detentions by morphing into prefects..." ("normal", "base", "base", "R") ton "It was worth it though as I had free range to the prefects' bathroom..." ("base", "wide", "base", "mid") - block if tonks_morph_known: + block if states.gen.ev.tonks.metamorphmagi_aware: ton "Most of my abilities are based around emotions..." ("open", "base", "base", "mid") ton "My hair can go red when I'm upset or angry..." ("upset", "base", "base", "mid") ton "Don't tell anyone but my natural hair colour is actually more brown..." ("open", "base", "base", "R") ton "People think it's pink but that's because I'm horny all the time." ("base", "base", "base", "down") - block if tonks_morph_known: + block if states.gen.ev.tonks.metamorphmagi_aware: ton "There are rumours that Snape has set up an Age Line to keep students away from his private stash..." ("normal", "narrow", "base", "R") ton "Won't stop me borrowing some polyjuice potions though... Not that I need them..." ("open", "base", "base", "R") ton "But maybe I can find a girl that doesn't mind drinking it and have some fun." ("horny", "base", "raised", "R") - block if tonks_morph_known: + block if states.gen.ev.tonks.metamorphmagi_aware: ton "I'm a metamorphmagus. I can change my appearance at will..." ("open", "base", "base", "mid") ton "Makes spying on the other teachers and students a lot easier..." ("grin", "base", "raised", "mid") - block if tonks_morph_known: + block if states.gen.ev.tonks.metamorphmagi_aware: ton "I can change the shape and length of my tongue any way I want." ("open", "base", "base", "mid") ton "Imagine the possibilities..." ("open_wide_tongue2", "narrow", "base", "mid") - block if susan_unlocked: + block if states.sus.unlocked: ton "Susan is such a lovely girl..." ("open", "base", "base", "mid") ton "But she really isn't very confident in her body..." ("open", "base", "raised", "R") ton "I do hope your little games can help her open up a bit..." ("base", "base", "base", "mid") diff --git a/game/scripts/characters/tonks/common.rpy b/game/scripts/characters/tonks/common.rpy index 5609345a..6bc45b1d 100644 --- a/game/scripts/characters/tonks/common.rpy +++ b/game/scripts/characters/tonks/common.rpy @@ -59,8 +59,9 @@ label end_tonks_event: call update_tonks - $ active_girl = None - $ tonks_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.ton.busy = True $ tonks.wear("all") $ tonks.set_cum(None) diff --git a/game/scripts/characters/tonks/events/clothing.rpy b/game/scripts/characters/tonks/events/clothing.rpy index 6152975d..45ca79cb 100644 --- a/game/scripts/characters/tonks/events/clothing.rpy +++ b/game/scripts/characters/tonks/events/clothing.rpy @@ -5,8 +5,8 @@ label tonks_summon_setup: $ tonks.set_cum(None) $ tonks.animation = None - if not tonks_strip_happened and cc_pf_strip.is_event_complete(3, 3) and ton_friendship >= 20 and tonks.is_any_worn("top", "bottom", "bra", "panties"): - $ tonks_strip_happened = True #TODO use to make event not repeat + if not states.ton.ev.random_strip.complete and cc_pf_strip.is_event_complete(3, 3) and states.ton.level >= 20 and tonks.is_any_worn("top", "bottom", "bra", "panties"): + $ states.ton.ev.random_strip.complete = True #TODO use to make event not repeat $ tonks.strip("clothes") call ton_walk(action="enter", xpos="mid", ypos="base") @@ -149,7 +149,7 @@ label tonks_summon_setup: ton "" (trans=morph) ton "" ("soft", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") - if tonks_morph_known: + if states.gen.ev.tonks.metamorphmagi_aware: gen "...{w} You used your meta-whatsit ability just then didn't you?" ("base", xpos="far_left", ypos="head") ton "You can tell?" ("soft", "narrow", "base", "down", hair="horny", cheeks="heavy_blush") gen "Whatever, just wear your actual clothing next time..." ("base", xpos="far_left", ypos="head") @@ -168,7 +168,7 @@ label tonks_summon_setup: jump end_tonks_event - if tonks_outfits_schedule: + if states.ton.wardrobe_scheduling: $ tonks.equip_random_outfit() play sound "sounds/door.ogg" @@ -178,24 +178,24 @@ label tonks_summon_setup: #Tonks greeting. play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed - if ton_mood > 0: - if 5 > ton_mood >= 1: + if states.ton.mood > 0: + if 5 > states.ton.mood >= 1: ton "Yes, [name_genie_tonks]?" ("open", "base", "base", "R", xpos="base", ypos="base", trans=d3) ton "" ("base", "base", "base", "R") - elif 10 > ton_mood >= 5: + elif 10 > states.ton.mood >= 5: ton "I have classes to teach, please be quick." ("upset", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - elif 20 > ton_mood >= 10: + elif 20 > states.ton.mood >= 10: ton "Make it quick, [name_genie_tonks]..." ("upset", "base", "base", "R", xpos="base", ypos="base", trans=d3) - elif 30 > ton_mood >= 20: + elif 30 > states.ton.mood >= 20: ton "What do you want, \"[name_genie_tonks]\", I'm busy." ("mad", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif 40 > ton_mood >= 30: + elif 40 > states.ton.mood >= 30: ton "..............." ("upset", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif 50 > ton_mood >= 40: + elif 50 > states.ton.mood >= 40: ton "Please stop wasting my time." ("upset", "closed", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif ton_mood >= 50: + elif states.ton.mood >= 50: ton "You have the nerve to call me here after what you did." ("upset", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) - call describe_mood("Tonks", ton_mood) + call describe_mood("Tonks", states.ton.mood) call tutorial("moodngifts") else: ton "You called, [name_genie_tonks]?" ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) diff --git a/game/scripts/characters/tonks/events/hangout.rpy b/game/scripts/characters/tonks/events/hangout.rpy index 21f17d5c..2b94fe72 100644 --- a/game/scripts/characters/tonks/events/hangout.rpy +++ b/game/scripts/characters/tonks/events/hangout.rpy @@ -21,27 +21,27 @@ label tonks_hangout: ### Intro Events ### # Hermione - if hermione_intro.E5_complete and not nt_he.hermione_E1: + if states.her.ev.intro.e5_complete and not states.her.ev.intro.convinced: jump nt_he_hermione_E1 # Persuade Hermione to sell favors. # Susan - if her_tier >= 2 and ton_friendship >= 20 and not nt_he.susan_E1: + if states.her.tier >= 2 and states.ton.level >= 20 and not states.ton.ev.hangouts.susan_e1: $ ag_event_pause += 2 # Astoria intro happens in 2 days. jump nt_he_susan_E1 # Starts Susan/Astoria intro. # Astoria - if astoria_intro.E3_complete and not nt_he.astoria_E1: + if states.ast.ev.intro.e3_complete and not states.ton.ev.hangouts.astoria_e1: jump nt_he_astoria_E1 # (Quidditch) Ask Tonks for help with Slytherins. - if cho_quid.E6_complete and not cho_quid.E8_complete: + if states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e8_complete: jump cho_quid_E8 ### General Events ### - if her_tier >= 2 and not nt_he.favors_E1: + if states.her.tier >= 2 and not states.ton.ev.hangouts.favors_e1: jump nt_he_favors_E1 # Unlocks Public Requests. - if ton_reputation >= 4 and ton_friendship >= 20 and not nt_he.favors_E2: + if states.ton.public_level >= 4 and states.ton.level >= 20 and not states.ton.ev.hangouts.favors_e2: jump nt_he_favors_E2 # Tonks Tier 2 available. @@ -54,7 +54,7 @@ label tonks_hangout: $ d_flag_01 = "afternoon" if game.daytime else "evening" - if ton_friendship < 100: + if states.ton.level < 100: call notes nar "You spend the [d_flag_01] hanging out with Tonks.\n>Your relationship with her has improved." else: @@ -62,19 +62,19 @@ label tonks_hangout: label end_tonks_hangout_points: - if ton_friendship < 100: # max - if fire_in_fireplace: # Tonks is feeling hot. - $ ton_friendship += 2 + if states.ton.level < 100: # max + if states.fireplace_started: # Tonks is feeling hot. + $ states.ton.level += 2 if game.difficulty < 2: #Easy difficulty - $ ton_friendship += 5 + $ states.ton.level += 5 elif game.difficulty == 2: #Normal - $ ton_friendship += 4 + $ states.ton.level += 4 else: #Hardcore - $ ton_friendship += 3 + $ states.ton.level += 3 - if ton_friendship > 100: - $ ton_friendship = 100 + if states.ton.level > 100: + $ states.ton.level = 100 $ hufflepuff += renpy.random.randint(5, 15) @@ -234,10 +234,10 @@ label nt_he_favors_E1: gen "(...!)" ("angry", xpos="far_left", ypos="head") gen "Whatever floats your boat." ("base", xpos="far_left", ypos="head") - $ tonks_requests_unlocked = True + $ states.ton.requests_unlocked = True call popup("You can now ask Tonks to do \"Public Requests\" with her students!", "Congratulations!", "interface/icons/head/tonks.webp") - $ nt_he.favors_E1 = True + $ states.ton.ev.hangouts.favors_e1 = True jump end_tonks_hangout_points @@ -262,7 +262,7 @@ label nt_he_favors_E2: call popup("Tonks can now reach the next level!", "Congratulations!", "interface/icons/head/tonks.webp", sound=False) - $ nt_he.favors_E2 = True + $ states.ton.ev.hangouts.favors_e2 = True jump end_tonks_hangout_points @@ -547,7 +547,7 @@ label nt_he_story_intro_E10: label nt_he_story_E11: - $ tonks_morph_known = True + $ states.gen.ev.tonks.metamorphmagi_aware = True call bld gen "Tell me more about your time at Hogwarts, as a student..." ("base", xpos="far_left", ypos="head") ton "Of course, [name_genie_tonks]." ("base", "base", "base", "mid", ypos="head", flip=False) diff --git a/game/scripts/characters/tonks/events/intro.rpy b/game/scripts/characters/tonks/events/intro.rpy index 5fa102a2..41423adc 100644 --- a/game/scripts/characters/tonks/events/intro.rpy +++ b/game/scripts/characters/tonks/events/intro.rpy @@ -101,7 +101,7 @@ label tonks_intro_E1: menu: "-Start jerking off!-": - $ genie_masturbating = True + $ states.gen.masturbating = True $ jerked_off_during_tonks_intro = True call gen_chibi("jerk_off_behind_desk") hide screen animatedCG @@ -112,13 +112,13 @@ label tonks_intro_E1: gen "Tell me more!" ("grin", xpos="far_left", ypos="head") "-Pay attention-": - $ genie_masturbating = False + $ states.gen.masturbating = False $ jerked_off_during_tonks_intro = False hide screen animatedCG with fade gen "Tell me about it..." ("base", xpos="far_left", ypos="head") - if genie_masturbating: + if states.gen.masturbating: ton "Oh... about the centaurs?" ("annoyed", "base", "raised", "mid") gen "Yes, centaurs!" ("base", xpos="far_left", ypos="head") gen "Half of a man, and the other half that of a horse?" ("angry", xpos="far_left", ypos="head") @@ -146,7 +146,7 @@ label tonks_intro_E1: gen "(Balls...)" ("base", xpos="far_left", ypos="head") # Stop Masturbating - $ genie_masturbating = False + $ states.gen.masturbating = False call gen_chibi("sit_behind_desk") with d3 pause.8 @@ -230,9 +230,9 @@ label tonks_intro_E1: call bld gen "This can't be good..." ("base", xpos="far_left", ypos="head") - $ snape_busy = True - $ hermione_busy = True - $ tonks_intro.E1_complete = True + $ states.sna.busy = True + $ states.her.busy = True + $ states.ton.ev.intro.e1_complete = True jump end_tonks_event @@ -331,8 +331,8 @@ label tonks_intro_E2: gen "Shit..." ("base", xpos="far_left", ypos="head") gen "I better talk to Snape about this..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True - $ tonks_intro.E2_complete = True + $ states.her.busy = True + $ states.ton.ev.intro.e2_complete = True jump end_tonks_event @@ -361,7 +361,7 @@ label ss_he_tonks_E1: sna "Or you are just too lucky for your own good, more likely..." ("snape_43") gen "That too, to a lesser extent..." ("base", xpos="far_left", ypos="head") - if jerked_off_during_hermione_intro: + if states.her.ev.intro.masturbated: sna "Please tell me you didn't jerk off in front of her as well..." ("snape_03") gen "Well..." ("base", xpos="far_left", ypos="head") @@ -454,7 +454,7 @@ label ss_he_tonks_E1: #sna "You could put the tooth fairy in front of the minister and he'd still deny her existence if he were to have held that stance." #sna "And the other fools at the ministry would do so as well even if they witnessed it themselves." - $ ss_he.tonks_E1 = True + $ states.sna.ev.hangouts.tonks_e1 = True $ ss_event_pause += 1 $ hg_event_pause += 1 @@ -710,15 +710,15 @@ label tonks_intro_E3: gen "What an interesting turn of events..." ("base", xpos="far_left", ypos="head") gen "Who would've guessed that she's such a pervert?!" ("grin", xpos="far_left", ypos="head") - $ tonks_unlocked = True + $ states.ton.unlocked = True $ achievements.unlock("unlockton", True) call popup("{size=-4}You can now summon Tonks into your office.{/size}", "Character unlocked!", "interface/icons/head/tonks.webp") gen "(Now that the matter is resolved, I guess I can get back to teaching Hermione...)" - $ tonks_busy = True + $ states.ton.busy = True - $ tonks_intro.E3_complete = True + $ states.ton.ev.intro.e3_complete = True $ nt_event_pause += 1 call music_block @@ -818,7 +818,7 @@ label ss_he_tonks_E2: sna "If what you're telling me about her intentions is true..." ("snape_03") sna "Maybe she could be persuaded to help with the Granger situation..." ("snape_05") - #if nt_he.hermione_E1: + #if states.her.ev.intro.convinced: # gen "Way ahead of you!" ("grin", xpos="far_left", ypos="head") # gen "She's already offered to help with Granger." ("base", xpos="far_left", ypos="head") #else: @@ -845,7 +845,7 @@ label ss_he_tonks_E2: call sly_plus call hide_blktone - $ ss_he.tonks_E2 = True + $ states.sna.ev.hangouts.tonks_e2 = True $ ss_event_pause += 1 jump end_snape_hangout_points @@ -912,7 +912,7 @@ label ss_he_tonks_E3: nar "You take some time to muse about the fetishes Tonks might have..." nar "For blackmailing... or to have some fun..." - $ ss_he.tonks_E3 = True + $ states.sna.ev.hangouts.tonks_e3 = True $ ss_event_pause += 1 call sly_plus diff --git a/game/scripts/characters/tonks/events/requests/detention_with_tonks.rpy b/game/scripts/characters/tonks/events/requests/detention_with_tonks.rpy index 194cd05d..a4bc405b 100644 --- a/game/scripts/characters/tonks/events/requests/detention_with_tonks.rpy +++ b/game/scripts/characters/tonks/events/requests/detention_with_tonks.rpy @@ -12,7 +12,7 @@ label nt_pr_teach_start: ton "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) - if ton_tier == 1: + if states.ton.tier == 1: if nt_pr_teach.points == 0: ton "So, what's the plan?" ("open", "base", "base", "mid") @@ -63,7 +63,7 @@ label nt_pr_teach_start: gen "Yes. Return to me after class..." ("base", xpos="far_left", ypos="head") ton "*Mhmm*... Don't worry if I'm a little late though..." (face="horny") - elif ton_tier >= 2: + elif states.ton.tier >= 2: if nt_pr_teach.points == 0: # Tell her to be even lewder for the next level of favors. gen "Would you like to give some boys detention again?" ("base", xpos="far_left", ypos="head") @@ -98,7 +98,7 @@ label nt_pr_teach_T1_E1: #Tier 1 - Event 1 - Slytherin boy ton "Hello, [name_genie_tonks]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) ton "I'm back with my report..." ("horny", "narrow", "base", "mid") - if ton_reputation <= 3: # First time. + if states.ton.public_level <= 3: # First time. pass else: # Repeat. menu: @@ -111,8 +111,8 @@ label nt_pr_teach_T1_E1: #Tier 1 - Event 1 - Slytherin boy gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") ton "Yes, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") call increase_house_points("s", 20) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -161,8 +161,8 @@ label nt_pr_teach_T1_E1: #Tier 1 - Event 1 - Slytherin boy call increase_house_points("s", 20) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -172,7 +172,7 @@ label nt_pr_teach_T1_E2: # Tier 1 - Event 2 - Racenclaw boy call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 3: # First time. + if states.ton.public_level <= 3: # First time. pass else: # Repeat. menu: @@ -185,8 +185,8 @@ label nt_pr_teach_T1_E2: # Tier 1 - Event 2 - Racenclaw boy gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") ton "Yes, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") call increase_house_points("r", 10) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -229,8 +229,8 @@ label nt_pr_teach_T1_E2: # Tier 1 - Event 2 - Racenclaw boy call increase_house_points("r", 10) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -240,7 +240,7 @@ label nt_pr_teach_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys. Guess who... call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 3: # First time. + if states.ton.public_level <= 3: # First time. pass else: # Repeat. menu: @@ -254,8 +254,8 @@ label nt_pr_teach_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys. Guess who... ton "They practically begged me if they could do it for free anyway..." ("open", "base", "base", "R") gen "Well done, [name_tonks_genie]... Until next time." ("base", xpos="far_left", ypos="head") ton "Have a good night, [name_genie_tonks]." ("base", "happyCl", "base", "mid") - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -298,8 +298,8 @@ label nt_pr_teach_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys. Guess who... # Tonks leaves call increase_house_points("g", 20) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -309,7 +309,7 @@ label nt_pr_teach_T1_E4: # Tier 1 - Event 4 - Slytherin girl call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 3: # First time. + if states.ton.public_level <= 3: # First time. pass else: # Repeat. menu: @@ -323,8 +323,8 @@ label nt_pr_teach_T1_E4: # Tier 1 - Event 4 - Slytherin girl gen "Well done, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "Yes, [name_genie_tonks]. Good night." ("silly", "happyCl", "base", "mid") call increase_house_points("s", 20) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -393,8 +393,8 @@ label nt_pr_teach_T1_E4: # Tier 1 - Event 4 - Slytherin girl call increase_house_points("s", 20) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -407,7 +407,7 @@ label nt_pr_teach_T2_E1: # Tier 2 - Event 1 - Hufflepuff girl call ton_walk(action="enter", xpos="mid", ypos="base") ton "Guess what happened, [name_genie_tonks]!" ("base", "happyCl", "base", "mid", xpos="mid", ypos="base", trans=fade) - if nt_pr_teach.points <= 4 and ton_reputation <= 8: # First time. + if nt_pr_teach.points <= 4 and states.ton.public_level <= 8: # First time. pass else: # Repeat. menu: @@ -421,8 +421,8 @@ label nt_pr_teach_T2_E1: # Tier 2 - Event 1 - Hufflepuff girl gen "Very good, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "Thank you, [name_genie_tonks]. Until next time..." ("base", "base", "base", "mid") call increase_house_points("h", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -489,8 +489,8 @@ label nt_pr_teach_T2_E1: # Tier 2 - Event 1 - Hufflepuff girl call increase_house_points("h", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -504,7 +504,7 @@ label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hello, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if nt_pr_teach.points <= 4 and ton_reputation <= 8: # First time. + if nt_pr_teach.points <= 4 and states.ton.public_level <= 8: # First time. pass else: # Repeat. menu: @@ -517,8 +517,8 @@ label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy gen "I bet he earned quite a lot today. Well done, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "That he did, [name_genie_tonks]... See you next time..." ("base", "base", "base", "mid") call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -598,8 +598,8 @@ label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -609,7 +609,7 @@ label nt_pr_teach_T2_E3: # Tier 2 - Event 3 - Slytherin boy call ton_walk(action="enter", xpos="mid", ypos="base") ton "[name_genie_tonks]..." (face="horny", xpos="mid", ypos="base", trans=fade) - if nt_pr_teach.points <= 4 and ton_reputation <= 8: # First time. + if nt_pr_teach.points <= 4 and states.ton.public_level <= 8: # First time. pass else: # Repeat. menu: @@ -622,8 +622,8 @@ label nt_pr_teach_T2_E3: # Tier 2 - Event 3 - Slytherin boy gen "Very good, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "*Mhmm*... Until next time, [name_genie_tonks]..." ("base", "happyCl", "base", "mid") call increase_house_points("s", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -672,8 +672,8 @@ label nt_pr_teach_T2_E3: # Tier 2 - Event 3 - Slytherin boy call increase_house_points("s", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -683,7 +683,7 @@ label nt_pr_teach_T2_E4: # Tier 2 - Event 4 - Slytherin girl call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if nt_pr_teach.points <= 4 and ton_reputation <= 8: # First time. + if nt_pr_teach.points <= 4 and states.ton.public_level <= 8: # First time. pass else: # Repeat. menu: @@ -696,8 +696,8 @@ label nt_pr_teach_T2_E4: # Tier 2 - Event 4 - Slytherin girl gen "Good work, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "Thank you... Have a good night, [name_genie_tonks]..." ("base", "base", "base", "mid") call increase_house_points("s", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -743,8 +743,8 @@ label nt_pr_teach_T2_E4: # Tier 2 - Event 4 - Slytherin girl call increase_house_points("s", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event diff --git a/game/scripts/characters/tonks/events/requests/hands-on_lessons.rpy b/game/scripts/characters/tonks/events/requests/hands-on_lessons.rpy index 5d0d8e1e..84c41f37 100644 --- a/game/scripts/characters/tonks/events/requests/hands-on_lessons.rpy +++ b/game/scripts/characters/tonks/events/requests/hands-on_lessons.rpy @@ -9,7 +9,7 @@ label nt_pr_grope_start: ton "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) - if ton_tier == 2: + if states.ton.tier == 2: if nt_pr_grope.points == 0: gen "Ready for the next step?" ("base", xpos="far_left", ypos="head") @@ -42,7 +42,7 @@ label nt_pr_grope_start: ton "Consider it done, [name_genie_tonks]." (face="horny") gen "I'll see you after class..." ("base", xpos="far_left", ypos="head") - elif ton_tier >= 3: + elif states.ton.tier >= 3: if nt_pr_grope.points == 0: # Tell her to be even lewder for the next level of favors. @@ -71,7 +71,7 @@ label nt_pr_grope_T1_E1: # Tier 1 - Event 1 - Slytherin boy call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_grope.points < 4: # First time. + if states.ton.public_level <= 7 and nt_pr_grope.points < 4: # First time. pass else: # Repeat. menu: @@ -84,8 +84,8 @@ label nt_pr_grope_T1_E1: # Tier 1 - Event 1 - Slytherin boy gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") ton "Yes, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -135,8 +135,8 @@ label nt_pr_grope_T1_E1: # Tier 1 - Event 1 - Slytherin boy # Tonks leaves call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -146,7 +146,7 @@ label nt_pr_grope_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_grope.points < 4: # First time. + if states.ton.public_level <= 7 and nt_pr_grope.points < 4: # First time. pass else: # Repeat. menu: @@ -159,8 +159,8 @@ label nt_pr_grope_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") ton "Yes, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -220,8 +220,8 @@ label nt_pr_grope_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy # Tonks leaves call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -231,7 +231,7 @@ label nt_pr_grope_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_grope.points < 4: # First time. + if states.ton.public_level <= 7 and nt_pr_grope.points < 4: # First time. pass else: # Repeat. menu: @@ -243,8 +243,8 @@ label nt_pr_grope_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys ton "Of course they didn't get any points for it..." ("base", "base", "angry", "mid") gen "Great job, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "Thank you, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -283,8 +283,8 @@ label nt_pr_grope_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys # Tonks leaves # No points for Gryffindor. - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -294,7 +294,7 @@ label nt_pr_grope_T1_E4: # Tier 1 - Event 4 - Slytherin girl call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_grope.points < 4: # First time. + if states.ton.public_level <= 7 and nt_pr_grope.points < 4: # First time. pass else: # Repeat. menu: @@ -307,8 +307,8 @@ label nt_pr_grope_T1_E4: # Tier 1 - Event 4 - Slytherin girl gen "You will have better luck next time, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "I hope so too, [name_genie_tonks]... Have a good night." ("base", "base", "worried", "mid") call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -357,8 +357,8 @@ label nt_pr_grope_T1_E4: # Tier 1 - Event 4 - Slytherin girl # Tonks leaves call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event diff --git a/game/scripts/characters/tonks/events/requests/oral_practice.rpy b/game/scripts/characters/tonks/events/requests/oral_practice.rpy index dc333dcd..af60ea1e 100644 --- a/game/scripts/characters/tonks/events/requests/oral_practice.rpy +++ b/game/scripts/characters/tonks/events/requests/oral_practice.rpy @@ -9,7 +9,7 @@ label nt_pr_kiss_start: ton "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) - if ton_tier == 2: + if states.ton.tier == 2: if nt_pr_kiss.points == 0: gen "Ready to try something a little different?" ("base", xpos="far_left", ypos="head") @@ -44,7 +44,7 @@ label nt_pr_kiss_start: gen "Well, don't let me stop you." ("base", xpos="far_left", ypos="head") ton "Thank you, sir..." ("grin", "base", "base", "mid") - elif ton_tier >= 3: # Not in 1.37 + elif states.ton.tier >= 3: # Not in 1.37 if nt_pr_kiss.points == 0: # Tell her to be even lewder for the next level of favors. @@ -75,7 +75,7 @@ label nt_pr_kiss_T1_intro_E1: # Tier 1 - Event 1 - Slytherin boy call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_kiss.points < 4: # First time. + if states.ton.public_level <= 7 and nt_pr_kiss.points < 4: # First time. pass else: # Repeat. menu: @@ -88,8 +88,8 @@ label nt_pr_kiss_T1_intro_E1: # Tier 1 - Event 1 - Slytherin boy gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") ton "Have a good night, [name_genie_tonks]." ("base", "happyCl", "base", "mid") call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -137,8 +137,8 @@ label nt_pr_kiss_T1_intro_E1: # Tier 1 - Event 1 - Slytherin boy # Tonks leaves. call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -148,7 +148,7 @@ label nt_pr_kiss_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_kiss.points < 4: # First time. + if states.ton.public_level <= 7 and nt_pr_kiss.points < 4: # First time. pass else: # Repeat. menu: @@ -161,8 +161,8 @@ label nt_pr_kiss_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy gen "Very good, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") ton "Thank you, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -209,8 +209,8 @@ label nt_pr_kiss_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy # Tonks leaves. call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -221,7 +221,7 @@ label nt_pr_kiss_T1_E3: # Tier 1 - Event 3 - Slytherin girls call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_kiss.points < 4: # First time. + if states.ton.public_level <= 7 and nt_pr_kiss.points < 4: # First time. pass else: # Repeat. menu: @@ -235,8 +235,8 @@ label nt_pr_kiss_T1_E3: # Tier 1 - Event 3 - Slytherin girls ton "You have no idea, [name_genie_tonks]!" ("base", "base", "angry", "mid") ton "I better get going. Until next time!" ("base", "happyCl", "base", "mid") call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -279,8 +279,8 @@ label nt_pr_kiss_T1_E3: # Tier 1 - Event 3 - Slytherin girls # Tonks leaves. call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -291,7 +291,7 @@ label nt_pr_kiss_T1_E4: #Level 1 Event 4 call ton_walk(action="enter", xpos="mid", ypos="base") ton "Hi, [name_genie_tonks]." (face="horny", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_kiss.points < 4: # First time. + if states.ton.public_level <= 7 and nt_pr_kiss.points < 4: # First time. pass else: # Repeat. menu: @@ -304,8 +304,8 @@ label nt_pr_kiss_T1_E4: #Level 1 Event 4 gen "Very good, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") ton "Thank you, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -354,8 +354,8 @@ label nt_pr_kiss_T1_E4: #Level 1 Event 4 # Tonks leaves. call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event diff --git a/game/scripts/characters/tonks/gifts.rpy b/game/scripts/characters/tonks/gifts.rpy index 27e560f8..5eccb43a 100644 --- a/game/scripts/characters/tonks/gifts.rpy +++ b/game/scripts/characters/tonks/gifts.rpy @@ -5,7 +5,7 @@ label give_ton_gift(gift_item): with d5 ton "" (xpos="mid", ypos="base", trans=d5) - $ gave_tonks_gift = True + $ states.ton.gifted = True if gift_item == lollipop_ITEM: ton "A lollipop?" (face="neutral", xpos="mid", ypos="base", trans=d5) @@ -179,5 +179,5 @@ label ton_friendship(value=0): else: "Tonks' friendship towards you hasn't changed much." - $ ton_friendship = max(min(ton_friendship+value, 100), 0) + $ states.ton.level = max(min(states.ton.level+value, 100), 0) return diff --git a/game/scripts/characters/tonks/summon.rpy b/game/scripts/characters/tonks/summon.rpy index 63cd7eee..9e6782a1 100644 --- a/game/scripts/characters/tonks/summon.rpy +++ b/game/scripts/characters/tonks/summon.rpy @@ -1,10 +1,9 @@ label summon_tonks: - $ active_girl = "tonks" - $ last_character = "tonks" + $ states.active_girl = "tonks" - $ tonks_busy = True + $ states.ton.busy = True call update_ton_tier call update_tonks @@ -27,7 +26,7 @@ label summon_tonks: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if ton_mood > 0: + if states.ton.mood > 0: ton "I have a headache right now, let's talk later." jump tonks_requests @@ -52,7 +51,7 @@ label summon_tonks: jump tonks_requests # Wardrobe - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if tonks_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.ton.wardrobe_unlocked: hide tonks_main with d1 call wardrobe @@ -60,7 +59,7 @@ label summon_tonks: $ tonks_haircolor = [c for c in tonks.get_equipped("hair").color] jump tonks_requests - "-Hidden-" (style="disabled") if not tonks_wardrobe_unlocked: + "-Hidden-" (style="disabled") if not states.ton.wardrobe_unlocked: nar "You haven't unlocked this feature yet." jump tonks_requests @@ -85,7 +84,7 @@ label summon_tonks: # Tonks level up label update_ton_tier: - if ton_tier == 1 and nt_he.favors_E2: + if states.ton.tier == 1 and states.ton.ev.hangouts.favors_e2: $ ton_level_up = 1 return @@ -96,11 +95,11 @@ label tonks_level_up(tier=None): if tier == 1: gen "(Time to teach those students something useful!)" ("grin", xpos="far_left", ypos="head") - $ ton_tier = tier+1 + $ states.ton.tier = tier+1 $ ton_level_up = None pause.5 - nar "Tonks has reached level [ton_tier]!" + nar "Tonks has reached level [states.ton.tier]!" call update_ton_tier @@ -129,7 +128,7 @@ label tonks_favor_menu: # for i in nt_favor_list: # if i in []: # Not in the game yet. # menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - # elif i.start_tier > ton_tier: + # elif i.start_tier > states.ton.tier: # menu_choices.append(gui.menu_item("-Not ready-", "vague", style="disabled")) # else: # menu_choices.append(i.get_menu_item()) @@ -147,11 +146,11 @@ label tonks_favor_menu: # else: # $ renpy.jump(result) - "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and tonks_requests_unlocked: + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and states.ton.requests_unlocked: jump tonks_requests_menu - "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime or not tonks_requests_unlocked: - if not tonks_requests_unlocked: + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime or not states.ton.requests_unlocked: + if not states.ton.requests_unlocked: nar "You haven't unlocked this feature yet." elif not game.daytime: nar "Public requests are available during the day only." @@ -167,7 +166,7 @@ label tonks_requests_menu: for i in nt_requests_list: if i in []: # Not in the game yet. menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > ton_tier: + elif i.start_tier > states.ton.tier: menu_choices.append(gui.menu_item("-Not ready-", "vague", style="disabled")) else: menu_choices.append(i.get_menu_item()) @@ -189,6 +188,6 @@ label update_ton_requests: # Set event tier to current Tonks tier if they are different python: for i in nt_requests_list: - i.tier = ton_tier + i.tier = states.ton.tier return diff --git a/game/scripts/characters/tonks/talk.rpy b/game/scripts/characters/tonks/talk.rpy index d8e2d4ff..20bdd0f4 100644 --- a/game/scripts/characters/tonks/talk.rpy +++ b/game/scripts/characters/tonks/talk.rpy @@ -1,6 +1,6 @@ label tonks_talk: menu: - "-Ask for help with Quidditch-" (icon="interface/icons/small/quidditch.webp") if cho_tier == 2 and cho_quid.E6_complete and not cho_quid.E8_complete: + "-Ask for help with Quidditch-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 2 and states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e8_complete: gen "Got a moment?" ("base", xpos="far_left", ypos="head") ton "Sure, just make it quick..." ("open", "base", "base", "mid") gen "I have a problem with--" ("base", xpos="far_left", ypos="head") @@ -20,7 +20,7 @@ label tonks_talk: jump tonks_talk - "-Get naked!-" if tonks_strip_happened and tonks.is_any_worn("top", "bottom", "robe"): + "-Get naked!-" if states.her.ev.random_strip.complete and tonks.is_any_worn("top", "bottom", "robe"): gen "Get naked, [name_tonks_genie]!" ("base", xpos="far_left", ypos="head") ton "Of course, [name_genie_tonks]." ("horny", "base", "base", "mid") hide tonks_main @@ -37,7 +37,7 @@ label tonks_talk: ton "I like the way you think, [name_genie_tonks]!" ("horny", "base", "base", "mid") jump tonks_talk - "-Get dressed-" if tonks_strip_happened and not tonks.is_any_worn("top", "bottom", "robe"): + "-Get dressed-" if states.her.ev.random_strip.complete and not tonks.is_any_worn("top", "bottom", "robe"): gen "Put on some clothes, would you..." ("base", xpos="far_left", ypos="head") gen "This is a school, after all." ("base", xpos="far_left", ypos="head") ton "Do I have to?" ("annoyed", "narrow", "base", "mid") @@ -140,7 +140,7 @@ label tonks_talk: gen "But I thought you didn't mind it?" ("base", xpos="far_left", ypos="head") ton "Oh, I don't mind at all, [name_genie_tonks]!" ("horny", "base", "base", "mid") - "-Lover-" (style="disabled") if ton_friendship < 60: + "-Lover-" (style="disabled") if states.ton.level < 60: label .lover_fail: ton "You mean that you \"love how well we work together\", right?" ("base", "narrow", "raised", "mid") gen "*Err*..." ("base", xpos="far_left", ypos="head") @@ -157,7 +157,7 @@ label tonks_talk: gen "Well, I suppose that's what lovers do, am I right?" ("base", xpos="far_left", ypos="head") ton "Nice try..." ("base", "narrow", "base", "mid") - "-Lover-" if ton_friendship >= 60: + "-Lover-" if states.ton.level >= 60: label .lover: $ name_genie_tonks = "Lover" ton "As you wish, \"Lover boy\"..." ("horny", "narrow", "base", "mid") @@ -165,7 +165,7 @@ label tonks_talk: ton "Yes my love..." ("base", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - "-Master-" (style="disabled") if ton_friendship < 60: + "-Master-" (style="disabled") if states.ton.level < 60: label .master_fail: ton "No." ("base", "base", "base", "R") gen "What?- Why not?" ("base", xpos="far_left", ypos="head") @@ -176,7 +176,7 @@ label tonks_talk: ton "Until then you can forget about it..." ("base", "base", "base", "mid") gen "...................." ("base", xpos="far_left", ypos="head") - "-Master-" if ton_friendship >= 60: + "-Master-" if states.ton.level >= 60: label .master: $ name_genie_tonks = "Master" ton "Yes, [name_genie_tonks]." ("open", "base", "base", "mid") @@ -188,15 +188,15 @@ label tonks_talk: ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "down") gen "(I could get used to that.)" ("grin", xpos="far_left", ypos="head") - "-Custom Input--" (style="disabled") if ton_friendship < 60: + "-Custom Input--" (style="disabled") if states.ton.level < 60: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") - "-Custom Input-" if ton_friendship >= 60: + "-Custom Input-" if states.ton.level >= 60: $ temp_name = renpy.input("(Please enter the name.)", name_genie_tonks, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name.lower() in ("sir", "dumbledore", "professor", "old man", "genie", "lord voldemort", "daddy", "master"): - if temp_name.lower() == "master" and ton_friendship < 60: + if temp_name.lower() == "master" and states.ton.level < 60: jump tonks_talk.master_fail $ renpy.jump("tonks_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label else: @@ -295,7 +295,7 @@ label tonks_talk: gen "Sure... Doesn't make you less of a whore though." ton "*Mmm*... Alright, fine, If calling me a whore is the punishment for being a good teacher then you can call me a whore any day..." ("horny", "narrow", "base", "mid") - "-Cunt-" (style="disabled") if ton_friendship < 60: + "-Cunt-" (style="disabled") if states.ton.level < 60: label .cunt_fail: ton "[name_genie_tonks], I'm used to getting insulted by my many previous lovers..." ("base", "base", "raised", "mid") ton "Truth be told I bloody love it!" ("open_wide_tongue", "base", "base", "ahegao") @@ -305,7 +305,7 @@ label tonks_talk: ton "I'm glad.{w} You are a very polite man, [name_genie_tonks]..." ("base", "base", "base", "mid") gen "..........................." ("base", xpos="far_left", ypos="head") - "-Cunt-" if ton_friendship >= 60: + "-Cunt-" if states.ton.level >= 60: label .cunt: $ name_tonks_genie = "Cunt" ton "*Uuuh*, [name_genie_tonks]..." ("base", "base", "raised", "mid") @@ -313,14 +313,14 @@ label tonks_talk: gen "What if I do?" ("grin", xpos="far_left", ypos="head") ton "Do it, I dare you!" ("horny", "base", "base", "mid", hair="horny") - "-Slave-"(style="disabled") if ton_friendship < 60: + "-Slave-"(style="disabled") if states.ton.level < 60: label .slave_fail: ton "To who?" ("soft", "base", "raised", "mid") gen "To me." ("grin", xpos="far_left", ypos="head") ton "*giggles*" ("grin", "closed", "base", "mid") ton "No, I don't think so [name_genie_tonks]." ("base", "base", "base", "mid") - "-Slave-" if ton_friendship >= 60: + "-Slave-" if states.ton.level >= 60: label .slave: $ name_tonks_genie = "Slave" ton "Does this mean I have to be obedient?" ("soft", "narrow", "raised", "mid") @@ -342,14 +342,14 @@ label tonks_talk: gen "Yep." ("base", xpos="far_left", ypos="head") gen "Now give me ten push-ups, slave!" ("base", xpos="far_left", ypos="head") - "-Custom Input--" (style="disabled") if ton_friendship < 60: + "-Custom Input--" (style="disabled") if states.ton.level < 60: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") - "-Custom Input-" if ton_friendship >= 60: + "-Custom Input-" if states.ton.level >= 60: $ temp_name = renpy.input("(Please enter the name.)", name_tonks_genie, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name.lower() in ("tonks", "nymphadora", "nympho", "fuck puppet", "bitch", "cunt"): - if temp_name.lower() == "cunt" and ton_friendship < 60: + if temp_name.lower() == "cunt" and states.ton.level < 60: jump tonks_talk.cunt_fail $ renpy.jump("tonks_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label else: diff --git a/game/scripts/characters/tonks/vars.rpy b/game/scripts/characters/tonks/vars.rpy index b7ab9fe9..0be9d601 100644 --- a/game/scripts/characters/tonks/vars.rpy +++ b/game/scripts/characters/tonks/vars.rpy @@ -1,24 +1,34 @@ -# Stats -default ton_tier = 1 -default ton_friendship = 0 #Max is 100. -default ton_reputation = 0 -default ton_clothing_level = 100 -default ton_mood = 0 -# Flags -default tonks_busy = False -default tonks_unlocked = False -default tonks_favors_unlocked = False -default tonks_requests_unlocked = False -default tonks_shaming_unlocked = False -default tonks_wardrobe_unlocked = True # Note: Tonks wardrobe is unlocked by default. -default tonks_chatted = False -default tonks_strip_happened = False # Tonks random clothing event -default tonks_morph_known = False # Genie knows about Tonks being a Metamorphmagus -default tonks_outfits_schedule = True +# General states + +default states.ton.tier = 1 +default states.ton.level = 0 +default states.ton.public_tier = 0 +default states.ton.public_level = 0 +default states.ton.mood = 0 +default states.ton.unlocked = False +default states.ton.busy = False +default states.ton.gifted = False +default states.ton.favors_unlocked = False +default states.ton.requests_unlocked = False +default states.ton.wardrobe_unlocked = True # Unlocked by default +default states.ton.wardrobe_scheduling = True +default states.ton.chatted = False +default states.ton.map_location = "room_defense" + +# Event flags + +default states.ton.ev.intro.e1_complete = False # 1st visit +default states.ton.ev.intro.e2_complete = False # 2nd visit +default states.ton.ev.intro.e3_complete = False # 3rd visit, summon unlocked. +default states.ton.ev.hangouts.hermione_e1 = False +default states.ton.ev.hangouts.susan_e1 = False +default states.ton.ev.hangouts.astoria_e1 = False +default states.ton.ev.hangouts.favors_e1 = False +default states.ton.ev.hangouts.favors_e2 = False +default states.ton.ev.random_strip.complete = False + default ton_level_up = None -default gave_tonks_gift = False -default tonks_mail_list = [] init offset = 5 default tonks_haircolor = [c for c in ton_hair_base.color] diff --git a/game/scripts/characters/tonks/wardrobe_reactions.rpy b/game/scripts/characters/tonks/wardrobe_reactions.rpy index cf3c9ef7..87ada0fa 100644 --- a/game/scripts/characters/tonks/wardrobe_reactions.rpy +++ b/game/scripts/characters/tonks/wardrobe_reactions.rpy @@ -149,7 +149,7 @@ label ton_reaction_equip_fail(item): label ton_reaction_unequip(item): ### Example # if item.type == "panties": - # if ton_friendship > 15: + # if states.ton.level > 15: # ton "You want to see my snatch?" # ton "You got it [name_genie_hermione]!" # @@ -707,16 +707,16 @@ label ton_reaction_blacklist(item): return label ton_reaction_fallback(item): - if ton_friendship < get_character_requirement("tonks", "unequip top") and not "top" in tonks.blacklist and not item.type == "top": + if states.ton.level < get_character_requirement("tonks", "unequip top") and not "top" in tonks.blacklist and not item.type == "top": $ tonks.equip(ton_top_auror) - if ton_friendship < get_character_requirement("tonks", "unequip bottom") and not "bottom" in tonks.blacklist and not item.type == "bottom": + if states.ton.level < get_character_requirement("tonks", "unequip bottom") and not "bottom" in tonks.blacklist and not item.type == "bottom": $ tonks.equip(ton_bottoms_leggings) - # if ton_friendship < get_character_requirement("tonks", "unequip bra") and not "bra" in tonks.blacklist and not item.type == "bra": + # if states.ton.level < get_character_requirement("tonks", "unequip bra") and not "bra" in tonks.blacklist and not item.type == "bra": # $ tonks.equip(None) - # if ton_friendship < get_character_requirement("tonks", "unequip panties") and not "panties" in tonks.blacklist and not item.type == "panties": + # if states.ton.level < get_character_requirement("tonks", "unequip panties") and not "panties" in tonks.blacklist and not item.type == "panties": # $ tonks.equip(None) ton "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/chibis/classes.rpy b/game/scripts/chibis/classes.rpy index 908d5e7d..fda56e1d 100644 --- a/game/scripts/chibis/classes.rpy +++ b/game/scripts/chibis/classes.rpy @@ -355,7 +355,7 @@ init -1 python: @staticmethod def get(room=None): - room = room or renpy.store.current_room + room = room or renpy.store.states.room chibi_room = ChibiRoom.rooms.get(room, None) if not chibi_room: raise Exception("Chibi room is not defined for {}".format(room)) diff --git a/game/scripts/doll/outfits.rpy b/game/scripts/doll/outfits.rpy index ec85c1eb..a3f1aad8 100644 --- a/game/scripts/doll/outfits.rpy +++ b/game/scripts/doll/outfits.rpy @@ -106,7 +106,7 @@ init python: "interface/wardrobe/export_background.webp", d, "interface/wardrobe/export_frame.webp", - Text(active_girl, align=(0.5, 0.995)), + Text(states.active_girl, align=(0.5, 0.995)), Text("Ver. {}".format(config.version), size=10, align=(0.99, 0.99)) ) diff --git a/game/scripts/events/DayNight.rpy b/game/scripts/events/DayNight.rpy index c8f0b6e1..9fe565bb 100644 --- a/game/scripts/events/DayNight.rpy +++ b/game/scripts/events/DayNight.rpy @@ -16,30 +16,29 @@ label day_start: # Reset room objects candleL_OBJ.foreground = None candleR_OBJ.foreground = None - fire_in_fireplace = False + states.fireplace_started = False fireplace_OBJ.foreground = None - phoenix_is_fed = False - phoenix_is_petted = False + states.bird_fed = False + states.bird_petted = False phoenix_OBJ.foreground = None # Removes seeds image - owl_away = False - cupboard_searched = False + states.cupboard_rummaged = False # Reset gift flags - gave_tonks_gift = False - gave_hermione_gift = False - gave_luna_gift = False - gave_cho_gift = False - gave_astoria_gift = False - gave_susan_gift = False + states.ton.gifted = False + states.her.gifted = False + states.lun.gifted = False + states.cho.gifted = False + states.ast.gifted = False + states.sus.gifted = False # Reset chit-chat flags - snape_chatted = False - tonks_chatted = False - hermione_chatted = False - luna_chatted = False - cho_chatted = False - astoria_chatted = False - susan_chatted = False + states.sna.chatted = False + states.ton.chatted = False + states.her.chatted = False + states.lun.chatted = False + states.cho.chatted = False + states.ast.chatted = False + states.sus.chatted = False # Tick Event timers ss_event_pause = max(ss_event_pause-1, 0) @@ -58,13 +57,13 @@ label day_start: sb_summon_pause = max(sb_summon_pause-1, 0) # Reset busy flags (Based on current tick) - snape_busy = True # bool(ss_summon_pause) - tonks_busy = bool(nt_summon_pause) - hermione_busy = bool(hg_summon_pause) - luna_busy = bool(ll_summon_pause) - cho_busy = bool(cc_summon_pause) - astoria_busy = bool(ag_summon_pause) - susan_busy = bool(sb_summon_pause) + states.sna.busy = True # bool(ss_summon_pause) + states.ton.busy = bool(nt_summon_pause) + states.her.busy = bool(hg_summon_pause) + states.lun.busy = bool(ll_summon_pause) + states.cho.busy = bool(cc_summon_pause) + states.ast.busy = bool(ag_summon_pause) + states.sus.busy = bool(sb_summon_pause) # Improve Mood if game.difficulty == 1: # Easy difficulty @@ -74,12 +73,12 @@ label day_start: elif game.difficulty == 3: # Hardcore difficulty val = 1 - ton_mood = max(ton_mood-val, 0) - her_mood = max(her_mood-val, 0) - lun_mood = max(lun_mood-val, 0) - cho_mood = max(cho_mood-val, 0) - ast_mood = max(ast_mood-val, 0) - sus_mood = max(sus_mood-val, 0) + states.ton.mood = max(states.ton.mood-val, 0) + states.her.mood = max(states.her.mood-val, 0) + states.lun.mood = max(states.lun.mood-val, 0) + states.cho.mood = max(states.cho.mood-val, 0) + states.ast.mood = max(states.ast.mood-val, 0) + states.sus.mood = max(states.sus.mood-val, 0) # Game flags game.day += 1 @@ -92,10 +91,10 @@ label day_start: # Send salary every 7th day if game.day % 7 == 0: - if reports_finished >= 1: + if states.paperwork_reports >= 1: letter_work_report.send() - if not first_random_twins: - twins_interest = True + if not states.twi.ev.cardgame.first_random: + states.twi.ev.cardgame.interest = True # Pass time mailbox.tick() @@ -120,23 +119,20 @@ label day_start: call update_snape call update_genie - # Reset and update interface - call update_interface_color - - call room(current_room, stop_sound=False, hide_screens=False) + call room(states.room, stop_sound=False, hide_screens=False) # Equip scheduled outfits - if luna_outfits_schedule: + if states.lun.wardrobe_scheduling: $ luna.equip_random_outfit() - if astoria_outfits_schedule: + if states.ast.wardrobe_scheduling: $ astoria.equip_random_outfit() - if hermione_outfits_schedule: + if states.her.wardrobe_scheduling: $ hermione.equip_random_outfit() - if susan_outfits_schedule: + if states.sus.wardrobe_scheduling: $ susan.equip_random_outfit() - if cho_outfits_schedule: + if states.cho.wardrobe_scheduling: $ cho.equip_random_outfit() - if tonks_outfits_schedule: + if states.ton.wardrobe_scheduling: $ tonks.equip_random_outfit() hide screen blkfade @@ -179,25 +175,25 @@ label night_start: candleL_OBJ.get_action()() if not candleR_OBJ.foreground: candleR_OBJ.get_action()() - cupboard_searched = False + states.cupboard_rummaged = False # Reset chit-chat flags - snape_chatted = False - tonks_chatted = False - hermione_chatted = False - luna_chatted = False - cho_chatted = False - astoria_chatted = False - susan_chatted = False + states.sna.chatted = False + states.ton.chatted = False + states.her.chatted = False + states.lun.chatted = False + states.cho.chatted = False + states.ast.chatted = False + states.sus.chatted = False # Reset busy flags (Based on current tick) - snape_busy = bool(ss_summon_pause) - tonks_busy = bool(nt_summon_pause) - hermione_busy = bool(hg_summon_pause) - luna_busy = bool(ll_summon_pause) - cho_busy = bool(cc_summon_pause) - astoria_busy = bool(ag_summon_pause) - susan_busy = bool(sb_summon_pause) + states.sna.busy = bool(ss_summon_pause) + states.ton.busy = bool(nt_summon_pause) + states.her.busy = bool(hg_summon_pause) + states.lun.busy = bool(ll_summon_pause) + states.cho.busy = bool(cc_summon_pause) + states.ast.busy = bool(ag_summon_pause) + states.sus.busy = bool(sb_summon_pause) # Game flags game.weather = "random" @@ -226,23 +222,20 @@ label night_start: call update_snape call update_genie - # Reset and update interface - call update_interface_color - - call room(current_room, stop_sound=False, hide_screens=False) + call room(states.room, stop_sound=False, hide_screens=False) # Equip scheduled outfits - if luna_outfits_schedule: + if states.lun.wardrobe_scheduling: $ luna.equip_random_outfit() - if astoria_outfits_schedule: + if states.ast.wardrobe_scheduling: $ astoria.equip_random_outfit() - if hermione_outfits_schedule: + if states.her.wardrobe_scheduling: $ hermione.equip_random_outfit() - if susan_outfits_schedule: + if states.sus.wardrobe_scheduling: $ susan.equip_random_outfit() - if cho_outfits_schedule: + if states.cho.wardrobe_scheduling: $ cho.equip_random_outfit() - if tonks_outfits_schedule: + if states.ton.wardrobe_scheduling: $ tonks.equip_random_outfit() hide screen blkfade diff --git a/game/scripts/events/Start.rpy b/game/scripts/events/Start.rpy index 0008c9b6..517f60a9 100644 --- a/game/scripts/events/Start.rpy +++ b/game/scripts/events/Start.rpy @@ -4,7 +4,6 @@ label start_wt: show screen blkfade with d3 show image "images/rooms/_bg_/castle.webp" - call update_interface_color("gray") hide screen blkfade with d3 show screen close_button(action=MainMenu()) @@ -36,9 +35,9 @@ label start_wt: "-Play the intro-": pass "-Skip the intro-": - $ map_unlocked = True - $ sna_friendship = 5 - $ ton_friendship = 5 + $ states.map.unlocked = True + $ states.sna.level = 5 + $ states.ton.level = 5 jump skip_to_hermione hide image "images/rooms/_bg_/castle.webp" @@ -56,7 +55,6 @@ label genie_intro_E1: stop background stop weather - call update_interface_color call room("main_room") call gen_chibi("hide") play music "music/the-chamber-by-kevin-macleod.ogg" fadein 1 if_changed @@ -134,7 +132,7 @@ label genie_intro_E1: desk_OBJ.idle = At("ch_gen sit_behind_desk", pulse_hover) achievements.unlock("start") - genie_intro.E1_complete = True + states.gen.ev.intro.e1_complete = True jump main_room_menu @@ -144,7 +142,7 @@ label genie_intro_E2: gen "Did I just spend an entire day examining this room?" ("base", xpos="far_left", ypos="head") call bld("hide") - $ genie_intro.E2_complete = True + $ states.gen.ev.intro.e2_complete = True # Next is Snape intro E1 @@ -164,7 +162,7 @@ label genie_intro_E3: call tutorial("time") - $ genie_intro.E3_complete = True + $ states.gen.ev.intro.e3_complete = True jump main_room_menu @@ -178,7 +176,7 @@ label genie_intro_E4: call tutorial("mail") - $ genie_intro.E4_complete = True + $ states.gen.ev.intro.e4_complete = True jump main_room_menu diff --git a/game/scripts/events/ending.rpy b/game/scripts/events/ending.rpy index 8799aa34..f084683f 100644 --- a/game/scripts/events/ending.rpy +++ b/game/scripts/events/ending.rpy @@ -14,7 +14,7 @@ label ball_ending_start: her "Have some fun?" ("soft", "narrow", "base", "mid_soft") gen "You read my mind, girl." ("grin", xpos="far_left", ypos="head") - $ ball_quest.started = True + $ states.her.ev.yule_ball.started = True $ ss_event_pause += 2 jump hermione_favor_menu @@ -152,7 +152,7 @@ label ball_ending_E1: gen "Seems like my time in this world has come to an end..." ("base", xpos="far_left", ypos="head") gen "......................." ("base", xpos="far_left", ypos="head") - if not public_whore_ending: + if not "public" in states.her.ev.yule_ball.variant: # Personal whore ending # Writing a letter gen "That Means I'll probably never see the girl again..." ("base", xpos="far_left", ypos="head") @@ -391,7 +391,6 @@ label ball_ending_E2: # Scene Setup $ game.daytime = True - call update_interface_color hide screen bld1 hide screen blktone @@ -430,7 +429,7 @@ label ball_ending_E2: call blktone_top - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: # Public whore ending # Students talking mal "Have you heard that rumour about Hermione Granger?" @@ -660,7 +659,7 @@ label ball_ending_E2: $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "sweat2") her "Alright, sounds like we have no time to lose." - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: # Public whore ending $ dynamic_cg("ball/bj", "background", "base", "sweat") her "*Slurp*! *Gulp*! *Slurp*!" @@ -1050,7 +1049,7 @@ label ball_ending_E2: pause 1.5 - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: # Public whore ending sna "Miss Granger...?" ("snape_03", ypos="head") sna "So you decided to show up after all." ("snape_04") @@ -2652,7 +2651,6 @@ label ball_ending_E2: centered "{size=+7}{color=#cbcbcb}Outskirts of hogwarts{/color}{/size}" $ game.daytime = False - call update_interface_color hide screen cg @@ -2676,13 +2674,13 @@ label ball_ending_E2: gen "Goodbye, world of bizarre magic..." ("base", xpos="far_left", ypos="head") gen "Goodbye, my whores..." ("base", xpos="far_left", ypos="head") gen "Goodbye, smart cumslut Hermione..." ("base", xpos="far_left", ypos="head") - if cho_unlocked: + if states.cho.unlocked: gen "and my token asian Cho..." ("base", xpos="far_left", ypos="head") - if astoria_unlocked: + if states.ast.unlocked: gen "and my sassy blonde Astoria..." ("base", xpos="far_left", ypos="head") - if luna_unlocked: + if states.lun.unlocked: gen "and my {i}wackspit-sucking{/i} queen Luna..." ("base", xpos="far_left", ypos="head") - if susan_unlocked: + if states.sus.unlocked: gen "and my big-titted redhead Susan..." ("base", xpos="far_left", ypos="head") gen "and of course, goodbye to my favourite nympho, Tonks..." ("base", xpos="far_left", ypos="head") gen "....................." ("base", xpos="far_left", ypos="head") @@ -2707,7 +2705,7 @@ label ball_ending_E2: $ achievements.unlock("ending") stop background fadeout 1.0 - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: centered "{size=+7}{color=#cbcbcb}Congratulations on completing the game!{/color}{/size}\n\n{color=#cbcbcb}This is one of two possible endings (public whore){/color}" else: centered "{size=+7}{color=#cbcbcb}Congratulations on completing the game!{/color}{/size}\n\n{color=#cbcbcb}This is one of two possible endings (personal whore){/color}" @@ -2724,7 +2722,6 @@ label ball_ending_E2: centered "{size=+7}{color=#cbcbcb}The next morning...{/color}{/size}" $ game.daytime = True - call update_interface_color $ hermione.equip(her_outfit_default) @@ -2750,7 +2747,7 @@ label ball_ending_E2: hide screen blkfade with d9 - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: play sound "sounds/door.ogg" call sna_chibi("stand","door","base", flip=False) with d3 @@ -2884,11 +2881,11 @@ Farewell, my little [word_03].{/size} pause 2 - $ ball_quest.completed = True + $ states.her.ev.yule_ball.completed = True $ persistent.game_complete = True $ persistent.gold = game.gold - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: $ persistent.ending_02 = True else: $ persistent.ending_01 = True diff --git a/game/scripts/events/ending_after.rpy b/game/scripts/events/ending_after.rpy index 95c0a725..e76241bf 100644 --- a/game/scripts/events/ending_after.rpy +++ b/game/scripts/events/ending_after.rpy @@ -5,7 +5,6 @@ # Genie gets stuck in the cosmos not being able to go anywhere label ending_after: $ game.daytime = False - call update_interface_color call blkfade @@ -111,7 +110,7 @@ label ending_after: nar "You hastily make your way back to the castle, wondering what kind of impulse made you want to leave in the first place..." stop background fadeout 3 - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed nar "Arriving at the great hall you glance through the doors and spot Hermione who's currently enjoying the attention she's receiving from some of the other students." nar "You decide it's probably best to head back to your office. But before you get the chance to slip into the shadows Hermione has already begun making her way in your direction." @@ -192,7 +191,6 @@ label ending_after: # Next day $ game.daytime = True - call update_interface_color call music_block centered "{size=+7}{color=#cbcbcb}The next morning...{/color}{/size}" diff --git a/game/scripts/events/event_class.rpy b/game/scripts/events/event_class.rpy index dc860f52..15c6f016 100644 --- a/game/scripts/events/event_class.rpy +++ b/game/scripts/events/event_class.rpy @@ -1,41 +1,4 @@ init python: - class quest_class(object): - def __init__(self, **kwargs): - self.title = "" - self.hint = "" - - self.__dict__.update(kwargs) - - def status(self): - return list(self.__dict__) - - class counter_class(object): - def __init__(self, **kwargs): - self.title = "" - self.bool = False # Can me switched to 'True' and 'False' for events - self.trigger = False # Can only be switched to 'True' - self.counter = 0 - - self.hg_counter = 0 # Hermione - self.gw_counter = 0 # Ginny - self.cc_counter = 0 # Cho - self.ll_counter = 0 # Luna - self.sb_counter = 0 # Susan - self.ag_counter = 0 # Astoria - self.dg_counter = 0 # Daphne - self.pp_counter = 0 # Pansy - self.ss_counter = 0 # Snape - self.nt_counter = 0 # Tonks - - self.__dict__.update(kwargs) - - def status(self): - return list(self.__dict__) - - def triggered(self): - self.trigger = True - self.counter += 1 - return class event_class(object): """ diff --git a/game/scripts/events/final_events.rpy b/game/scripts/events/final_events.rpy index ec3842f9..afef63fc 100644 --- a/game/scripts/events/final_events.rpy +++ b/game/scripts/events/final_events.rpy @@ -44,7 +44,7 @@ label ball_quest_E1: menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Take some of those clothes off\"" if hermione.is_any_worn("top", "bottom", "bra", "panties"): - $ her_mood += 5 + $ states.her.mood += 5 $ d_flag_01 = True "\"Just stand right there for a moment\"" if not hermione.is_worn("top", "bottom", "bra", "panties"): @@ -61,7 +61,7 @@ label ball_quest_E1: jump ball_quest_E1.after_strip "\"You will have to sleep with me.\"" if not d_flag_02 and not hg_pf_sex.counter > 0: - $ her_mood += 10 + $ states.her.mood += 10 $ d_flag_02 = True her "I will have to... sleep...?" ("angry", "wide", "base", "mid") @@ -84,7 +84,7 @@ label ball_quest_E1: jump ball_quest_E1.choices "\"Never mind. the Position is yours.\"": - $ her_mood = 0 + $ states.her.mood = 0 her "Really?" ("smile", "base", "base", "mid") gen "Yes." ("base", xpos="far_left", ypos="head") @@ -317,9 +317,9 @@ label ball_quest_E1: jump ball_quest_E1.end "\"Touch yourself for me first...\"": - $ hg_masturbated.triggered() + $ states.her.status.masturbating = True $ d_flag_03 = True - $ her_mood += 5 + $ states.her.mood += 5 her "You want me to..." ("shock", "wide", "base", "stare") gen "Flick the bean..." ("base", xpos="far_left", ypos="head") @@ -461,9 +461,9 @@ label ball_quest_E1: gen "A ball, *huh*?" ("base", xpos="far_left", ypos="head") gen "I wonder if I will have to show up for that..." ("base", xpos="far_left", ypos="head") - $ ball_quest.E1_complete = True + $ states.her.ev.yule_ball.e1_complete = True - $ hermione_busy = True + $ states.her.busy = True $ ss_event_pause += 2 # Next event happens in 2 days. jump end_hermione_event @@ -531,7 +531,7 @@ label ball_quest_E2: show screen with_snape(ani=False) $ chair_OBJ.hidden = True - $ fire_in_fireplace = True + $ states.fireplace_started = True $ fireplace_OBJ.foreground = "fireplace_fire" call sna_chibi("hide") hide screen bld1 @@ -540,14 +540,14 @@ label ball_quest_E2: call bld nar "Professor Snape spends the day in your chamber, drinking the stress away." - if sna_friendship < 100: + if states.sna.level < 100: nar "Your relationship with him has improved." - $ sna_friendship +=1 + $ states.sna.level +=1 $ ss_event_pause += 2 $ hg_event_pause += 1 - $ ball_quest.E2_complete = True + $ states.her.ev.yule_ball.e2_complete = True $ chair_OBJ.hidden = False $ fireplace_OBJ.foreground = None @@ -597,10 +597,10 @@ label ball_quest_E3: gen ".............." ("base", xpos="far_left", ypos="head") gen "Schoolgirls..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True + $ states.her.busy = True $ hg_event_pause += 1 - $ ball_quest.E3_complete = True + $ states.her.ev.yule_ball.e3_complete = True jump end_hermione_event @@ -651,10 +651,10 @@ label ball_quest_E4: else: gen "Maybe I should look around the castle and see if I can procure a dress for her." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True + $ states.her.busy = True $ hg_event_pause += 1 - $ ball_quest.E4_complete = True + $ states.her.ev.yule_ball.e4_complete = True $ her_outfit_ball.price = 1000 # Unlocks it in the store jump end_hermione_event @@ -721,7 +721,7 @@ label ball_quest_E5: $ hg_event_pause += 2 - $ ball_quest.gave_dress = True + $ states.her.ev.yule_ball.gave_dress = True $ ball_outfit_ITEM.used = True jump end_hermione_event diff --git a/game/scripts/events/labels.rpy b/game/scripts/events/labels.rpy index ae90a931..41bc04c1 100644 --- a/game/scripts/events/labels.rpy +++ b/game/scripts/events/labels.rpy @@ -3,7 +3,7 @@ label setup_fireplace_hangout(char=None): if not game.daytime: # Night time show screen blkfade - $ fire_in_fireplace = True + $ states.fireplace_started = True $ fireplace_OBJ.foreground = "fireplace_fire" call hide_characters diff --git a/game/scripts/events/map.rpy b/game/scripts/events/map.rpy index 92953796..e63cb73b 100644 --- a/game/scripts/events/map.rpy +++ b/game/scripts/events/map.rpy @@ -1,11 +1,11 @@ label map_attic: - if tentacle_sample: + if states.her.ev.sealed_scroll.sample: gen "(I have no reason to go there anymore.)" ("base", xpos="far_left", ypos="head") jump desk else: - $ tentacle_sample = True + $ states.her.ev.sealed_scroll.sample = True call blkfade gen "(The attic, *huh*...)" ("base", xpos="far_left", ypos="head") @@ -66,7 +66,7 @@ label map_attic: gen "(Question is... Should I use it now, or save it for later?)" ("base", xpos="far_left", ypos="head") "-Use it now-": if game.daytime: - if not hermione_busy: + if not states.her.busy: gen "Yes, there's no time like the present..." ("grin", xpos="far_left", ypos="head") gen "I'll just grab a seat first." ("base", xpos="far_left", ypos="head") @@ -217,38 +217,39 @@ label ravenclaw_dormitories: nar "You search around the dorms but find nothing of interest." jump return_office -label map_pitch: - if pitch_open: - hoo "Hello Professor Dumbledore, nice to see you out of your office today." - hoo "What brings you down to the Quidditch pitch today?" - gen "Quidditch, what sort of name is that?" ("base", xpos="far_left", ypos="head") #put in low talking tone - hoo "What was that?" - gen "Nothing, just commenting about the weather." ("base", xpos="far_left", ypos="head") #Maybe change this - hoo "Well I'm glad that you're here. I wanted to have words with you about a problem that I'm having at the moment." - gen "What's wrong?" ("base", xpos="far_left", ypos="head") - hoo "Attendance at quidditch matches has slowly been declining over the last couple of months." - hoo "Students just don't seem to want to turn up to watch their teams play. It's affecting team morale." - gen "And how would you like to fix this?" ("base", xpos="far_left", ypos="head") - hoo "Perhaps we could make attendance to the match mandatory." - gen "I don't think it would work. If I did that you would just end up with a lot of disgruntled students booing your own team." ("base", xpos="far_left", ypos="head") - gen "If poor attendance is affecting morale I would hate to think what that would do to the players." ("base", xpos="far_left", ypos="head") - hoo "Well then what do you suggest?" - gen "You need a way to attract and excite the crowd. To get the students here and to get them cheering." ("base", xpos="far_left", ypos="head") - gen "What you need is a cheerleading team." ("base", xpos="far_left", ypos="head") - hoo "A what?" - gen "A team of girls to dance and cheer for their team. To get their fellow students brimming with enthusiasm." ("base", xpos="far_left", ypos="head") - hoo "I'm not sure Sir, Hogwarts has always been a traditional school." - hoo "Something like this goes in the face of that legacy." - gen "Well if you feel that way then I think you might just have to accept the declining number of students watching the game." ("base", xpos="far_left", ypos="head") - hoo "Fine, but I'm not comfortable with a team of these \"\Cheerleaders\"\. At most I'd be comfortable with one girl dancing." #Maybe adjust this so that there is a team - gen "Well I think I have the perfect candidate. I'll send her over next practice session to try out." ("base", xpos="far_left", ypos="head") - hoo "Okay, just make sure she's wearing something appropriate." - $ pitch_first = False - jump return_office - else: - nar "You look around the open field but can't see any students or teachers." - gen "Mustn't be a practice day." ("base", xpos="far_left", ypos="head") - jump return_office +# Unreachable code +# +# label map_pitch: +# if states.map.quidditch_pitch.unlocked: +# hoo "Hello Professor Dumbledore, nice to see you out of your office today." +# hoo "What brings you down to the Quidditch pitch today?" +# gen "Quidditch, what sort of name is that?" ("base", xpos="far_left", ypos="head") #put in low talking tone +# hoo "What was that?" +# gen "Nothing, just commenting about the weather." ("base", xpos="far_left", ypos="head") #Maybe change this +# hoo "Well I'm glad that you're here. I wanted to have words with you about a problem that I'm having at the moment." +# gen "What's wrong?" ("base", xpos="far_left", ypos="head") +# hoo "Attendance at quidditch matches has slowly been declining over the last couple of months." +# hoo "Students just don't seem to want to turn up to watch their teams play. It's affecting team morale." +# gen "And how would you like to fix this?" ("base", xpos="far_left", ypos="head") +# hoo "Perhaps we could make attendance to the match mandatory." +# gen "I don't think it would work. If I did that you would just end up with a lot of disgruntled students booing your own team." ("base", xpos="far_left", ypos="head") +# gen "If poor attendance is affecting morale I would hate to think what that would do to the players." ("base", xpos="far_left", ypos="head") +# hoo "Well then what do you suggest?" +# gen "You need a way to attract and excite the crowd. To get the students here and to get them cheering." ("base", xpos="far_left", ypos="head") +# gen "What you need is a cheerleading team." ("base", xpos="far_left", ypos="head") +# hoo "A what?" +# gen "A team of girls to dance and cheer for their team. To get their fellow students brimming with enthusiasm." ("base", xpos="far_left", ypos="head") +# hoo "I'm not sure Sir, Hogwarts has always been a traditional school." +# hoo "Something like this goes in the face of that legacy." +# gen "Well if you feel that way then I think you might just have to accept the declining number of students watching the game." ("base", xpos="far_left", ypos="head") +# hoo "Fine, but I'm not comfortable with a team of these \"\Cheerleaders\"\. At most I'd be comfortable with one girl dancing." #Maybe adjust this so that there is a team +# gen "Well I think I have the perfect candidate. I'll send her over next practice session to try out." ("base", xpos="far_left", ypos="head") +# hoo "Okay, just make sure she's wearing something appropriate." +# jump return_office +# else: +# nar "You look around the open field but can't see any students or teachers." +# gen "Mustn't be a practice day." ("base", xpos="far_left", ypos="head") +# jump return_office label outskirts_of_hogwarts: call blkfade @@ -280,7 +281,6 @@ label return_office: show screen blkfade with d3 - call update_interface_color pause.8 jump main_room diff --git a/game/scripts/events/potions/intro.rpy b/game/scripts/events/potions/intro.rpy index 0910e340..a1394583 100644 --- a/game/scripts/events/potions/intro.rpy +++ b/game/scripts/events/potions/intro.rpy @@ -1,22 +1,11 @@ -default snape_office_intro_E0 = False -default snape_office_intro_E1 = False -default snape_office_intro_E1_stage = 0 -default snape_office_intro_E2 = False - -default snape_station_examined = False -default snape_shelves_examined = False -default snape_picture_examined = False -default snape_statue_examined = False -default snape_desk_examined = False -default snape_candelabra_examined = False label potions_intro_E0: # (Optional) Genie gets caught by Snape, happens only during night time - $ snape_office_discovered = True + $ states.map.snape_office.visited = True - if not snape_office_intro_E0: + if not states.map.snape_office.intro_e1: # First time - $ snape_office_intro_E0 = True + $ states.map.snape_office.intro_e1 = True pause .5 $ snape_office_desk_OBJ.set_image("snape_desk_work_idle") @@ -30,7 +19,7 @@ label potions_intro_E0: $ snape_office_desk_OBJ.set_image("snape_desk_idle") with d3 - if mirror_intro_done: + if states.map.room_of_requirement.intro_e1: sna "Didn't I tell you not to leave your office?" ("snape_04") else: sna "A bit far from your office don't you think?" ("snape_03") @@ -94,7 +83,7 @@ label potions_intro_E0: gen "I'll just go then shall I?" ("base", xpos="far_left", ypos="head") sna "That would be for the best..." ("snape_04") "\"I just came to visit a friend.\"": - if sna_friendship <= 25: + if states.sna.level <= 25: sna "A friend? In here? Who are you--" ("snape_03") sna "*Oh*...{w=0.4} I see..." ("snape_04") gen "(That was cold...)" ("base", xpos="far_left", ypos="head") @@ -113,12 +102,12 @@ label potions_intro_E0: gen "Doing what?" ("base", xpos="far_left", ypos="head") sna "Trying to talk your way out things and changing subjects!" ("snape_32") - if sna_friendship <= 25: + if states.sna.level <= 25: sna "If you don't have anything important to report I think you should leave." ("snape_31") gen "... Alright. I see how it is." ("base", xpos="far_left", ypos="head") else: sna "*Sigh*..." ("snape_06") - "\"Can I borrow your brewing station?\"" if snape_office_intro_E1: + "\"Can I borrow your brewing station?\"" if states.map.snape_office.intro_e2: gen "I thought I could use it to make some potions." ("base", xpos="far_left", ypos="head") sna "Hell no!" ("snape_03") gen "Why not?" ("base", xpos="far_left", ypos="head") @@ -156,7 +145,7 @@ label potions_intro_E0: sna "Genie... Didn't I tell you to call for me if you needed anything?" ("snape_03") gen "Ah, yes... My bad." ("base", xpos="far_left", ypos="head") - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: gen "(Why is he always in his office?)" ("base", xpos="far_left", ypos="head") gen "(Maybe I should try snooping around when he's busy teaching...)" ("base", xpos="far_left", ypos="head") else: @@ -168,13 +157,13 @@ label potions_intro_E0: label potions_intro_E1: # Plays when you first enter the office and Snape is not there - $ snape_office_discovered = True + $ states.map.snape_office.visited = True - if snape_office_intro_E1_stage == 0: + if states.map.snape_office.intro_e2_stage == 0: # Before examination - $ snape_office_intro_E1_stage = 1 + $ states.map.snape_office.intro_e2_stage = 1 - if snape_office_intro_E0: + if states.map.snape_office.intro_e1: gen "(Great... No Snape in sight this time.)" ("base", xpos="far_left", ypos="head") else: pause .5 @@ -192,13 +181,13 @@ label potions_intro_E1: jump snape_office_menu - elif (snape_office_intro_E1_stage == 1 and - snape_station_examined and - snape_shelves_examined and - snape_picture_examined and - snape_statue_examined and - snape_desk_examined and - snape_candelabra_examined): + elif (states.map.snape_office.intro_e2_stage == 1 and + states.map.snape_office.station_examined and + states.map.snape_office.shelves_examined and + states.map.snape_office.picture_examined and + states.map.snape_office.statue_examined and + states.map.snape_office.desk_examined and + states.map.snape_office.candelabra_examined): # After examination @@ -211,8 +200,8 @@ label potions_intro_E1: call popup("You can now brew potions when Snape's not around!", "Congratulations!", "interface/icons/head/snape.webp") $ game.daytime = False - $ snape_office_intro_E1 = True - $ snape_office_intro_E1_stage = 2 + $ states.map.snape_office.intro_e2 = True + $ states.map.snape_office.intro_e2_stage = 2 jump return_office @@ -220,7 +209,7 @@ label potions_intro_E1: label potions_intro_E2: # Genie gets caught by the painting - $ snape_office_intro_E2 = True + $ states.map.snape_office.intro_e3 = True gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "Looks like the coast is clear..." ("base", xpos="far_left", ypos="head") @@ -248,7 +237,7 @@ label potions_intro_E2: call sna_walk(action="enter", xpos="door", ypos="base", flip=True) sna "Genie!" - if snape_office_intro_E0: + if states.map.snape_office.intro_e1: gen "Quiet you, Only my friends get to call me that!" ("base", xpos="far_left", ypos="head") else: gen "Wait, how do you know my name?" ("base", xpos="far_left", ypos="head") @@ -263,7 +252,7 @@ label potions_intro_E2: play sound "sounds/malegasp.ogg" volume 0.40 gen "..." ("angry", xpos="far_left", ypos="head") - if snape_office_intro_E0: + if states.map.snape_office.intro_e1: sna "I thought I told you to call for me if you needed anything." ("snape_04", ypos="head", trans=d3) call gen_chibi("stand", flip=False) gen "That's weird..." ("base", xpos="far_left", ypos="head") @@ -353,7 +342,7 @@ label potions_intro_E2: sna "Hell no!" ("snape_03") gen "{size=+3}WHY NOT?{/size}" ("angry", xpos="far_left", ypos="head") - if sna_friendship > 50: + if states.sna.level > 50: sna "Because...{w=0.4} I...{w=0.2} know...{w=0.2} You..." ("snape_10") gen "You do?" ("base", xpos="far_left", ypos="head") sna "I {i}know{/i} that you would mess it up I should say..." ("snape_03") @@ -371,7 +360,7 @@ label potions_intro_E2: sna "*Ahem*...{w=0.4} Yes." ("snape_25") sna "They weren't really useful for what I wanted so I changed them a bit..." ("snape_37") - if mirror_intro_done: + if states.map.room_of_requirement.intro_e1: gen "Much like that mirror..." ("base", xpos="far_left", ypos="head") sna "Actually, about that...{w=0.4} I can't seem to be able to get into that room again..." ("snape_38") diff --git a/game/scripts/events/Quests.rpy b/game/scripts/events/quests.rpy similarity index 50% rename from game/scripts/events/Quests.rpy rename to game/scripts/events/quests.rpy index 39818e70..0a78c6c2 100644 --- a/game/scripts/events/Quests.rpy +++ b/game/scripts/events/quests.rpy @@ -9,34 +9,34 @@ label quests: $ renpy.choice_for_skipping() - if current_room == "main_room": + if states.room == "main_room": # # DAY-BASED EVENTS # if game.day >= 1: if game.daytime: - if not genie_intro.E2_complete and bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if not states.gen.ev.intro.e2_complete and states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: - if not snape_intro.E1_complete: + if not states.sna.ev.intro.e1_complete: jump snape_intro_E1 if game.day >= 2: if game.daytime: - if not genie_intro.E3_complete: + if not states.gen.ev.intro.e3_complete: jump genie_intro_E3 else: - if ss_event_pause == 0 and not snape_intro.E2_complete: + if ss_event_pause == 0 and not states.sna.ev.intro.e2_complete: # Snape's second visit. jump snape_intro_E2 if game.day >= 3: if game.daytime: - if not genie_intro.E4_complete: + if not states.gen.ev.intro.e4_complete: jump genie_intro_E4 else: - if ss_event_pause == 0 and not snape_intro.E3_complete: + if ss_event_pause == 0 and not states.sna.ev.intro.e3_complete: # Day of the duel. jump snape_intro_E3 @@ -45,19 +45,19 @@ label quests: if game.daytime: pass else: - if ss_event_pause == 0 and not snape_intro.E5_complete: + if ss_event_pause == 0 and not states.sna.ev.intro.e5_complete: # You bother decide to just "roll with it"... Snape summon unlocked. jump snape_intro_E5 if game.day >= 5: if game.daytime: - if hg_event_pause == 0 and not hermione_intro.E1_complete: + if hg_event_pause == 0 and not states.her.ev.intro.e1_complete: # Hermione shows up for the first time. jump hermione_intro_E1 if game.day >= 6: if game.daytime: - if hg_event_pause == 0 and ss_he.hermione_E1 and not hermione_intro.E2_complete: + if hg_event_pause == 0 and states.sna.ev.hangouts.hermione_e1 and not states.her.ev.intro.e2_complete: # Second visit from Hermione. Says she sent a letter to the Ministry. jump hermione_intro_E2 else: @@ -67,7 +67,7 @@ label quests: if game.daytime: pass else: - if hg_event_pause == 0 and ss_he.hermione_E2 and not hermione_intro.E3_complete: + if hg_event_pause == 0 and states.sna.ev.hangouts.hermione_e2 and not states.her.ev.intro.e3_complete: # Takes place after first special event with Snape, where he just complains about Hermione. # Hermione might have failed a test... jump hermione_intro_E3 @@ -76,23 +76,23 @@ label quests: if game.daytime: pass else: - if hg_event_pause == 0 and hermione_intro.E3_complete and not hermione_intro.E4_complete: + if hg_event_pause == 0 and states.her.ev.intro.e3_complete and not states.her.ev.intro.e4_complete: # She failed a test and cries. jump hermione_intro_E4 if game.day >= 9: if game.daytime: - if hg_event_pause == 0 and hermione_intro.E4_complete and not hermione_intro.E5_complete: + if hg_event_pause == 0 and states.her.ev.intro.e4_complete and not states.her.ev.intro.e5_complete: # Hermione asks to be tutored. Summon unlocked! jump hermione_intro_E5 if game.day >= 10: if game.daytime: - if nt_event_pause == 0 and hermione_intro.E5_complete and not tonks_intro.E1_complete: + if nt_event_pause == 0 and states.her.ev.intro.e5_complete and not states.her.ev.intro.e1_complete: # Tonks visits for the first time. jump tonks_intro_E1 else: - if tonks_intro.E1_complete and not tonks_intro.E2_complete: + if states.her.ev.intro.e1_complete and not states.her.ev.intro.e2_complete: # Tonks has found no evidence so far. jump tonks_intro_E2 @@ -100,18 +100,18 @@ label quests: if game.daytime: pass else: - if nt_event_pause == 0 and ss_he.tonks_E1 and not tonks_intro.E3_complete: + if nt_event_pause == 0 and states.sna.ev.hangouts.tonks_e1 and not states.her.ev.intro.e3_complete: # Tonks becomes a teacher. Summon unlocked! jump tonks_intro_E3 if game.day >= 13: if game.daytime: - if hg_event_pause == 0 and hermione_intro.E5_complete and ss_he.tonks_E1 and nt_he.hermione_E1 and not hermione_intro.E6_complete: + if hg_event_pause == 0 and states.her.ev.intro.e5_complete and states.sna.ev.hangouts.tonks_e1 and states.her.ev.intro.convinced and not states.her.ev.intro.e6_complete: # Hermione wants to buy favours. Favours unlocked! jump hermione_intro_E6 if is_puzzle_box_in_fireplace(): - $ fire_in_fireplace = False + $ states.fireplace_started = False $ fireplace_OBJ.foreground = "glow_effect_fireplace" elif fireplace_OBJ.foreground == "glow_effect_fireplace": $ fireplace_OBJ.foreground = None @@ -120,12 +120,12 @@ label quests: # CARDGAME - EVENTS # - if game.day >= twins_cards_delay: - if deck_unlocked and twins_first_win and not twins_cards_stocked: + if game.day >= states.twi.ev.cardgame.delay: + if states.cardgame.unlocked and states.twi.ev.cardgame.stage >= 1 and not states.twi.ev.cardgame.stocked: if not game.daytime: $ letter_cards_store.send() - if geniecard_level < 2 and snape_third_win and her_third_win and twins_second_win: + if geniecard_level < 2 and states.sna.ev.cardgame.stage >= 3 and states.her.ev.cardgame.stage >= 3 and states.twi.ev.cardgame.stage >= 2: if not game.daytime: $ letter_cards_tier2.send() @@ -136,61 +136,61 @@ label quests: if cc_event_pause == 0: if game.daytime: - if not cho_intro.E1_complete and her_tier >= 2: + if not states.cho.ev.intro.e1_complete and states.her.tier >= 2: # Cho intro jump cho_intro_E1 - if hufflepuff_match == "start": + if states.cho.ev.quidditch.hufflepuff_stage == "start": $ game.weather = "clear" stop weather - $ hufflepuff_match = "return" + $ states.cho.ev.quidditch.hufflepuff_stage = "return" jump hufflepuff_match - elif slytherin_match == "start": + elif states.cho.ev.quidditch.slytherin_stage == "start": $ game.weather = "clear" stop weather - $ slytherin_match = "return" + $ states.cho.ev.quidditch.slytherin_stage = "return" jump slytherin_match - elif gryffindor_match == "start": + elif states.cho.ev.quidditch.gryffindor_stage == "start": $ game.weather = "clear" stop weather - $ gryffindor_match = "return" + $ states.cho.ev.quidditch.gryffindor_stage = "return" jump gryffindor_match - if cho_tier == 1: + if states.cho.tier == 1: # Lee Jordan gets knocked out cold - if cho_quid.hufflepuff_training and not cho_quid.E3_complete: + if states.cho.ev.quidditch.hufflepuff_training and not states.cho.ev.quidditch.e3_complete: jump cho_quid_E3 - elif cho_tier == 2: + elif states.cho.tier == 2: # Hermione refuses to commentate for Slytherin match. - if cho_quid.slytherin_failed and not cho_quid.E6_complete: + if states.cho.ev.quidditch.slytherin_failed and not states.cho.ev.quidditch.e6_complete: jump cho_quid_E6 - elif cho_tier == 3: + elif states.cho.tier == 3: # Genie decides to get the broom. - if cho_quid.gryffindor_training and not cho_quid.E12_complete: + if states.cho.ev.quidditch.gryffindor_training and not states.cho.ev.quidditch.e12_complete: jump cho_quid_E12 # Informs the player that all preparations are complete - if cho_quid.E11_complete and cho_quid.E12_complete and not cho_quid.E13_complete: + if states.cho.ev.quidditch.e11_complete and states.cho.ev.quidditch.e12_complete and not states.cho.ev.quidditch.e13_complete: jump cho_quid_E13 else: # Introduction - if cho_intro.E1_complete and not cho_intro.E2_complete: + if states.cho.ev.intro.e1_complete and not states.cho.ev.intro.e2_complete: jump cho_intro_E2 # Quidditch training matches - if cho_quid.in_progress: - $ cho_quid.in_progress = False + if states.cho.ev.quidditch.in_progress: + $ states.cho.ev.quidditch.in_progress = False - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff jump cc_ht_return - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin jump cc_st_return - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor jump cc_gt_return @@ -211,7 +211,7 @@ label quests: if sb_event_pause == 0: if game.daytime: # Introduction - if nt_he.susan_E1 and not susan_intro.E1_complete: + if states.ton.ev.hangouts.susan_e1 and not states.sus.ev.intro.e1_complete: jump susan_intro_E1 $ play_potion_return("susan") @@ -224,13 +224,14 @@ label quests: if ag_event_pause == 0: if game.daytime: # Introduction - if astoria_intro.E2_hermione and astoria_intro.E2_snape and not astoria_intro.E3_complete: + if states.ast.ev.intro.e2_ask_hermione and states.ast.ev.intro.e2_ask_snape and not states.ast.ev.intro.e3_complete: + $ states.ast.ev.intro.e2_complete = True jump astoria_intro_E3 - if nt_he.astoria_E1 and not astoria_intro.E4_complete: + if states.ton.ev.hangouts.astoria_e1 and not states.ast.ev.intro.e4_complete: jump astoria_intro_E4 else: # Introduction - if susan_intro.E1_complete and not astoria_intro.E1_complete: + if states.sus.ev.intro.e1_complete and not states.ast.ev.intro.e1_complete: jump astoria_intro_E1 python: @@ -248,13 +249,13 @@ label quests: if ss_event_pause == 0: if game.daytime: # Ending events - if her_whoring >= 15 and ball_quest.E1_complete and not ball_quest.E2_complete: + if states.her.level >= 15 and states.her.ev.yule_ball.e1_complete and not states.her.ev.yule_ball.e2_complete: # Snape complains that appointing Hermione in the Autumn Ball committee was a mistake. jump ball_quest_E2 else: # Ending events - if ball_quest.started and not ball_quest.completed: + if states.her.ev.yule_ball.started and not states.her.ev.yule_ball.completed: jump ball_ending_E1 # @@ -264,11 +265,7 @@ label quests: # Tonks events not triggered by a date. if nt_event_pause == 0: if game.daytime: - python: - for i in tonks_mail_list: - if i == "poster_1_gift": - letter_nt_1.send() - tonks_mail_list.remove(i) + pass else: python: for i in nt_requests_list: @@ -285,15 +282,15 @@ label quests: if hg_event_pause == 0: if game.daytime: # Ending events - if her_whoring >= 15 and not ball_quest.E1_complete: + if states.her.level >= 15 and not states.her.ev.yule_ball.e1_complete: # Hermione wants to be in the Autumn Ball committee. jump ball_quest_E1 - if her_whoring >= 18 and ball_quest.E2_complete and not ball_quest.E3_complete: + if states.her.level >= 18 and states.her.ev.yule_ball.e2_complete and not states.her.ev.yule_ball.e3_complete: # Hermione cries about having no proper dress for the Ball. jump ball_quest_E3 - if her_whoring >= 18 and ball_quest.E3_complete and not ball_quest.E4_complete: + if states.her.level >= 18 and states.her.ev.yule_ball.e3_complete and not states.her.ev.yule_ball.e4_complete: # Hermione apologizes for the day (event) before. jump ball_quest_E4 @@ -328,32 +325,32 @@ label quests: # if ll_event_pause == 0: - if not luna_intro_E1 and her_tier >= 3: + if not states.lun.ev.intro.e1_complete and states.her.tier >= 3: if not game.daytime: # Luna barges into your office sleepwalking. jump luna_intro_E1 - if luna_intro_E1 and not luna_intro_E2: + if states.lun.ev.intro.e1_complete and not states.lun.ev.intro.e2_complete: if game.daytime: jump luna_intro_E2 - if spectrespecs_E1 and not quibbler_stocked: + if states.lun.ev.spectrespecs.e1_complete and not states.lun.ev.quibbler.stocked: if game.daytime: jump spectrespecs_E2_reminder $ play_potion_return("luna") - elif current_room == "snape_office": + elif states.room == "snape_office": if game.daytime: - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: # Genie searches the office jump potions_intro_E1 - if not snape_office_intro_E2 and snape_office_intro_E1: + if not states.map.snape_office.intro_e3 and states.map.snape_office.intro_e2: # Genie gets caught by the painting. jump potions_intro_E2 else: - if not snape_office_intro_E2: + if not states.map.snape_office.intro_e3: # (Optional) Genie gets caught by Snape. (E0 can play either before or after E1) jump potions_intro_E0 @@ -363,150 +360,3 @@ label quests: # If no quest event is triggered, resume normally from the main room call music_block call screen room_menu - - -### Quests flags ### - -# Genie -default genie_intro = quest_class( - E1_complete = False, - E2_complete = False, - E3_complete = False, - E4_complete = False, -) - -# Snape -default snape_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit - E3_complete = False, # 3rd visit, before the duel. - duel_complete = False, # Duel - E4_complete = False, # After the duel. - E5_complete = False, # 4th visit, summon unlocked. -) - -# Hermione -default hermione_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit, MRM + informed the Ministry. - E3_complete = False, # 3rd visit, did she fail a test? - E4_complete = False, # 4th visit, she's crying. Failed a test. - E5_complete = False, # 5th visit, asks to be tutored, summon unlocked. - E6_complete = False, # 6th visit, asks to buy favours, favours unlocked. -) - -# Tonks -default tonks_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit - E3_complete = False, # 3rd visit, summon unlocked. -) - -# Cho -default cho_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit - E3_intro = False, # You talked to Hermione once, but event failed. - E3_complete = False, # 3rd visit, summon unlocked. -) - -default cho_quid = quest_class( - E1_complete = False, # Hufflepuff - Intro 1 - E2_complete = False, # Hufflepuff - Intro 2 - E3_complete = False, # Lee Jordan gets hit by a bludger - E4_complete = False, # Genie asks Hermione to commentate - E5_complete = False, # Slytherin - Intro 1 - E6_complete = False, # Hermione refuses to commentate. - E7_complete = False, # Blackmail Hermione. - E8_complete = False, # Ask Tonks for help (Hangout) - E9_complete = False, # Ask Snape for help (Hangout)(Optional) - E10_complete = False, # Gryffindor - Intro 1 - E11_complete = False, # Ask Luna for help (Talk) - E12_complete = False, # Acquire new broom - E13_complete = False, # Notify the player that all preparations are complete - E14_complete = False, # Quidditch Outro - - hufflepuff_prepared = False, # Ready for practice match? (Requirements: tactic) - hufflepuff_training = False, # Finished Hufflepuff practice match? - hufflepuff_complete = False, # Finished Hufflepuff event chain? - - slytherin_failed = False, # Has failed first training match? - slytherin_prepared = False, # Ready for practice match? (Requirements: tactic, blackmail Hermione, Tonks' help) - slytherin_training = False, # Finished Slytherin practice match? - slytherin_complete = False, # Finished Slytherin event chain? - - gryffindor_failed = False, # Found a cheerleader? (Requirements: Ask Luna) - gryffindor_prepared = False, # Ready for practice match? (Requirements: tactic) - gryffindor_training = False, # Finished Gryffindor practice match? - gryffindor_complete = False, # Finished Gryffindor event chain? - - position = "", # Valid choices: "front", "above", "close" - - lock_training = False, - lock_practice = True, - lock_tactic = False, - in_progress = False, -) - -default cho_quiz = quest_class( - E1_complete = False, - E2_complete = False, - - correct_answers = 0, - checkpoint = False, - lost = False, - complete = False, - - hint = "" # Set after reading Quidditch Book -) - -# Susan -default susan_intro = quest_class( - E1_complete = False, # Susan visits. -) - -# Astoria -default astoria_intro = quest_class( - E1_complete = False, # Tonks visits. - E2_hermione = False, # Tell Hermione to look for her. - E2_snape = False, # Tell Snape to look for her. - E3_complete = False, # Hermione finds her. - E4_complete = False, # Unlock Astoria. -) - -# Ball Quest -default ball_quest = quest_class( - E1_complete = False, - E2_complete = False, - E3_complete = False, - E4_complete = False, - gave_dress = False, - started = False, - completed = False, -) - - -### Hangout Events ### - -# Snape -default ss_he = quest_class( - hermione_E1 = False, # I hate her! - hermione_E2 = False, # Let's ruin her! - tonks_E1 = False, # Discuss Tonks with Snape. - tonks_E2 = False, # Inform him that Tonks has joined you both. - tonks_E3 = False, # Tonks is teaching DAtDA. Snape might use Veritaserum on her... - cho_E1 = False, # You tell Snape that you have met Cho. - cho_E2 = False, # Get some help with Quidditch. - - hermione_strip = False, # You invite Snape to watch Hermione strip. -) - -# Tonks -default nt_he = quest_class( - hermione_E1 = False, # Help with/unlock Hermione's favours. - susan_E1 = False, # Tonks is worried about Susan. - astoria_E1 = False, # Tonks suggests to teach Astoria the Imperius curse. - - favors_E1 = False, # Unlock Public Requests. - favors_E2 = False, # Advance to Tier 2. -) diff --git a/game/scripts/events/variables.rpy b/game/scripts/events/variables.rpy new file mode 100644 index 00000000..92d552a1 --- /dev/null +++ b/game/scripts/events/variables.rpy @@ -0,0 +1,45 @@ + +default states.active_girl = None +default states.last_girl = None + +default states.room = "main_room" +default states.menu_pos = (0.5, 0.5) + +default states.map.unlocked = False +default states.map.seventh_floor.unlocked = False +default states.map.seventh_floor.visited = False +default states.map.snape_office.visited = False +default states.map.snape_office.station_examined = False +default states.map.snape_office.shelves_examined = False +default states.map.snape_office.picture_examined = False +default states.map.snape_office.statue_examined = False +default states.map.snape_office.desk_examined = False +default states.map.snape_office.candelabra_examined = False +default states.map.snape_office.intro_e1 = False +default states.map.snape_office.intro_e2 = False +default states.map.snape_office.intro_e2_stage = 0 +default states.map.snape_office.intro_e3 = False +default states.map.room_of_requirement.intro_e1 = False +# default states.map.quidditch_pitch.unlocked = False # TODO: Unreachable currently. + +default states.cupboard_rummaged = False +default states.cupboard_rummaged_times = 0 + +default states.desk_chibi_zorder = 2 # TODO: Resolve and delete after chibi conversion. + +default states.bird_fed = False +default states.bird_fed_times = 0 +default states.bird_petted = False +default states.bird_petted_times = 0 + +default states.fireplace_started = False +default states.fireplace_started_times = 0 + +default states.paperwork_unlocked = False +default states.paperwork_chapters = 0 +default states.paperwork_reports = 0 +default states.paperwork_reports_times = 0 + +default states.healing_potions = 0 # TODO: This should probably be turned into an item. + +default states.cardgame.unlocked = False diff --git a/game/scripts/gui/say.rpy b/game/scripts/gui/say.rpy index e7846e7d..86ddaf8a 100644 --- a/game/scripts/gui/say.rpy +++ b/game/scripts/gui/say.rpy @@ -138,7 +138,7 @@ screen choice(items): window at fade_show_hide(0.15): style "empty" - align (menu_x, menu_y) + align states.menu_pos vbox: spacing 0 diff --git a/game/scripts/interface/cheats.rpy b/game/scripts/interface/cheats.rpy index f619562d..246cfe0f 100644 --- a/game/scripts/interface/cheats.rpy +++ b/game/scripts/interface/cheats.rpy @@ -89,77 +89,77 @@ label cheats: label .characters: menu: - "-Tonks-" (icon="interface/icons/small/tonks.webp") if tonks_unlocked: + "-Tonks-" (icon="interface/icons/small/tonks.webp") if states.ton.unlocked: label .tonks: menu: - "-Reset mood- ([ton_mood])" if ton_mood != 0: - $ ton_mood = 0 + "-Reset mood- ([states.ton.mood])" if states.ton.mood != 0: + $ states.ton.mood = 0 nar "Tonks is no longer mad at you." - "-Increase Friendship- ([ton_friendship])" if ton_friendship < 100: - $ ton_friendship += 5 + "-Increase Friendship- ([states.ton.level])" if states.ton.level < 100: + $ states.ton.level += 5 nar "Tonks likes you more..." - "-Decrease Friendship- ([ton_friendship])" if ton_friendship > 0: - $ ton_friendship -= 5 + "-Decrease Friendship- ([states.ton.level])" if states.ton.level > 0: + $ states.ton.level -= 5 nar "Tonks likes you less..." "-Back-": jump cheats.characters jump cheats.tonks - "-Hermione-" (icon="interface/icons/small/hermione.webp") if hermione_unlocked: + "-Hermione-" (icon="interface/icons/small/hermione.webp") if states.her.unlocked: label .hermione: menu: - "-Reset mood- ([her_mood])" if her_mood != 0: - $ her_mood = 0 + "-Reset mood- ([states.her.mood])" if states.her.mood != 0: + $ states.her.mood = 0 nar "Hermione is no longer mad at you." - "-Increase Whoring- ([her_whoring])" (icon="interface/icons/small/heart_red.webp") if her_whoring < 24: - $ her_whoring += 1 + "-Increase Whoring- ([states.her.level])" (icon="interface/icons/small/heart_red.webp") if states.her.level < 24: + $ states.her.level += 1 nar "Hermione became more depraved..." - "-Decrease Whoring- ([her_whoring])" (icon="interface/icons/small/heart_black.webp") if her_whoring > 0: - $ her_whoring += -1 + "-Decrease Whoring- ([states.her.level])" (icon="interface/icons/small/heart_black.webp") if states.her.level > 0: + $ states.her.level += -1 nar "Hermione recovered some of her dignity." - "-Increase Reputation- ([her_reputation])" (icon="interface/icons/small/star_yellow.webp") if her_reputation < 24: - $ her_reputation += 1 + "-Increase Reputation- ([states.her.public_level])" (icon="interface/icons/small/star_yellow.webp") if states.her.public_level < 24: + $ states.her.public_level += 1 nar "Hermione became more depraved..." - "-Decrease Reputation- ([her_reputation])" (icon="interface/icons/small/star_empty.webp") if her_reputation > 0: - $ her_reputation += -1 + "-Decrease Reputation- ([states.her.public_level])" (icon="interface/icons/small/star_empty.webp") if states.her.public_level > 0: + $ states.her.public_level += -1 nar "Hermione recovered some of her dignity." "-Back-": jump cheats.characters jump cheats.hermione - "-Cho-" (icon="interface/icons/small/cho.webp") if cho_unlocked: + "-Cho-" (icon="interface/icons/small/cho.webp") if states.cho.unlocked: label .cho: menu: - "-Reset mood- ([cho_mood])" if cho_mood != 0: - $ cho_mood = 0 + "-Reset mood- ([states.cho.mood])" if states.cho.mood != 0: + $ states.cho.mood = 0 nar "Cho is no longer mad at you." - "-Increase Whoring- ([cho_whoring])" (icon="interface/icons/small/heart_red.webp") if cho_whoring < 24: - $ cho_whoring += 1 + "-Increase Whoring- ([states.cho.level])" (icon="interface/icons/small/heart_red.webp") if states.cho.level < 24: + $ states.cho.level += 1 nar "Cho became more depraved..." - "-Decrease Whoring- ([cho_whoring])" (icon="interface/icons/small/heart_black.webp") if cho_whoring > 0: - $ cho_whoring += -1 + "-Decrease Whoring- ([states.cho.level])" (icon="interface/icons/small/heart_black.webp") if states.cho.level > 0: + $ states.cho.level += -1 nar "Cho recovered some of her dignity." - "-Increase Reputation- ([cho_reputation])" (icon="interface/icons/small/star_yellow.webp") if cho_reputation < 24: - $ cho_reputation += 1 + "-Increase Reputation- ([states.cho.public_level])" (icon="interface/icons/small/star_yellow.webp") if states.cho.public_level < 24: + $ states.cho.public_level += 1 nar "Cho became more depraved..." - "-Decrease Reputation- ([cho_reputation])" (icon="interface/icons/small/star_empty.webp") if cho_reputation > 0: - $ cho_reputation += -1 + "-Decrease Reputation- ([states.cho.public_level])" (icon="interface/icons/small/star_empty.webp") if states.cho.public_level > 0: + $ states.cho.public_level += -1 nar "Cho recovered some of her dignity." "-Back-": jump cheats.characters jump cheats.cho - "-Luna-" (icon="interface/icons/small/luna.webp") if luna_unlocked: + "-Luna-" (icon="interface/icons/small/luna.webp") if states.lun.unlocked: label .luna: menu: - "-Reset mood- ([cho_mood])" if lun_mood != 0: - $ lun_mood = 0 + "-Reset mood- ([states.cho.mood])" if states.lun.mood != 0: + $ states.lun.mood = 0 nar "Luna is no longer mad at you." - "-Increase Whoring- ([lun_whoring])" (icon="interface/icons/small/heart_red.webp") if lun_whoring < 24: - $ lun_whoring += 1 + "-Increase Whoring- ([states.lun.level])" (icon="interface/icons/small/heart_red.webp") if states.lun.level < 24: + $ states.lun.level += 1 nar "Luna became more depraved..." - "-Decrease Whoring- ([lun_whoring])" (icon="interface/icons/small/heart_black.webp") if lun_whoring > 0: - $ lun_whoring += -1 + "-Decrease Whoring- ([states.lun.level])" (icon="interface/icons/small/heart_black.webp") if states.lun.level > 0: + $ states.lun.level += -1 nar "Luna recovered some of her dignity." # "-Increase Reputation- ([lun_reputation])" (icon="interface/icons/small/star_yellow.webp") if lun_reputation < 24: # $ lun_reputation += 1 @@ -171,39 +171,39 @@ label cheats: jump cheats.characters jump cheats.luna - "-Astoria-" (icon="interface/icons/small/astoria.webp") if astoria_unlocked: + "-Astoria-" (icon="interface/icons/small/astoria.webp") if states.ast.unlocked: label .astoria: menu: - "-Reset mood-" if ast_mood != 0: - $ ast_mood = 0 + "-Reset mood-" if states.ast.mood != 0: + $ states.ast.mood = 0 nar "Astoria is no longer mad at you." - "-Increase Whoring-" (icon="interface/icons/small/heart_red.webp") if ast_whoring < 24: - $ ast_whoring += 1 + "-Increase Whoring-" (icon="interface/icons/small/heart_red.webp") if states.ast.level < 24: + $ states.ast.level += 1 nar "Astoria likes you more..." - "-Decrease Whoring-" (icon="interface/icons/small/heart_black.webp") if ast_whoring > 0: - $ ast_whoring += -1 + "-Decrease Whoring-" (icon="interface/icons/small/heart_black.webp") if states.ast.level > 0: + $ states.ast.level += -1 "Astoria likes you less..." - # "-Increase Reputation- ([ast_reputation])" (icon="interface/icons/small/star_yellow.webp") if ast_reputation < 24: - # $ ast_reputation += 1 + # "-Increase Reputation- ([states.ast.public_level])" (icon="interface/icons/small/star_yellow.webp") if states.ast.public_level < 24: + # $ states.ast.public_level += 1 # nar "Astoria became more depraved..." - # "-Decrease Reputation- ([ast_reputation])" (icon="interface/icons/small/star_empty.webp") if ast_reputation > 0: - # $ ast_reputation += -1 + # "-Decrease Reputation- ([states.ast.public_level])" (icon="interface/icons/small/star_empty.webp") if states.ast.public_level > 0: + # $ states.ast.public_level += -1 # nar "Astoria recovered some of her dignity" "-Back-": jump cheats.characters jump cheats.astoria - "-Susan-" (icon="interface/icons/small/huff.webp") if susan_unlocked: + "-Susan-" (icon="interface/icons/small/huff.webp") if states.sus.unlocked: label .susan: menu: - "-Reset mood- ([cho_mood])" if sus_mood != 0: - $ sus_mood = 0 + "-Reset mood- ([states.cho.mood])" if states.sus.mood != 0: + $ states.sus.mood = 0 nar "Susan is no longer mad at you." - "-Increase Whoring- ([sus_whoring])" (icon="interface/icons/small/heart_red.webp") if sus_whoring < 24: - $ sus_whoring += 1 + "-Increase Whoring- ([states.sus.level])" (icon="interface/icons/small/heart_red.webp") if states.sus.level < 24: + $ states.sus.level += 1 nar "Susan became more depraved..." - "-Decrease Whoring- ([sus_whoring])" (icon="interface/icons/small/heart_black.webp") if sus_whoring > 0: - $ sus_whoring += -1 + "-Decrease Whoring- ([states.sus.level])" (icon="interface/icons/small/heart_black.webp") if states.sus.level > 0: + $ states.sus.level += -1 nar "Susan recovered some of her dignity." # "-Increase Reputation- ([sus_reputation])" (icon="interface/icons/small/star_yellow.webp") if sus_reputation < 24: # $ sus_reputation += 1 @@ -278,7 +278,7 @@ label cheats: # "-Hermione-": # jump cheats.progression - # "-Cho-" if her_tier >= 2: + # "-Cho-" if states.her.tier >= 2: # jump cheats.progression "-Back-": @@ -332,13 +332,13 @@ label cheats: nar "All characters are now naked." "-Unlock all characters-" (icon="interface/icons/small/talk.webp"): - $ snape_unlocked = True - $ tonks_unlocked = True - $ hermione_unlocked = True - $ cho_unlocked = True - $ astoria_unlocked = True - $ susan_unlocked = True - $ luna_unlocked = True + $ states.sna.unlocked = True + $ states.ton.unlocked = True + $ states.her.unlocked = True + $ states.cho.unlocked = True + $ states.ast.unlocked = True + $ states.sus.unlocked = True + $ states.lun.unlocked = True # ginny_unlocked = True # voldermort_unlocked = True # hagrid_unlocked = True @@ -346,12 +346,12 @@ label cheats: nar "All characters have been unlocked." "-Unlock all wardrobes-" (icon="interface/icons/small/wardrobe.webp"): - $ tonks_wardrobe_unlocked = True - $ hermione_wardrobe_unlocked = True - $ cho_wardrobe_unlocked = True - $ astoria_wardrobe_unlocked = True - $ susan_wardrobe_unlocked = True - $ luna_wardrobe_unlocked = True + $ states.ton.wardrobe_unlocked = True + $ states.her.wardrobe_unlocked = True + $ states.cho.wardrobe_unlocked = True + $ states.ast.wardrobe_unlocked = True + $ states.sus.wardrobe_unlocked = True + $ states.lun.wardrobe_unlocked = True # ginny_wardrobe_unlocked = True # voldemort_wardrobe_unlocked = True # hagrid_wardrobe_unlocked = True @@ -419,67 +419,67 @@ label cheats: label .hermione_skip_intro: - $ bird_examined = True - $ desk_examined = True - $ cupboard_examined = True - $ door_examined = True - $ fireplace_examined = True + $ states.gen.ev.intro.bird_examined = True + $ states.gen.ev.intro.desk_examined = True + $ states.gen.ev.intro.cupboard_examined = True + $ states.gen.ev.intro.door_examined = True + $ states.gen.ev.intro.fireplace_examined = True $ wine_ITEM.owned = 5 $ firewhisky_ITEM.owned = 5 - $ rum_times = 6 + $ states.cupboard_rummaged_times = 6 $ game.day = 13 $ achievements.unlock("start", True) - $ genie_intro.E1_complete = True - $ genie_intro.E2_complete = True - $ genie_intro.E3_complete = True - $ genie_intro.E4_complete = True + $ states.gen.ev.intro.e1_complete = True + $ states.gen.ev.intro.e2_complete = True + $ states.gen.ev.intro.e3_complete = True + $ states.gen.ev.intro.e4_complete = True - $ snape_intro.E1_complete = True - $ snape_intro.E2_complete = True - $ snape_intro.E3_complete = True - $ snape_intro.duel_complete = True - $ snape_intro.E4_complete = True - $ snape_intro.E5_complete = True + $ states.sna.ev.intro.e1_complete = True + $ states.sna.ev.intro.e2_complete = True + $ states.sna.ev.intro.e3_complete = True + $ states.sna.ev.intro.duel_complete = True + $ states.sna.ev.intro.e4_complete = True + $ states.sna.ev.intro.e5_complete = True - $ ss_he.hermione_E1 = True - $ ss_he.hermione_E2 = True - $ ss_he.tonks_E1 = True - $ ss_he.tonks_E2 = True - $ ss_he.tonks_E3 = True + $ states.sna.ev.hangouts.hermione_e1 = True + $ states.sna.ev.hangouts.hermione_e2 = True + $ states.sna.ev.hangouts.tonks_e1 = True + $ states.sna.ev.hangouts.tonks_e2 = True + $ states.sna.ev.hangouts.tonks_e3 = True - $ tonks_intro.E1_complete = True - $ tonks_intro.E2_complete = True - $ tonks_intro.E3_complete = True + $ states.her.ev.intro.e1_complete = True + $ states.her.ev.intro.e2_complete = True + $ states.her.ev.intro.e3_complete = True - $ nt_he.hermione_E1 = True + $ states.her.ev.intro.convinced = True - $ hermione_intro.E1_complete = True - $ hermione_intro.E2_complete = True - $ hermione_intro.E3_complete = True - $ hermione_intro.E4_complete = True - $ hermione_intro.E5_complete = True - $ hermione_intro.E6_complete = True + $ states.her.ev.intro.e1_complete = True + $ states.her.ev.intro.e2_complete = True + $ states.her.ev.intro.e3_complete = True + $ states.her.ev.intro.e4_complete = True + $ states.her.ev.intro.e5_complete = True + $ states.her.ev.intro.e6_complete = True $ letter_hg_1.open(silent=True) $ letter_hg_2.open(silent=True) $ letter_work_unlock.open(silent=True) $ letter_favors.open(silent=True) - $ snape_unlocked = True + $ states.sna.unlocked = True $ achievements.unlock("unlocksna", True) - $ tonks_unlocked = True + $ states.ton.unlocked = True $ achievements.unlock("unlockton", True) - $ hermione_unlocked = True + $ states.her.unlocked = True $ achievements.unlock("unlockher", True) - $ tutoring_hermione_unlocked = True - $ hermione_favors = True - $ hermione_wardrobe_unlocked = True + $ states.her.ev.tutoring.unlocked = True + $ states.her.favors_unlocked = True + $ states.her.wardrobe_unlocked = True # Simulate points gains $ slytherin = gryffindor @@ -490,32 +490,32 @@ label .hermione_skip_intro: return # label .hermione_skip_T1: -# $ her_tier = 2 -# $ her_whoring = 1 +# $ states.her.tier = 2 +# $ states.her.level = 1 # return # label .hermione_skip_T2: -# $ her_tier = 3 -# $ her_whoring = 9 -# $ hg_jerkoff.trigger = True +# $ states.her.tier = 3 +# $ states.her.level = 9 +# $ states.her.status.handjob = True # return # label .hermione_skip_T3: -# $ her_tier = 4 -# $ her_whoring = 12 -# $ hg_strip.trigger = True +# $ states.her.tier = 4 +# $ states.her.level = 12 +# $ states.her.status.stripping = True # return # label .hermione_skip_T4: -# $ her_tier = 5 -# $ her_whoring = 18 -# $ hg_kiss.trigger = True +# $ states.her.tier = 5 +# $ states.her.level = 18 +# $ states.her.status.kissing = True # return # label .hermione_skip_T5: -# $ her_tier = 6 -# $ her_whoring = 21 -# $ hg_blowjob.trigger = True +# $ states.her.tier = 6 +# $ states.her.level = 21 +# $ states.her.status.blowjob = True # return @@ -524,19 +524,19 @@ label .hermione_skip_intro: # label .cho_skip_intro: # if game.day < 16: # $ game.day = 16 -# $ cho_intro.E1_complete = True -# $ cho_intro.E2_complete = True -# $ ss_he.cho_E1 = True -# $ cho_intro.E3_complete = True +# $ states.cho.ev.intro.e1_complete = True +# $ states.cho.ev.intro.e2_complete = True +# $ states.sna.ev.hangouts.cho_e1 = True +# $ states.cho.ev.intro.e4_complete = True # $ achievements.unlock("unlockcho", True) -# $ cho_unlocked = True +# $ states.cho.unlocked = True # return # label .cho_skip_quiz: -# $ cho_quiz.complete = True -# $ cho_quid.E1_complete = True -# $ cho_quid.E2_complete = True -# $ cho_quid.position = "above" -# $ cho_quid.lock_training = False -# $ cho_favors_unlocked = True +# $ states.cho.ev.quiz.complete = True +# $ states.cho.ev.quidditch.e1_complete = True +# $ states.cho.ev.quidditch.e2_complete = True +# $ states.cho.ev.quidditch.position = "above" +# $ states.cho.ev.quidditch.lock_training = False +# $ states.cho.favors_unlocked = True # return diff --git a/game/scripts/interface/door.rpy b/game/scripts/interface/door.rpy index d89a55e0..6f06bdae 100644 --- a/game/scripts/interface/door.rpy +++ b/game/scripts/interface/door.rpy @@ -16,13 +16,13 @@ label summon_menu(xx=723, yy=90): # Door dictionary $ summon_dict = { - "Snape": {"ico": "snape", "flag": snape_unlocked, "busy": snape_busy, "loc": "randomsnape"}, - "Tonks": {"ico": "tonks", "flag": tonks_unlocked, "busy": tonks_busy, "loc": "randomtonks"}, - "Hermione": {"ico": "hermione", "flag": hermione_unlocked, "busy": hermione_busy, "loc": her_map_location}, - "Cho": {"ico": "cho", "flag": cho_unlocked, "busy": cho_busy, "loc": cho_map_location}, - "Luna": {"ico": "luna", "flag": luna_unlocked, "busy": luna_busy, "loc": lun_map_location}, - "Astoria": {"ico": "astoria", "flag": astoria_unlocked, "busy": astoria_busy, "loc": ast_map_location}, - "Susan": {"ico": "susan", "flag": susan_unlocked, "busy": susan_busy, "loc": sus_map_location} + "Snape": {"ico": "snape", "flag": states.sna.unlocked, "busy": states.sna.busy, "loc": "randomsnape"}, + "Tonks": {"ico": "tonks", "flag": states.ton.unlocked, "busy": states.ton.busy, "loc": "randomtonks"}, + "Hermione": {"ico": "hermione", "flag": states.her.unlocked, "busy": states.her.busy, "loc": states.her.map_location }, + "Cho": {"ico": "cho", "flag": states.cho.unlocked, "busy": states.cho.busy, "loc": states.cho.map_location}, + "Luna": {"ico": "luna", "flag": states.lun.unlocked, "busy": states.lun.busy, "loc": states.lun.map_location}, + "Astoria": {"ico": "astoria", "flag": states.ast.unlocked, "busy": states.ast.busy, "loc": states.ast.map_location }, + "Susan": {"ico": "susan", "flag": states.sus.unlocked, "busy": states.sus.busy, "loc": states.sus.map_location} } $ summon_categories_sorted = ["Snape", "Tonks", "Hermione", "Cho", "Luna", "Astoria", "Susan"] #"Ginny", "Daphne", "Padma", "Patil", "Myrtle", "Mafkin" @@ -135,7 +135,7 @@ screen summon_menu(xx, yy): text map_transcript_loc[summon_dict[char]["loc"]] size 10 xalign 0.625 yalign 0.9 xanchor 0.5 - if not snape_unlocked: + if not states.sna.unlocked: text "You don't know anyone" size 12 at truecenter else: if tmp_x <= 0: diff --git a/game/scripts/interface/hotkeys.rpy b/game/scripts/interface/hotkeys.rpy index 0b498805..306e5375 100644 --- a/game/scripts/interface/hotkeys.rpy +++ b/game/scripts/interface/hotkeys.rpy @@ -162,9 +162,9 @@ init 1 python: screen hotkeys_main(): tag hotkeys_main - if map_unlocked: + if states.map.unlocked: key "map" action Jump("desk") - if letter_work_unlock.read: + if states.paperwork_unlocked: key "work" action Jump("paperwork") key "stats" action Jump("stats") diff --git a/game/scripts/interface/house_points.rpy b/game/scripts/interface/house_points.rpy index bb60d2d6..4c6ab676 100644 --- a/game/scripts/interface/house_points.rpy +++ b/game/scripts/interface/house_points.rpy @@ -7,10 +7,10 @@ label points_changes: # Gets called every day/night. # Bonuses based on Tonks and Snape friendship stat # Tonks' is lower since you can do events with her directly to increase points. - bonus_g = her_tier # Passive bonus - bonus_h = int((ton_friendship/100.0) * (progress_factor*0.7)) - bonus_s = int((sna_friendship/100.0) * progress_factor*0.7) - bonus_r = cho_tier + lun_tier # Passive bonus + bonus_g = states.her.tier # Passive bonus + bonus_h = int((states.ton.level/100.0) * (progress_factor*0.7)) + bonus_s = int((states.sna.level/100.0) * progress_factor*0.7) + bonus_r = states.cho.tier + states.lun.tier # Passive bonus leader = max(hufflepuff, ravenclaw, slytherin, gryffindor) diff --git a/game/scripts/interface/inventory.rpy b/game/scripts/interface/inventory.rpy index b66e4bbe..ffc61947 100644 --- a/game/scripts/interface/inventory.rpy +++ b/game/scripts/interface/inventory.rpy @@ -128,7 +128,7 @@ label inventory_menu(xx=150, yy=90): elif _choice == "give": if current_item.type == "gift": - if getattr(renpy.store, "gave_{}_gift".format(active_girl)): + if getattr(renpy.store, "gave_{}_gift".format(states.active_girl)): show screen blktone with d3 gen "I already gave her a gift today. Don't want to spoil her too much..." ("base", xpos="far_left", ypos="head") @@ -136,13 +136,13 @@ label inventory_menu(xx=150, yy=90): with d3 else: hide screen inventory - $ renpy.call(get_character_gift_label(active_girl), current_item) + $ renpy.call(get_character_gift_label(states.active_girl), current_item) show screen inventory(xx, yy) elif current_item.type == "potion": - if not active_girl in current_item.usable_on: + if not states.active_girl in current_item.usable_on: show screen blktone with d3 - gen "(Something tells me this potion won't work on [active_girl].)" ("base", xpos="far_left", ypos="head") + gen "(Something tells me this potion won't work on [states.active_girl].)" ("base", xpos="far_left", ypos="head") nar "Perhaps in the future..." hide screen blktone with d3 @@ -152,14 +152,14 @@ label inventory_menu(xx=150, yy=90): gen "(Some grander force tells me I should give it to her during daytime only.)" ("base", xpos="far_left", ypos="head") hide screen blktone with d3 - elif get_character_mood(active_girl) > 0: + elif get_character_mood(states.active_girl) > 0: show screen blktone with d3 gen "(I don't think it's a good idea to give it to her when she's still upset with me...)" ("base", xpos="far_left", ypos="head") gen "(I should wait for her to calm down first.)" ("base", xpos="far_left", ypos="head") hide screen blktone with d3 - elif active_girl == "hermione" and not hermione_favors_convinced == 2 and is_in_lead(gryffindor): + elif states.active_girl == "hermione" and not states.her.favors_convinced_stage == 2 and is_in_lead(gryffindor): show screen blktone with d3 @@ -176,12 +176,12 @@ label inventory_menu(xx=150, yy=90): python: enable_game_menu() inventory_mode = 0 - current_item.give(active_girl) + current_item.give(states.active_girl) elif current_item.type == "quest": - if not active_girl in current_item.usable_on: + if not states.active_girl in current_item.usable_on: show screen blktone with d3 - gen "(Something tells me I cannot give this item to [active_girl].)" ("base", xpos="far_left", ypos="head") + gen "(Something tells me I cannot give this item to [states.active_girl].)" ("base", xpos="far_left", ypos="head") nar "Perhaps in the future..." hide screen blktone with d3 @@ -191,14 +191,14 @@ label inventory_menu(xx=150, yy=90): #gen "(Some grander force tells me I should give it to her during daytime only.)" ("base", xpos="far_left", ypos="head") #hide screen blktone #with d3 - elif get_character_mood(active_girl) > 0: + elif get_character_mood(states.active_girl) > 0: show screen blktone with d3 gen "(I don't think it's a good idea to give it to her when she's still upset with me...)" ("base", xpos="far_left", ypos="head") gen "(I should wait for her to calm down first.)" ("base", xpos="far_left", ypos="head") hide screen blktone with d3 - elif active_girl == "hermione" and not hermione_favors_convinced == 2 and is_in_lead(gryffindor): + elif states.active_girl == "hermione" and not states.her.favors_convinced_stage == 2 and is_in_lead(gryffindor): show screen blktone with d3 @@ -215,7 +215,7 @@ label inventory_menu(xx=150, yy=90): python: enable_game_menu() inventory_mode = 0 - current_item.give(active_girl) + current_item.give(states.active_girl) else: hide screen inventory @@ -366,7 +366,7 @@ screen inventory_menuitem(xx, yy): if menu_items[i].used: add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-3, -3) zoom 0.5 - if inventory_mode == 1 and (not menu_items[i].givable or not active_girl in menu_items[i].usable_on): + if inventory_mode == 1 and (not menu_items[i].givable or not states.active_girl in menu_items[i].usable_on): add "#b2000040" if menu_items_length <= 0: @@ -399,7 +399,7 @@ screen inventory_menuitem(xx, yy): if current_item.used: add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-6, -6) - if inventory_mode == 1 and (not current_item.givable or not active_girl in current_item.usable_on): + if inventory_mode == 1 and (not current_item.givable or not states.active_girl in current_item.usable_on): add "#b2000040" add gui.format("interface/achievements/{}/highlight.webp") pos (112, 375) diff --git a/game/scripts/interface/letter.rpy b/game/scripts/interface/letter.rpy index 879aeb1b..10dffef2 100644 --- a/game/scripts/interface/letter.rpy +++ b/game/scripts/interface/letter.rpy @@ -25,6 +25,7 @@ default letter_work_unlock = Letter( ) label letter_work_unlock: + $ states.paperwork_unlocked = True gen "Payments? *Hmm*..." ("base", xpos="far_left", ypos="head") call give_reward("From now on you can do paperwork at your desk in order to earn additional gold...","interface/icons/gold.webp") call tutorial("workngold") @@ -38,13 +39,13 @@ default letter_work_report = Letter( init python: def calc_reports_gold(): - global reports_gold, reports_finished + global reports_gold progress_factor = math.log(game.day) - progress_flat = (her_tier + cho_tier + ton_tier + lun_tier) * 16 + progress_flat = (states.her.tier + states.cho.tier + states.ton.tier + states.lun.tier) * 16 # Note: random_gold global var is set at the start of the day and evening - reports_gold = reports_finished * (int(progress_factor * max(random_gold, progress_flat)) + progress_flat) + reports_gold = states.paperwork_reports * (int(progress_factor * max(random_gold, progress_flat)) + progress_flat) if game.difficulty <= 1: # Easy reports_gold = int(reports_gold * 1.2) @@ -58,7 +59,7 @@ label letter_work_report: game.gold += reports_gold # Reset - reports_finished = 0 + states.paperwork_reports = 0 reports_gold = 0 return @@ -83,7 +84,7 @@ default letter_cards_unlock = Letter( ) label letter_cards_unlock: - $ deck_unlocked = True + $ states.cardgame.unlocked = True gen "That last bit just sounds like a scam to me..." ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") @@ -115,7 +116,7 @@ default letter_cards_store = Letter( ) label letter_cards_store: - $ twins_cards_stocked = True + $ states.twi.ev.cardgame.stocked = True $ poker_outfit_ITEM.unlocked = True $ lootbox_ITEM.unlocked = True gen "Great, let's see how they're doing." ("base", xpos="far_left", ypos="head") @@ -205,7 +206,7 @@ label letter(text, label): show screen letter(text) with d3 - $ menu_x, menu_y = 0.5, 0.9 + $ states.menu_pos = (0.5, 0.9) menu: "-Done reading-": @@ -241,30 +242,3 @@ label letter_open_all: $ owl_OBJ.hidden = True jump main_room_menu - -label letter_delay: - call gen_chibi("stand_alt", 420, 410, flip=False) - with d5 - pause.2 - - random: - gen "Bugger off, you poor excuse for a pigeon!" ("angry", xpos="far_left", ypos="head") - gen "Get out! Silly bird..." ("angry", xpos="far_left", ypos="head") - gen "Get the hell out of here!" ("angry", xpos="far_left", ypos="head") - gen "Go away you flying rat!" ("angry", xpos="far_left", ypos="head") - gen "Away with you!" ("angry", xpos="far_left", ypos="head") - gen "Shoo!" ("angry", xpos="far_left", ypos="head") - gen "Don't you dare shit on my floors!" ("angry", xpos="far_left", ypos="head") - - pause.1 - - call gen_chibi("rummage", 360, 429, flip=False) - play sound "sounds/owl.ogg" - $ owl_OBJ.hidden = True - with hpunch - pause.8 - - $ owl_away = True - $ owl_away_counter += 1 - - jump main_room diff --git a/game/scripts/interface/map.rpy b/game/scripts/interface/map.rpy index a9ea6a3a..b27c1a0c 100644 --- a/game/scripts/interface/map.rpy +++ b/game/scripts/interface/map.rpy @@ -1,20 +1,6 @@ default UI_xpos_offset = 230 default UI_ypos_offset = 150 -default map_unlocked = False - -default her_map_location = "library" -default lun_map_location = "room_r" -default ast_map_location = "room_s" -default sus_map_location = "room_h" -default cho_map_location = "training_grounds" - -default sna_map_location = "room_potions" -default ton_map_location = "room_defense" - -default first_time_7th = True -default pitch_open = True - default map_animated = "once" define map_scale = 0.35 @@ -136,7 +122,7 @@ screen map_buttons(): action Return("clothing_store") # Snape's Office - if not snape_office_discovered: + if not states.map.snape_office.visited: add "interface/achievements/glow.webp" pos (UI_xpos_offset+314, UI_ypos_offset+331) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular imagebutton: xpos UI_xpos_offset +314 @@ -148,8 +134,8 @@ screen map_buttons(): action Return("snape_office") #Room of Requirement - if unlocked_7th: - if not mirror_intro_done: + if states.map.seventh_floor.unlocked: + if not states.map.room_of_requirement.intro_e1: add "interface/achievements/glow.webp" pos (UI_xpos_offset+116, UI_ypos_offset+160) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular imagebutton: xpos UI_xpos_offset +116 @@ -157,7 +143,7 @@ screen map_buttons(): unhovered SetVariable("ball_hint", None) hovered SetVariable("ball_hint", "room_of_req") action Return("seventh_floor") - if first_time_7th == True: + if not states.map.seventh_floor.visited: idle "interface/map/room_ror_empty_idle.webp" hover "interface/map/room_ror_empty_hover.webp" else: @@ -185,8 +171,8 @@ screen map_buttons(): # action Return("map_forest") #Attic - if tentacle_scroll_examined: - if not tentacle_sample: + if states.her.ev.sealed_scroll.examined: + if not states.her.ev.sealed_scroll.sample: add "interface/achievements/glow.webp" pos (UI_xpos_offset+340, UI_ypos_offset+226) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular imagebutton: xpos UI_xpos_offset +340 @@ -218,42 +204,42 @@ label set_her_map_location(location=""): if location != "": if location == "library": - $ her_map_location = "library" + $ states.her.map_location = "library" elif location in ["gryffindor_room","gryff_room","room_g"]: - $ her_map_location = "room_g" + $ states.her.map_location = "room_g" elif location in ["slytherin_room","slyth_room","room_s"]: - $ her_map_location = "room_s" + $ states.her.map_location = "room_s" elif location == "great_hall": - $ her_map_location = "great_hall" + $ states.her.map_location = "great_hall" elif location == "courtyard": - $ her_map_location = "courtyard" + $ states.her.map_location = "courtyard" else: #Random - if her_whoring < 11: + if states.her.level < 11: if random_map_loc in [1,2]: #Library - $ her_map_location = "library" + $ states.her.map_location = "library" elif random_map_loc in [3]: #Great Hall - $ her_map_location = "great_hall" + $ states.her.map_location = "great_hall" else: #Gryff Room - $ her_map_location = "room_g" + $ states.her.map_location = "room_g" else: - if her_reputation < 12: + if states.her.public_level < 12: if random_map_loc == 1: #Great Hall - $ her_map_location = "great_hall" + $ states.her.map_location = "great_hall" elif random_map_loc == 2: #Courtyard - $ her_map_location = "courtyard" + $ states.her.map_location = "courtyard" else: #Gryff Room - $ her_map_location = "room_g" + $ states.her.map_location = "room_g" else: if random_map_loc == 1: #Slytherin Room - $ her_map_location = "room_s" + $ states.her.map_location = "room_s" elif random_map_loc == 2: #Courtyard - $ her_map_location = "courtyard" + $ states.her.map_location = "courtyard" else: #Gryff Room - $ her_map_location = "room_g" + $ states.her.map_location = "room_g" - if hg_blowjob.trigger == True and game.weather in ("clear", "cloudy") and not game.daytime and not hermione_busy: - $ her_map_location = "forest" + if states.her.status.blowjob == True and game.weather in ("clear", "cloudy") and not game.daytime and not states.her.busy: + $ states.her.map_location = "forest" call update_character_map_locations @@ -263,19 +249,19 @@ label set_lun_map_location(location = ""): if location != "": if location == "greenhouse": - $ lun_map_location = "greenhouse" + $ states.lun.map_location = "greenhouse" elif location == "forest": - $ lun_map_location = "forest" + $ states.lun.map_location = "forest" elif location in ["ravenclaw_room","raven_room","room_r"]: - $ lun_map_location = "room_r" + $ states.lun.map_location = "room_r" else: #Random if random_map_loc in [1]: - $ lun_map_location = "greenhouse" + $ states.lun.map_location = "greenhouse" elif random_map_loc in [2,3]: - $ lun_map_location = "forest" + $ states.lun.map_location = "forest" else: #Ravenclaw Room - $ lun_map_location = "room_r" + $ states.lun.map_location = "room_r" call update_character_map_locations @@ -284,17 +270,17 @@ label set_lun_map_location(location = ""): label set_ast_map_location(location = ""): if location != "": if location == "courtyard": - $ ast_map_location = "courtyard" + $ states.ast.map_location = "courtyard" elif location in ["slytherin_room","slyth_room","room_s"]: - $ ast_map_location = "room_s" + $ states.ast.map_location = "room_s" elif location in ["defense_classroom"]: - $ ast_map_location = "defense" + $ states.ast.map_location = "defense" else: #Random if random_map_loc in [1,2]: - $ ast_map_location = "courtyard" + $ states.ast.map_location = "courtyard" else: #Slytherin Room - $ ast_map_location = "room_s" + $ states.ast.map_location = "room_s" call update_character_map_locations @@ -303,15 +289,15 @@ label set_ast_map_location(location = ""): label set_sus_map_location(location = ""): if location != "": if location == "great_hall": - $ sus_map_location = "great_hall" + $ states.sus.map_location = "great_hall" elif location in ["hufflepuff_room","huffl_room","room_h"]: - $ sus_map_location = "room_r" + $ states.sus.map_location = "room_r" else: #Random if random_map_loc in [1,2]: - $ sus_map_location = "great_hall" + $ states.sus.map_location = "great_hall" else: #Hufflepuff Room - $ sus_map_location = "room_h" + $ states.sus.map_location = "room_h" call update_character_map_locations @@ -320,75 +306,75 @@ label set_sus_map_location(location = ""): label set_cho_map_location(location = ""): if location != "": if location == "training_grounds": - $ cho_map_location = "training_grounds" + $ states.cho.map_location = "training_grounds" elif location in ["ravenclaw_room","raven_room","room_r"]: - $ cho_map_location = "room_r" + $ states.cho.map_location = "room_r" else: #Random if random_map_loc in [1,2]: - $ cho_map_location = "training_grounds" + $ states.cho.map_location = "training_grounds" else: #Ravenclaw Room - $ cho_map_location = "room_r" + $ states.cho.map_location = "room_r" call update_character_map_locations return label update_character_map_locations: - if her_map_location == "library": + if states.her.map_location == "library": $ her_map_xpos = 685 $ her_map_ypos = 94 - if her_map_location == "room_g": + if states.her.map_location == "room_g": $ her_map_xpos = 340 $ her_map_ypos = 212 - if her_map_location == "room_s": + if states.her.map_location == "room_s": $ her_map_xpos = 440 $ her_map_ypos = 184 - if her_map_location == "great_hall": + if states.her.map_location == "great_hall": $ her_map_xpos = 300 $ her_map_ypos = 240 - if her_map_location == "courtyard": + if states.her.map_location == "courtyard": $ her_map_xpos = 674 $ her_map_ypos = 216 - if her_map_location == "forest": + if states.her.map_location == "forest": $ her_map_xpos = 290 $ her_map_ypos = 40 #Luna - if lun_map_location == "room_r": + if states.lun.map_location == "room_r": $ lun_map_xpos = 536 $ lun_map_ypos = 242 - if lun_map_location == "forest": + if states.lun.map_location == "forest": $ lun_map_xpos = 430 $ lun_map_ypos = 50 - if lun_map_location == "greenhouse": + if states.lun.map_location == "greenhouse": $ lun_map_xpos = 680 $ lun_map_ypos = 320 #Astoria - if ast_map_location == "room_s": + if states.ast.map_location == "room_s": $ ast_map_xpos = 476 $ ast_map_ypos = 118 - if ast_map_location == "courtyard": + if states.ast.map_location == "courtyard": $ ast_map_xpos = 634 $ ast_map_ypos = 254 - if ast_map_location == "defense": #Event + if states.ast.map_location == "defense": #Event $ ast_map_xpos = 530 $ ast_map_ypos = 190 #Susan - if sus_map_location == "room_h": + if states.sus.map_location == "room_h": $ sus_map_xpos = 360 $ sus_map_ypos = 320 - if sus_map_location == "great_hall": + if states.sus.map_location == "great_hall": $ sus_map_xpos = 300 $ sus_map_ypos = 280 #Cho - if cho_map_location == "room_r": + if states.cho.map_location == "room_r": $ cho_map_xpos = 494 $ cho_map_ypos = 276 - if cho_map_location == "training_grounds": + if states.cho.map_location == "training_grounds": $ cho_map_xpos = 750 $ cho_map_ypos = 50 @@ -413,8 +399,8 @@ screen map_screen_characters(): $ UI_xpos_offset = 0 #Hermione - if hermione_unlocked: - if her_map_location == "forest": # Mark forest event. + if states.her.unlocked: + if states.her.map_location == "forest": # Mark forest event. add "interface/achievements/glow.webp" pos (UI_xpos_offset+her_map_xpos, UI_ypos_offset+her_map_ypos) align (0.5, 0.5) zoom 0.15 alpha 0.5 at rotate_circular imagebutton: xpos +UI_xpos_offset +her_map_xpos @@ -428,7 +414,7 @@ screen map_screen_characters(): action Return("hermione") #Luna - if luna_unlocked: + if states.lun.unlocked: imagebutton: xpos UI_xpos_offset+ lun_map_xpos ypos UI_ypos_offset+ lun_map_ypos @@ -441,7 +427,7 @@ screen map_screen_characters(): action Return("luna") #Astoria - if astoria_unlocked: + if states.ast.unlocked: imagebutton: xpos UI_xpos_offset +ast_map_xpos ypos UI_ypos_offset +ast_map_ypos @@ -454,7 +440,7 @@ screen map_screen_characters(): action Return("astoria") #Susan - if susan_unlocked: + if states.sus.unlocked: imagebutton: xpos UI_xpos_offset +sus_map_xpos ypos UI_ypos_offset +sus_map_ypos @@ -467,7 +453,7 @@ screen map_screen_characters(): action Return("susan") #Cho - if cho_unlocked: + if states.cho.unlocked: imagebutton: xpos UI_xpos_offset +cho_map_xpos ypos UI_ypos_offset +cho_map_ypos @@ -480,7 +466,7 @@ screen map_screen_characters(): action Return("cho") #Snape - if snape_unlocked: + if states.sna.unlocked: imagebutton: xpos UI_xpos_offset +sna_map_xpos ypos UI_ypos_offset +sna_map_ypos @@ -493,7 +479,7 @@ screen map_screen_characters(): action Return("snape") #Tonks - if tonks_unlocked: + if states.ton.unlocked: imagebutton: xpos UI_xpos_offset +ton_map_xpos ypos UI_ypos_offset +ton_map_ypos diff --git a/game/scripts/interface/stats.rpy b/game/scripts/interface/stats.rpy index c87dd5c3..2e6f34f8 100644 --- a/game/scripts/interface/stats.rpy +++ b/game/scripts/interface/stats.rpy @@ -10,20 +10,20 @@ label update_stats: # Whoring $ her_whoring_word_list = ["Pure", "Naive", "Curious", "Naughty", "Perverse", "Immoral", "Slutty", "Shameless", "Cumslut", "Total Cumslut", "Shameless Cumslut"] - $ her_whoring_word = her_whoring_word_list[int(min(her_whoring, 24)/2.4)] + $ her_whoring_word = her_whoring_word_list[int(min(states.her.level, 24)/2.4)] # Reputation $ her_reputation_word_list = ["Teacher's pet", "School star", "good girl", "minx", "slutty schoolgirl", "easy lay", "whore", "slut for sex", "gryffindor whore", "school cumdump", "mudblood cumdump"] #$ slutWords = ["Teacher's pet", "School star", "good girl", "headmaster's pet", "slutty schoolgirl", "slut", "headmaster's slut", "daddy's girl", "gryffindor slut", "Dumbledore's whore", "Dumbledore's cumdump"] - $ her_reputation_word = her_reputation_word_list[int(min(her_reputation, 24)/2.4)] + $ her_reputation_word = her_reputation_word_list[int(min(states.her.public_level, 24)/2.4)] # Tutoring $ her_tutoring_word_list = ["Not started", "naive", "tempted", "curious", "tainted", "eager", "sinful", "perverted", "corrupted", "depraved", "shattered"] - $ her_tutoring_word = her_tutoring_word_list[int(her_tutoring/1.5)] + $ her_tutoring_word = her_tutoring_word_list[int(states.her.ev.tutoring.stage/1.5)] # Mood $ her_mood_word_list = ["Cheerful", "Reluctant", "Gloomy", "Stern", "Slightly Annoyed", "Annoyed", "Upset", "Outraged", "Mad", "Angry", "Very Angry"] - $ her_mood_word = her_mood_word_list[int(min(her_mood, 10)/1.0)] + $ her_mood_word = her_mood_word_list[int(min(states.her.mood, 10)/1.0)] ### Astoria ### #call astoria_clothing_level @@ -31,21 +31,21 @@ label update_stats: #$ ast_cuteness_word = ast_cuteness_word_list[int(ast_clothing_level/10)] # Mood $ ast_mood_word_list = ["Cheerful", "Reluctant", "Gloomy", "Stern", "Slightly Annoyed", "Annoyed", "Upset", "Outraged", "Mad", "Angry", "Very Angry"] - $ ast_mood_word = ast_mood_word_list[int(min(ast_mood, 10)/1.0)] + $ ast_mood_word = ast_mood_word_list[int(min(states.ast.mood, 10)/1.0)] ### Cho ### # Whoring $ cho_whoring_word_list = ["Incorruptible", "Focused", "Resilient", "Bi-Curious", "Naughty", "Immoral", "Perverse", "Slutty", "Shameless", "Cumslut", "Shameless Cumslut"] - $ cho_whoring_word = cho_whoring_word_list[int(min(cho_whoring, 24)/2.4)] + $ cho_whoring_word = cho_whoring_word_list[int(min(states.cho.level, 24)/2.4)] # Reputation $ cho_reputation_word_list = ["Tomboy", "Team Player", "Quidditch Star", "Flying Ace", "Minx", "Manipulative", "Exploiting", "Cheater", "Team's Cumdump", "Quidditch Whore", "Cheating Slut"] - $ cho_reputation_word = cho_reputation_word_list[int(min(cho_reputation, 24)/2.4)] + $ cho_reputation_word= cho_reputation_word_list[int(min(states.cho.public_level, 24)/2.4)] # Mood $ cho_mood_word_list = ["Cheerful", "Reluctant", "Gloomy", "Stern", "Slightly Annoyed", "Annoyed", "Upset", "Outraged", "Mad", "Angry", "Very Angry"] - $ cho_mood_word = cho_mood_word_list[int(min(cho_mood, 10)/1.0)] + $ cho_mood_word = cho_mood_word_list[int(min(states.cho.mood, 10)/1.0)] ### Snape ### @@ -55,13 +55,13 @@ label update_stats: # Friendship $ sna_friendship_word_list = ["Unknown", "Colleague", "Confidant", "Trusted", "Acquaintance", "Friend", "Good friend", "Homie", "If I had to pick a dude...", "BFF", "Bros"] - $ sna_friendship_word = sna_friendship_word_list[int(min(sna_friendship, 100)/10)] + $ sna_friendship_word = sna_friendship_word_list[int(min(states.sna.level, 100)/10)] ### Tonks ### # Reputation $ ton_reputation_word_list = ["Teacher", "Bore", "Weirdo", "A Bit Nutty", "Easy Going", "Tart", "Naughty Teacher", "Slutty Teacher", "Slag", "Shameful", "Disgrace"] - $ ton_reputation_word = ton_reputation_word_list[int(min(ton_reputation, 24)/2.4)] + $ ton_reputation_word = ton_reputation_word_list[int(min(states.ton.public_level, 24)/2.4)] # Support # $ ton_support_word_list = ["Undecided", "Modest", "Candid", "Unbiased", "Positive", "Fair", "Neutral", "Biased", "Scummy", "Cruel", "Heartless"] @@ -69,7 +69,7 @@ label update_stats: # Friendship $ ton_friendship_word_list = ["Unknown", "inferior", "employee", "advisor", "trusted advisor", "Acquaintance", "friend", "Girlfriend", "Partner in crime", "Bonnie & Clyde", "Master & Slave"] - $ ton_friendship_word = ton_friendship_word_list[int(min(ton_friendship, 100)/10)] + $ ton_friendship_word = ton_friendship_word_list[int(min(states.ton.level, 100)/10)] #$ ton_sluttiness_word_list = ["Masochist", "Disgrace", "Street Whore", "Harlot", "Tart", "Sexually open", "Naughty Teacher", "Easy Going", "Professor", "Bore", "Nun"] #$ ton_sluttiness_word = ton_sluttiness_word_list[int(ton_clothing_level/10)] @@ -87,19 +87,19 @@ label stats_menu(xx=150, yy=90): # Stats dictionary $ stats_dict = { "Genie": {"ico": "genie", "flag": True, "name": "Genie", "sex": "Yes", "height": "6.2ft", "weight": "200lb", "job": "Headmaster", "hates": "Lamps", "likes": "Tits"}, - "Snape": {"ico": "snape", "flag": snape_unlocked, "name": "Severus Snape", "sex": "Male", "height": "5.9ft", "weight": "155lb", "job": "Teacher", "hates": "Everyone", "likes": "Rain"}, - "Tonks": {"ico": "tonks", "flag": tonks_unlocked, "name": "Nymphadora Tonks", "sex": "Fluid", "height": "5.6ft", "weight": "130lb", "job": "Teacher", "hates": "Pineapple Pizza", "likes": "Girls"}, - "Hermione": {"ico": "hermione", "flag": hermione_unlocked, "name": "Hermione Granger", "sex": "Female", "height": "5.2ft", "weight": "126lb", "job": "Student", "hates": "Slytherin", "likes": "Books"}, - "Cho": {"ico": "cho", "flag": cho_unlocked, "name": "Cho Chang", "sex": "Female", "height": "5.1ft", "weight": "122lb", "job": "Student", "hates": "Hermione", "likes": "Winning"}, - "Luna": {"ico": "luna", "flag": luna_unlocked, "name": "Luna Lovegood", "sex": "Female", "height": "5.2ft", "weight": "117lb", "job": "Student", "hates": "Wrackspurts", "likes": "{size=-2}Magical creatures{/size}"}, - "Astoria": {"ico": "astoria", "flag": astoria_unlocked, "name": "Astoria Greengrass", "sex": "Female", "height": "5.0ft", "weight": "102lb", "job": "Student", "hates": "Rules", "likes": "Breaking them"}, - "Susan": {"ico": "susan", "flag": susan_unlocked, "name": "Susan Bones", "sex": "Female", "height": "5.1ft", "weight": "135lb", "job": "Student", "hates": "Chores", "likes": "You {size=-4}Secretly..{/size}"} + "Snape": {"ico": "snape", "flag": states.sna.unlocked, "name": "Severus Snape", "sex": "Male", "height": "5.9ft", "weight": "155lb", "job": "Teacher", "hates": "Everyone", "likes": "Rain"}, + "Tonks": {"ico": "tonks", "flag": states.ton.unlocked, "name": "Nymphadora Tonks", "sex": "Fluid", "height": "5.6ft", "weight": "130lb", "job": "Teacher", "hates": "Pineapple Pizza", "likes": "Girls"}, + "Hermione": {"ico": "hermione", "flag": states.her.unlocked, "name": "Hermione Granger", "sex": "Female", "height": "5.2ft", "weight": "126lb", "job": "Student", "hates": "Slytherin", "likes": "Books"}, + "Cho": {"ico": "cho", "flag": states.cho.unlocked, "name": "Cho Chang", "sex": "Female", "height": "5.1ft", "weight": "122lb", "job": "Student", "hates": "Hermione", "likes": "Winning"}, + "Luna": {"ico": "luna", "flag": states.lun.unlocked, "name": "Luna Lovegood", "sex": "Female", "height": "5.2ft", "weight": "117lb", "job": "Student", "hates": "Wrackspurts", "likes": "{size=-2}Magical creatures{/size}"}, + "Astoria": {"ico": "astoria", "flag": states.ast.unlocked, "name": "Astoria Greengrass", "sex": "Female", "height": "5.0ft", "weight": "102lb", "job": "Student", "hates": "Rules", "likes": "Breaking them"}, + "Susan": {"ico": "susan", "flag": states.sus.unlocked, "name": "Susan Bones", "sex": "Female", "height": "5.1ft", "weight": "135lb", "job": "Student", "hates": "Chores", "likes": "You {size=-4}Secretly..{/size}"} } $ stats_categories_sorted = ["Genie", "Snape", "Tonks", "Hermione", "Cho", "Luna", "Astoria", "Susan"] #"Ginny", "Daphne", "Padma", "Patil", "Myrtle", "Mafkin" $ stats_categories_sorted_length = len(stats_categories_sorted) - $ current_category = last_character.capitalize() if last_character else stats_categories_sorted[0] + $ current_category = states.last_girl.capitalize() if states.last_girl else stats_categories_sorted[0] $ current_item = stats_dict[current_category] $ current_subcategory = "overview" $ current_sorting = stats_show_locked @@ -337,46 +337,46 @@ screen stats_menuitem(xx, yy): use stat_bar(int(100/10), "-Lust-", "", 100) use stat_bar(int(0/10), "-Sanity-", "", 0) #use stat_bar(int(speed_writing/0.25), "-Speed Writing-", "", speed_writing) - #text "Jerked off -"+str(phoenix_fed_counter)+"- times" + #text "Jerked off -"+str(states.bird_fed_times)+"- times" elif current_category == "Snape": use stat_bar(int(3/1.0), "-Mood-" , "Grumpy", 3) #use stat_bar(int(sna_support/1.5), "-Support-", sna_support_word, sna_support) # sna_support between 0 and 15. - use stat_bar(int(sna_friendship/10), "-Friendship-", sna_friendship_word, sna_friendship) + use stat_bar(int(states.sna.level/10), "-Friendship-", sna_friendship_word, states.sna.level) elif current_category == "Tonks": use stat_bar(int(10/1.0), "-Mood-" , "Content", 10) - use stat_bar(int(ton_tier/0.2), "-Favour Tier-", "", ton_tier) # 4 will be max. - use stat_bar(int(ton_reputation/2.4), "-Reputation-", ton_reputation_word, ton_reputation) # Current max is 9. + use stat_bar(int(states.ton.tier/0.2), "-Favour Tier-", "", states.ton.tier) # 4 will be max. + use stat_bar(int(states.ton.public_level/2.4), "-Reputation-", ton_reputation_word, states.ton.public_level) # Current max is 9. #use stat_bar(int(ton_support/1.2), "-Support-", ton_support_word, ton_support) # ton_support between 0 and 12. - use stat_bar(int(ton_friendship/10), "-Relationship-", ton_friendship_word, ton_friendship) + use stat_bar(int(states.ton.level/10), "-Relationship-", ton_friendship_word, states.ton.level) elif current_category == "Hermione": - use stat_bar(int(10-her_mood/1.0), "-Mood-" , her_mood_word, her_mood) - use stat_bar(int(her_tier/0.6), "-Favour Tier-", "", her_tier) # 6 will be max. - use stat_bar(int(her_whoring/2.4), "-Whoring-", her_whoring_word, her_whoring) - use stat_bar(int(her_reputation/2.4), "-Reputation-", her_reputation_word, her_reputation) - use stat_bar(int(her_tutoring/1.5), "-Tutoring-" , her_tutoring_word, her_tutoring) + use stat_bar(int(10-states.her.mood/1.0), "-Mood-" , her_mood_word, states.her.mood) + use stat_bar(int(states.her.tier/0.6), "-Favour Tier-", "", states.her.tier) # 6 will be max. + use stat_bar(int(states.her.level/2.4), "-Whoring-", her_whoring_word, states.her.level) + use stat_bar(int(states.her.public_level/2.4), "-Reputation-", her_reputation_word, states.her.public_level) + use stat_bar(int(states.her.ev.tutoring.stage/1.5), "-Tutoring-" , her_tutoring_word, states.her.ev.tutoring.stage) elif current_category == "Cho": - use stat_bar(int(10-cho_mood/1.0), "-Mood-" , cho_mood_word, cho_mood) - use stat_bar(int(cho_tier/0.3), "-Favour Tier-", "", cho_tier) # 4 will be max. - use stat_bar(int(cho_whoring/0.9), "-Recklessness-", cho_whoring_word, cho_whoring) - use stat_bar(int(cho_reputation/0.9), "-Reputation-", cho_reputation_word, cho_reputation) + use stat_bar(int(10-states.cho.mood/1.0), "-Mood-" , cho_mood_word, states.cho.mood) + use stat_bar(int(states.cho.tier/0.3), "-Favour Tier-", "", states.cho.tier) # 4 will be max. + use stat_bar(int(states.cho.level/0.9), "-Recklessness-", cho_whoring_word, states.cho.level) + use stat_bar(int(states.cho.public_level/0.9), "-Reputation-", cho_reputation_word, states.cho.public_level) # TODO: Re-enable after Quidditch fixes #use stat_bar(int((cc_ht.win_counter+cc_st.win_counter)/0.6), "{size=-10}-Quidditch Training-{/size}" , "Not started", cc_ht.win_counter+cc_st.win_counter) # TODO: Add word list # TODO: Add cc_gt.match_counter & cc_gt.win_counter elif current_category == "Luna": - use stat_bar(int(10-lun_mood/1.0), "-Mood-" , "Cheerful", lun_mood) # TODO: Add word list - use stat_bar(int(lun_tier/0.4), "-Favour Tier-", "", lun_tier) # 4 is max. - use stat_bar(int(lun_whoring/0.9), "-Corruption-", "Naive", lun_whoring) # TODO: Add word list + use stat_bar(int(10-states.lun.mood/1.0), "-Mood-" , "Cheerful", states.lun.mood) # TODO: Add word list + use stat_bar(int(states.lun.tier/0.4), "-Favour Tier-", "", states.lun.tier) # 4 is max. + use stat_bar(int(states.lun.level/0.9), "-Corruption-", "Naive", states.lun.level) # TODO: Add word list use stat_bar(int(10/0.9), "-Reputation-", "Total Weirdo", 10) # Joke stat #use stat_bar(int(0), "{size=-10}-Wrackspurts Therapy-{/size}" , "Not started", 0) # TODO: Add word list and variable elif current_category == "Astoria": - use stat_bar(int(10-ast_mood/1.0), "-Mood-" , ast_mood_word, ast_mood) + use stat_bar(int(10-states.ast.mood/1.0), "-Mood-" , states.ast.mood_word, states.ast.mood) use stat_bar(int(1/1), "-Favour Tier-", "", 1) - use stat_bar(int(ast_whoring/0.8), "-Affection-", "", ast_whoring) # TODO: Add word list + use stat_bar(int(states.ast.level/0.8), "-Affection-", "", states.ast.level) # TODO: Add word list use stat_bar(int(3/0.9), "-Reputation-", "Mischievous", 4) # TODO: Add word list and variable, starts at level 4 #use stat_bar(int(ast_training_counter/0.9), "-Spell training-" , "Not started", ast_training_counter) # TODO: Add word list elif current_category == "Susan": - use stat_bar(int(10-sus_mood/1.0), "-Mood-" , "Cheerful", sus_mood) # TODO: Add word list + use stat_bar(int(10-states.sus.mood/1.0), "-Mood-" , "Cheerful", states.sus.mood) # TODO: Add word list use stat_bar(int(1/0.9), "-Favour Tier-", "", 1) # TODO: Add Susan tier - use stat_bar(int(sus_whoring/0.9), "-Confidence-", "Non-existent", sus_whoring) # TODO: Add word list + use stat_bar(int(states.sus.level/0.9), "-Confidence-", "Non-existent", states.sus.level) # TODO: Add word list use stat_bar(int(0/0.9), "-Reputation-", "Invisible", 0) # TODO: Add word list and variable use stat_bar(int(0), "{size=-10}-Assertiveness Training-{/size}" , "Not started", 0) # TODO: Add word list else: @@ -384,13 +384,13 @@ screen stats_menuitem(xx, yy): vbox: if current_category == "Genie": use text_stat("Bird fed:") - use text_stat("- ", " times -", phoenix_fed_counter) + use text_stat("- ", " times -", states.bird_fed_times) use text_stat("Bird petted:") - use text_stat("- ", " times -", phoenix_petted_counter) + use text_stat("- ", " times -", states.bird_petted_times) use text_stat("You missed feeding your bird for:") - use text_stat("- ", " days...", (game.day - phoenix_fed_counter) ) + use text_stat("- ", " days...", (game.day - states.bird_fed_times) ) use text_stat("If you were a Quidditch player, you'd be a:") - use text_stat("- \"", "\" -", genie_quid_position) + use text_stat("- \"", "\" -", states.gen.stats.quidditch_position) elif current_category == "Snape": use text_stat("Hung out with Snape:") @@ -403,7 +403,7 @@ screen stats_menuitem(xx, yy): elif current_category == "Hermione": # Tier 1 use text_stat("You Jerked off in front of her:") - use text_stat("- ", " times -", her_jerk_off_counter) + use text_stat("- ", " times -", states.gen.stats.masturbated_to_hermione) use text_stat("You saw her panties:") use text_stat("- ", " times -", hg_pf_admire_panties.counter) use text_stat("You admired her tits:") @@ -428,7 +428,7 @@ screen stats_menuitem(xx, yy): elif current_category == "Cho": use text_stat("You Jerked off in front of her:") - use text_stat("- ", " times -", cho_jerk_off_counter) + use text_stat("- ", " times -", states.gen.stats.masturbated_to_cho) elif current_category == "Luna": pass elif current_category == "Astoria": diff --git a/game/scripts/interface/topbar.rpy b/game/scripts/interface/topbar.rpy index 339da0f2..4f4edb81 100644 --- a/game/scripts/interface/topbar.rpy +++ b/game/scripts/interface/topbar.rpy @@ -49,7 +49,7 @@ screen ui_top_bar(): use ui_points # Don't display buttons in certain rooms or on the first day - if current_room == "main_room" and game.day > 1: + if states.room == "main_room" and game.day > 1: # Menu button imagebutton: xpos 0 @@ -108,7 +108,7 @@ screen ui_top_bar(): action Jump("inventory") # Work button - if letter_work_unlock.read: + if states.paperwork_unlocked: imagebutton: idle gui.format("interface/topbar/buttons/{}/ui_work.webp") if room_menu_active: @@ -248,9 +248,9 @@ screen ui_menu(): label scene_gallery: menu: "-Watch Ball Ending 1-" if persistent.ending_01: - $ renpy.call_replay("ball_ending_E2", { "public_whore_ending": False }) + $ renpy.call_replay("ball_ending_E2", { "states.her.ev.yule_ball.variant": "personal" }) "-Watch Ball Ending 2-" if persistent.ending_02: - $ renpy.call_replay("ball_ending_E2", { "public_whore_ending": True }) + $ renpy.call_replay("ball_ending_E2", { "states.her.ev.yule_ball.variant": "public" }) "-Never mind-": pass jump main_room_menu diff --git a/game/scripts/inventory/books.rpy b/game/scripts/inventory/books.rpy index f8471b0d..53f7c467 100644 --- a/game/scripts/inventory/books.rpy +++ b/game/scripts/inventory/books.rpy @@ -11,7 +11,7 @@ label book_start: stop music fadeout 1 play sound "sounds/bookopen.ogg" - if fire_in_fireplace: + if states.fireplace_started: call gen_chibi("read_near_fire") with d3 else: @@ -22,7 +22,7 @@ label book_start: label book_end: play sound "sounds/bookclose.ogg" - if fire_in_fireplace: + if states.fireplace_started: call gen_chibi("read_near_fire_done") else: call gen_chibi("read_done") diff --git a/game/scripts/inventory/books_waifu.rpy b/game/scripts/inventory/books_waifu.rpy index b3f54814..e524abcb 100644 --- a/game/scripts/inventory/books_waifu.rpy +++ b/game/scripts/inventory/books_waifu.rpy @@ -313,7 +313,7 @@ label waifu_book: if ending_choice == "stevens_ending": gen "Ms Stevens turned out to be one dirty slut..." ("grin", xpos="far_left", ypos="head") - if tonks_unlocked: + if states.ton.unlocked: gen "Now that I think of it, she kind of reminds me of Tonks..." ("base", xpos="far_left", ypos="head") elif ending_choice == "shea_ending": gen "Not bad. I really grew to care about that Shea girl..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/minigames/cardgame/__card_game_init__.rpy b/game/scripts/minigames/cardgame/__card_game_init__.rpy index 2bc6d87f..6d859b81 100644 --- a/game/scripts/minigames/cardgame/__card_game_init__.rpy +++ b/game/scripts/minigames/cardgame/__card_game_init__.rpy @@ -429,37 +429,7 @@ default card_item_wine = Card( imagepath="images/cardgame/t1/other/wine_v1.webp" title="Bottle of wine", description="That wine I keep finding in this cupboard. Not sure if the wine is magically infused or the cupboard.") -default deck_unlocked = False default enemy_deck = [] -default duel_win_label = "" -default duel_loss_label = "" - -default snape_know_cards = False -default snape_first_win = False -default snape_second_win = False -default snape_third_win = False -default snape_wager_talk = False -default random_snape_win = False - -default her_know_cards = False -default her_cards_stocked_talk = False -default her_first_win = False -default her_second_win = False -default her_third_win = False -default her_random_win = False -default cardgame_work = False -default first_time_cardgame_work = True - -default twins_know_cards = False -default twins_first_win = False -default twins_second_win = False -default twins_cards_delay = 7 -default twins_cards_stocked = False -default twins_cards_stocked_talk = False -default twins_interest = False -default first_random_twins = True -default twins_random_win = True -default twins_profit = 1.0 default card_rand_realm = renpy.random.choice([card_iris, card_jasmine, card_azalea]) default card_rand_girl = renpy.random.choice([card_her_schoolgirl, card_sus_schoolgirl, card_cho_schoolgirl, card_lun_schoolgirl]) diff --git a/game/scripts/minigames/cardgame/_deck_builder_.rpy b/game/scripts/minigames/cardgame/_deck_builder_.rpy index cf2acca5..79110b0f 100644 --- a/game/scripts/minigames/cardgame/_deck_builder_.rpy +++ b/game/scripts/minigames/cardgame/_deck_builder_.rpy @@ -248,7 +248,7 @@ label deck_builder_guide: $ deck_guide_page = 5 nar "The player with the most cards of their colour by the end wins the game." - if not snape_know_cards: + if not states.sna.ev.cardgame.known: gen "(Seems simple enough....)" ("base", xpos="far_left", ypos="head") gen "(Wait... who the fuck do I play against?)" ("angry", xpos="far_left", ypos="head") gen "(Maybe I should ask my good ole pal Snape if he has any cards...)" ("grin", xpos="far_left", ypos="head") diff --git a/game/scripts/minigames/cardgame/_hermione_card_game_.rpy b/game/scripts/minigames/cardgame/_hermione_card_game_.rpy index 6b6c5c8b..7310e383 100644 --- a/game/scripts/minigames/cardgame/_hermione_card_game_.rpy +++ b/game/scripts/minigames/cardgame/_hermione_card_game_.rpy @@ -3,7 +3,7 @@ # Hermione Duel Menu label hermione_cardgame_menu: - if her_know_cards == False: + if states.her.ev.cardgame.known == False: gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "Yes, [name_genie_hermione]?" ("base","base") gen "Are you familiar with Wizard Cards?" ("base", xpos="far_left", ypos="head") @@ -31,18 +31,18 @@ label hermione_cardgame_menu: her "Oh! Yes of course I'll play!" ("shock","wide") her "..." ("soft", "wide", "worried", "stare") her "Anything else you needed or am I free to go?" ("base", "base", "worried", "mid") - $ her_know_cards = True + $ states.her.ev.cardgame.known = True jump hermione_requests - elif her_know_cards and twins_know_cards == False: + elif states.her.ev.cardgame.known and states.twi.ev.cardgame.known == False: gen "(I should talk to Fred and George about wizard cards first.)" ("base", xpos="far_left", ypos="head") jump hermione_requests - elif her_know_cards and twins_know_cards and not twins_cards_stocked: + elif states.her.ev.cardgame.known and states.twi.ev.cardgame.known and not states.twi.ev.cardgame.stocked: gen "(I have to convince Fred and George to start stocking up cards in their shop first.)" ("base", xpos="far_left", ypos="head") jump hermione_requests - elif twins_cards_stocked_talk and not her_cards_stocked_talk: + elif states.twi.ev.cardgame.stock_talk and not states.her.ev.cardgame.has_cards: gen "Hello again [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Hello [name_genie_hermione]." ("base","base") gen "I wanted to thank you for mentioning the Weasley shop." ("base", xpos="far_left", ypos="head") @@ -56,7 +56,7 @@ label hermione_cardgame_menu: gen "So, how about some practice rounds then?" ("base", xpos="far_left", ypos="head") her "*Ehm*... I've only recently started playing so I'm not that good yet." ("base", "narrow", "base", "mid_soft") gen "Don't worry, after a few practice rounds you'll get up to speed, when you're ready we'll play the real challenge..." ("base", xpos="far_left", ypos="head") - $ her_cards_stocked_talk = True + $ states.her.ev.cardgame.has_cards = True jump hermione_duel_menu else: @@ -65,13 +65,13 @@ label hermione_cardgame_menu: menu: "-First Duel-": jump hermione_first_duel - "-Second Duel-" if her_first_win: + "-Second Duel-" if states.her.ev.cardgame.stage >= 1: jump hermione_second_duel - "-You need to beat the first duel-" (style="disabled") if not her_first_win: + "-You need to beat the first duel-" (style="disabled") if states.her.ev.cardgame.stage < 1: jump hermione_duel_menu - "-Challenge-" if her_second_win: + "-Challenge-" if states.her.ev.cardgame.stage >= 2: jump hermione_third_duel - "-You need to beat the second duel-" (style="disabled") if not her_second_win: + "-You need to beat the second duel-" (style="disabled") if states.her.ev.cardgame.stage < 2: jump hermione_duel_menu "-Never mind-": jump hermione_requests @@ -91,16 +91,17 @@ label hermione_first_duel: hide screen blkfade stop music fadeout 1 - if not her_first_win: + + if states.her.ev.cardgame.stage < 1: + $ states.her.ev.cardgame.stage = 1 + her "Well, that's interesting. I was sure that my deck would've been balanced enough..." ("angry", "closed", "angry", "mid") gen "It's just a practice round, I'm sure you'll do better next time." ("grin", xpos="far_left", ypos="head") her "Your smile says otherwise." ("mad", "narrow", "angry", "R") gen "..." ("base", xpos="far_left", ypos="head") - $ her_first_win = True - pass + else: her "This game is stupid, I'm leaving!" ("angry", "closed", "angry", "mid") - pass $ tokens += 1 @@ -120,7 +121,10 @@ label hermione_second_duel: hide screen blkfade stop music fadeout 1 - if not her_second_win: + + if states.her.ev.cardgame.stage < 2: + $ states.her.ev.cardgame.stage = 2 + her "I got 5 boosters, how isn't that enough to build a better deck than yours?" ("mad", "narrow", "annoyed", "mid") gen "It's more important where you place those cards..." ("base", xpos="far_left", ypos="head") her "I know what I'm doing..." ("open", "closed", "angry", "mid") @@ -128,12 +132,10 @@ label hermione_second_duel: her "No, I'm ready..." ("soft", "narrow", "worried", "mid_soft") gen "You sure?" ("base", xpos="far_left", ypos="head") her "I said I'm ready." ("clench", "base", "angry", "mid") - $ her_second_win = True + jump hermione_duel_menu - pass else: her "This game is stupid, I'm leaving!" ("angry", "closed", "angry", "mid") - pass $ tokens += 1 @@ -177,7 +179,9 @@ label hermione_third_duel: stop music fadeout 1 hide screen blkfade - if her_third_win == False: + if states.her.ev.cardgame.stage < 3: + $ states.her.ev.cardgame.stage = 3 + her "Nooo, how's this even possible?" ("clench", "wide", "worried", "shocked") her "I'm supposed to be the smartest girl in my year..." ("mad", "wide", "worried", "stare") gen "Looks like Wisdom beats intelligence..." ("grin", xpos="far_left", ypos="head") @@ -185,9 +189,10 @@ label hermione_third_duel: gen "You seem to have forgotten something..." ("grin", xpos="far_left", ypos="head") her "Fine..." ("angry", "narrow", "base", "mid_soft") her "Here..." ("mad", "narrow", "base", "mid_soft") + $ unlocked_cards += [card_her_librarian] call give_reward("You have received a card!", "images/cardgame/t1/hermione/her_librarian_v1.webp") - $ her_third_win = True + $ tokens += 3 else: $ tokens += 1 @@ -199,7 +204,7 @@ label hermione_third_duel: label hermione_random_duel: gen "Ready for another game of cards?" ("base", xpos="far_left", ypos="head") - if her_whoring < 8: + if states.her.level < 8: her "You've already challenged me though..." ("open", "happy", "base", "R") her "and I lost." ("annoyed", "narrow", "worried", "down") gen "What if we made it a wager..." ("grin", xpos="far_left", ypos="head") @@ -251,8 +256,8 @@ label hermione_random_duel: stop music fadeout 1 hide screen blkfade - if not her_random_win: - $ her_random_win = True + if states.her.ev.cardgame.stage < 4: + $ states.her.ev.cardgame.stage = 4 $ tokens += 3 else: $ tokens += 1 @@ -266,8 +271,8 @@ label hermione_random_duel: gen "Well, in that case..." ("base", xpos="far_left", ypos="head") menu: - "-Send Hermione to work, promoting the card game-" if not cardgame_work: - $ cardgame_work = True + "-Send Hermione to work, promoting the card game-" if not states.her.ev.sell_cards.offered: + $ states.her.ev.sell_cards.offered = True gen "In that case, I think I have a good idea for a job..." ("grin", xpos="far_left", ypos="head") her "A job?" ("open", "happy", "base", "mid") gen "Yes, I'd like you to start helping the twins promote the card game..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/minigames/cardgame/_snape_card_game_.rpy b/game/scripts/minigames/cardgame/_snape_card_game_.rpy index b281f969..83c41b79 100644 --- a/game/scripts/minigames/cardgame/_snape_card_game_.rpy +++ b/game/scripts/minigames/cardgame/_snape_card_game_.rpy @@ -4,7 +4,7 @@ label snape_duel_menu: if geniecard_level == 1: - if not snape_know_cards: + if not states.sna.ev.cardgame.known: gen "Ever heard of Wizard Cards?" ("base", xpos="far_left", ypos="head") sna "What about them?" ("snape_05") gen "Do you have any?" ("grin", xpos="far_left", ypos="head") @@ -26,29 +26,29 @@ label snape_duel_menu: sna "Fine, I'm confident enough to beat a beginner." ("snape_06") sna "But first a bit of practice..." ("snape_02") gen "Let's play." ("grin", xpos="far_left", ypos="head") - $ snape_know_cards = True + $ states.sna.ev.cardgame.known = True menu: "-First Duel-": jump snape_first_duel - "-Second Duel-" if snape_first_win: + "-Second Duel-" if states.sna.ev.cardgame.stage >= 1: jump snape_second_duel - "-You need to beat the first duel-" (style="disabled") if not snape_first_win: + "-You need to beat the first duel-" (style="disabled") if states.sna.ev.cardgame.stage < 1: jump snape_duel_menu - "-Challenge-" if snape_second_win: + "-Challenge-" if states.sna.ev.cardgame.stage >= 2: jump snape_third_duel - "-You need to beat the second duel-" (style="disabled") if not snape_second_win: + "-You need to beat the second duel-" (style="disabled") if states.sna.ev.cardgame.stage < 2: jump snape_duel_menu "-Never mind-": jump snape_ready else: gen "Up for another game?" ("base", xpos="far_left", ypos="head") - if not snape_wager_talk: + if not states.sna.ev.cardgame.wagers: sna "With you?" sna "..." - if sna_friendship < 30: + if states.sna.level < 30: sna "no..." ("snape_03") gen "Why not?" ("angry", xpos="far_left", ypos="head") gen "What if we did a game as a part of a wager?" ("base", xpos="far_left", ypos="head") @@ -84,7 +84,7 @@ label snape_duel_menu: gen "(Must be something good if he's not going to tell me...)" ("base", xpos="far_left", ypos="head") gen "I'm in." ("grin", xpos="far_left", ypos="head") - $ snape_wager_talk = True + $ states.sna.ev.cardgame.wagers = True if wine_ITEM.owned < 1: sna "Show me the bottle." gen "What?" ("base", xpos="far_left", ypos="head") @@ -146,7 +146,7 @@ label snape_duel_menu: sna "But I think we should up our wager a bit..." ("snape_02") gen "In what way?" ("base", xpos="far_left", ypos="head") sna "I was thinking maybe you could send the Granger girl to my room tonight if I win." ("snape_20") - if hg_pr_kiss.counter >= 3 or her_reputation >= 21: + if hg_pr_kiss.counter >= 3 or states.her.public_level >= 21: gen "We'll see about that." ("base", xpos="far_left", ypos="head") else: gen "I doubt she would agree to that." ("base", xpos="far_left", ypos="head") @@ -181,10 +181,12 @@ label snape_first_duel: call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True $ achievements.unlock("Cardwin") - $ snape_first_win = True + + if states.sna.ev.cardgame.stage < 1: + $ states.sna.ev.cardgame.stage = 1 $ tokens += 1 jump main_room_menu @@ -218,25 +220,24 @@ label snape_second_duel: call sna_chibi("hide") with d3 - if not her_know_cards: + if not states.her.ev.cardgame.known: call bld gen "This is awesome, I wonder if Miss Granger would want to play against me..." ("grin", xpos="far_left", ypos="head") - $ snape_busy = True + $ states.sna.busy = True - $ snape_second_win = True + if states.sna.ev.cardgame.stage < 2: + $ states.sna.ev.cardgame.stage = 2 $ tokens += 1 jump main_room_menu - - label snape_third_duel: - if not her_know_cards: + if not states.her.ev.cardgame.known: gen "(I should probably see if Hermione is interested and practise some more before challenging Snape.)" ("base", xpos="far_left", ypos="head") jump snape_duel_menu - if not twins_cards_stocked_talk: + if not states.twi.ev.cardgame.stock_talk: gen "(I should wait for an owl from Fred and George and train with Hermione first.)" ("base", xpos="far_left", ypos="head") jump snape_duel_menu @@ -283,13 +284,13 @@ label snape_third_duel: stop music fadeout 1 hide screen blkfade - if snape_third_win == False: + if states.sna.ev.cardgame.stage < 3: sna "Impossible... There must be something wrong with my cards!" ("snape_05") gen "They're old, that's what." ("base", xpos="far_left", ypos="head") gen "Now to the prize..." ("base", xpos="far_left", ypos="head") sna "Fine... Here's your tokens and one of my precious cards." ("snape_05") sna "(You were a good card my boy. But it's time to grow up.)" ("snape_05") - $ snape_third_win = True + $ states.sna.ev.cardgame.stage = 3 $ unlocked_cards += [card_snape] call give_reward("You have received a special card!", "images/cardgame/t1/special/snape_v1.webp") $ tokens += 3 @@ -301,7 +302,7 @@ label snape_third_duel: call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True jump main_room_menu @@ -330,8 +331,8 @@ label snape_random_duel: ingredients = [x for x in inventory.get_instances_of_type("ingredient") if x.price > 0] item = renpy.random.choice(ingredients) - if not random_snape_win: - $ random_snape_win = True + if states.sna.ev.cardgame.stage < 4: + $ states.sna.ev.cardgame.stage = 4 gen "Yes!" ("base", xpos="far_left", ypos="head") gen "No wine for you.." ("grin", xpos="far_left", ypos="head") @@ -353,7 +354,7 @@ label snape_random_duel: sna "Well..." ("snape_12") gen "Whatever, I'll take it." ("base", xpos="far_left", ypos="head") - if not snape_office_intro_E2: + if not states.map.snape_office.intro_e3: gen "Maybe I can find some use for it later..." ("base", xpos="far_left", ypos="head") sna "What, the whip--" ("snape_18") @@ -404,7 +405,7 @@ label snape_random_duel: $ item.owned += 1 call give_reward("You've received [item.name] from Snape!", item) - if not snape_office_intro_E2: + if not states.map.snape_office.intro_e3: gen "(I still don't have any use for it, but I won't turn down free shit.)" ("base", xpos="far_left", ypos="head") play sound "sounds/door.ogg" @@ -412,7 +413,7 @@ label snape_random_duel: call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True $ tokens += 1 jump main_room_menu @@ -528,7 +529,7 @@ label snape_duel_lost: call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True jump main_room_menu @@ -554,7 +555,7 @@ label snape_duel_cancel: call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True jump main_room_menu diff --git a/game/scripts/minigames/cardgame/_twins_card_game_.rpy b/game/scripts/minigames/cardgame/_twins_card_game_.rpy index a579ba21..e186afc1 100644 --- a/game/scripts/minigames/cardgame/_twins_card_game_.rpy +++ b/game/scripts/minigames/cardgame/_twins_card_game_.rpy @@ -11,7 +11,7 @@ label twins_first_duel: hide screen blkfade stop music fadeout 1 - if not twins_first_win: + if states.twi.ev.cardgame.stage < 1: twi "No way!" ger "You must've been cheating." gen "It's all in the cards boys." ("base", xpos="far_left", ypos="head") @@ -28,8 +28,8 @@ label twins_first_duel: fre "So you better get ready for a rematch!" twi "Because we'll win next time!" gen "We'll see about that... I can't have students going around showing up to their headmaster can I?" ("base", xpos="far_left", ypos="head") - $ twins_first_win = True - $ twins_cards_delay = twins_cards_delay+game.day + $ states.twi.ev.cardgame.stage = 1 + $ states.twi.ev.cardgame.delay = states.twi.ev.cardgame.delay+game.day pass else: twi "Not again.." @@ -43,7 +43,7 @@ label twins_first_duel: jump main_room label twins_second_duel: - if twins_cards_stocked == False: + if states.twi.ev.cardgame.stocked == False: gen "(I need to wait for an owl from them before we can duel again)" ("base", xpos="far_left", ypos="head") jump twins_duel_menu @@ -75,7 +75,7 @@ label twins_second_duel: hide screen blkfade stop music fadeout 1 - if not twins_second_win: + if states.twi.ev.cardgame.stage < 2: fre "I feel like we should have foreseen this." ger "I blame Trelawney on this, she said that luck would be on our side today..." fre "Well... A promise is a promise." @@ -85,7 +85,7 @@ label twins_second_duel: $ card_rand_twins = renpy.random.choice([[card_fred, "fred"], [card_george, "george"]]) $ unlocked_cards += [card_rand_twins[0]] call give_reward("You have received a special card!", "images/cardgame/t1/special/%s_v1.webp" % str(card_rand_twins[1])) - $ twins_second_win = True + $ states.twi.ev.cardgame.stage = 2 $ tokens += 3 else: twi "Not again.." @@ -96,8 +96,8 @@ label twins_second_duel: jump main_room label twins_random_duel: - if first_random_twins: - $ first_random_twins = False + if states.twi.ev.cardgame.first_random: + $ states.twi.ev.cardgame.first_random = False gen "How about another game?" ("base", xpos="far_left", ypos="head") twi "Sure, why not?" fre "But let's make it a bit interesting." @@ -134,7 +134,7 @@ label twins_random_duel: gen "Obviously..." ("base", xpos="far_left", ypos="head") fre "Just making sure that we have all grounds covered." gen "Let's begin then..." ("base", xpos="far_left", ypos="head") - elif twins_profit == 0.2: + elif states.twi.ev.cardgame.profit == 0.2: gen "Ready for another wager?" ("base", xpos="far_left", ypos="head") ger "No, I think we've had quite enough of a dent in our profit margin..." fre "We're almost half way to where we were before we introduced the card game." @@ -185,7 +185,7 @@ label twins_random_duel: hide screen blkfade stop music fadeout 1 - if twins_random_win: + if states.twi.ev.cardgame.stage < 3: twi "Impossible!" ger "How did you even do that? we weighed these packs for a reason..." gen "You did what, sorry?" ("base", xpos="far_left", ypos="head") @@ -213,10 +213,10 @@ label twins_random_duel: ger "We'll think about it..." call give_reward("You have received 5%% of the twins profits!", "interface/icons/cards.webp") - $ twins_profit += 0.05 - $ twins_random_win = False + $ states.twi.ev.cardgame.profit += 0.05 + $ states.twi.ev.cardgame.stage = 3 $ tokens += 3 - elif twins_profit >= 1.2: + elif states.twi.ev.cardgame.profit >= 1.2: fre "Nice job but you've reached the cap I'm afraid." ger "Yeah, don't want to go minus do we?" $ tokens += 1 @@ -225,7 +225,7 @@ label twins_random_duel: gen "Time to pay up, boys." ("base", xpos="far_left", ypos="head") ger "Fine... We'll up your profits by 1%%..." $ tokens += 1 - $ twins_profit += 0.01 + $ states.twi.ev.cardgame.profit += 0.01 "You return to your office." jump main_room diff --git a/game/scripts/minigames/dueling/snape_duel.rpy b/game/scripts/minigames/dueling/snape_duel.rpy index d03ba13d..10e26480 100644 --- a/game/scripts/minigames/dueling/snape_duel.rpy +++ b/game/scripts/minigames/dueling/snape_duel.rpy @@ -138,7 +138,7 @@ screen duel_buttons(): xpos 954 yalign 1.0 focus_mask True - if potions > 0 and not in_action: + if states.healing_potions > 0 and not in_action: idle "images/dueling/snape/attack_item.webp" hover image_hover("images/dueling/snape/attack_item.webp") action [Jump("main_potion")] @@ -192,7 +192,7 @@ label main_defend: label main_potion: $ in_action = True - if potions > 0: + if states.healing_potions > 0: jump potion else: gen "Crap! I'm out of healing potions!" ("base", xpos="far_left", ypos="head") @@ -372,7 +372,7 @@ label potion: hide screen duel_heal show screen duel_heal(300) pause 1 - $ potions -= 1 + $ states.healing_potions -= 1 $ genie_hp += 300 pause.5 @@ -514,7 +514,7 @@ label snape_lost: show screen ui_top_bar with flashbulb pause 1 - $ snape_intro.duel_complete = True + $ states.sna.ev.intro.duel_complete = True jump snape_intro_E4 ### GENIE LOSES ### @@ -537,7 +537,7 @@ label genie_lost: show screen snape_glass pause 2.3 hide screen gameover - $ potions = 3 # Give healing potions to make the fight less frustrating + $ states.healing_potions = 3 # Give healing potions to make the fight less frustrating $ duel_OBJ.genie = "" jump duel diff --git a/game/scripts/minigames/mirror/events/a_christmas_tale.rpy b/game/scripts/minigames/mirror/events/a_christmas_tale.rpy index e49c599e..6ac80f67 100644 --- a/game/scripts/minigames/mirror/events/a_christmas_tale.rpy +++ b/game/scripts/minigames/mirror/events/a_christmas_tale.rpy @@ -192,5 +192,5 @@ screen genie_santa_chibi(x, y, flip=False): add "characters/misc/santa/santa_chibi.webp" pos (x,y) zoom 0.5 xzoom (-1 if flip else 1) screen snape_picture_frame(): - add "characters/snape/main/picture_frame.webp" xpos snape_xpos ypos snape_ypos xzoom snape_flip zoom 0.5 xoffset -50 - zorder snape_zorder+1 + add "characters/snape/main/picture_frame.webp" xpos states.sna.image.xpos ypos states.sna.image.ypos xzoom states.sna.image.xzoom zoom 0.5 xoffset -50 + zorder states.sna.image.zorder+1 diff --git a/game/scripts/minigames/mirror/events/an_odd_circumstance.rpy b/game/scripts/minigames/mirror/events/an_odd_circumstance.rpy index 6b4aee20..ebffbccc 100644 --- a/game/scripts/minigames/mirror/events/an_odd_circumstance.rpy +++ b/game/scripts/minigames/mirror/events/an_odd_circumstance.rpy @@ -82,7 +82,7 @@ label an_odd_circumstance: hide dark_overlay show screen white with d1 - $ hermione_chibi.zorder = desk_zorder - 1 + $ hermione_chibi.zorder = states.desk_chibi_zorder - 1 call her_chibi("stand",210, 450, flip=True) hide screen white show image "dark_overlay" zorder 6 as dark_overlay diff --git a/game/scripts/minigames/mirror/events/eating_for_pleasure.rpy b/game/scripts/minigames/mirror/events/eating_for_pleasure.rpy index 2a3a153e..8d08bfb9 100644 --- a/game/scripts/minigames/mirror/events/eating_for_pleasure.rpy +++ b/game/scripts/minigames/mirror/events/eating_for_pleasure.rpy @@ -87,7 +87,7 @@ label eating_for_pleasure: call gen_chibi("grab_low") pause 0.5 play sound "sounds/fire_woosh.ogg" - $ fire_in_fireplace = True + $ states.fireplace_started = True show screen gfx_effect(690, 320, img="smoke", zoom=0.5) pause 0.1 $ fireplace_OBJ.foreground = "fireplace_greenfire" @@ -193,7 +193,7 @@ label eating_for_pleasure: play sound "sounds/fire_woosh.ogg" $ fireplace_OBJ.foreground = None with d5 - $ fire_in_fireplace = False + $ states.fireplace_started = False pause 1.0 show screen blkfade diff --git a/game/scripts/minigames/mirror/init.rpy b/game/scripts/minigames/mirror/init.rpy index 56547e33..240e5667 100644 --- a/game/scripts/minigames/mirror/init.rpy +++ b/game/scripts/minigames/mirror/init.rpy @@ -1,4 +1,3 @@ -default mirror_intro_done = False default mr_ev_WPIIA = MirrorEvent( id="mr_ev_WPIIA", @@ -29,7 +28,7 @@ default mr_ev_AOC = MirrorEvent( label="an_odd_circumstance", authors=["SilverStudioGames"], tags=["Humorous","Sexual","Noir"], - req="hg_blowjob.trigger", + req="states.her.status.blowjob", ) default mr_ev_ABTTD = MirrorEvent( @@ -51,7 +50,7 @@ default mr_ev_ASOC = MirrorEvent( label="a_spaced_out_conversation", authors=["Ignatz"], tags=["Noir"], - req="sna_friendship > 60", + req="states.sna.level > 60", ) default mr_ev_ABAS = MirrorEvent( @@ -63,7 +62,7 @@ default mr_ev_ABAS = MirrorEvent( label_rewards="anal_pirate_rewards", authors=["SilverStudioGames"], tags=["Humorous", "Sexual"], - req="hg_anal.trigger", + req="states.her.status.anal", ) # BROKEN @@ -122,7 +121,7 @@ default mr_ev_PR = MirrorEvent( label="panty_raid", authors=["WaxerRed"], tags=["Sexual", "Fetish"], - req="her_whoring > 15", + req="states.her.level > 15", ) default mr_ev_EFP = MirrorEvent( diff --git a/game/scripts/minigames/puzzle.rpy b/game/scripts/minigames/puzzle.rpy index 44c7a1f8..22e446fa 100644 --- a/game/scripts/minigames/puzzle.rpy +++ b/game/scripts/minigames/puzzle.rpy @@ -145,11 +145,11 @@ label puzzle_minigame: gen "(I've seen enough magic to know where this is going... I should investigate that corridor on the seventh floor.)" ("base", xpos="far_left", ypos="head") call give_reward("You've unlocked something on the 7th floor, check your map to get there.","/images/rooms/room_of_requirement/mirror.webp") - if deck_unlocked: + if states.cardgame.unlocked: gen "What's this?" ("base", xpos="far_left", ypos="head") call give_reward("You have found a card at the bottom of the box!", "images/cardgame/t1/other/elf_v1.webp") $ unlocked_cards += [card_item_elf] - $ unlocked_7th = True + $ states.map.seventh_floor.unlocked = True $ puzzle_box_ITEM.owned = 0 $ puzzle_box_ITEM.used = True diff --git a/game/scripts/rooms/labels.rpy b/game/scripts/rooms/labels.rpy index 14ba6309..14fbb4db 100644 --- a/game/scripts/rooms/labels.rpy +++ b/game/scripts/rooms/labels.rpy @@ -10,11 +10,11 @@ label room(room=None, hide_screens=True, stop_sound=True): stop background fadeout 0.5 stop weather fadeout 0.5 - $ renpy.stop_predict_screen(current_room) - $ renpy.stop_predict("images/rooms/{}/*.webp".format(current_room)) - $ current_room = room - $ renpy.start_predict_screen(current_room) - $ renpy.start_predict("images/rooms/{}/*.webp".format(current_room)) + $ renpy.stop_predict_screen(states.room) + $ renpy.stop_predict("images/rooms/{}/*.webp".format(states.room)) + $ states.room = room + $ renpy.start_predict_screen(states.room) + $ renpy.start_predict("images/rooms/{}/*.webp".format(states.room)) if room == "main_room": # Update sound effects @@ -22,7 +22,7 @@ label room(room=None, hide_screens=True, stop_sound=True): show screen main_room - if mailbox.get_letters() and not owl_away: + if mailbox.get_letters(): $ owl_OBJ.hidden = False play sound "sounds/owl.ogg" diff --git a/game/scripts/rooms/main_room/objects/cupboard.rpy b/game/scripts/rooms/main_room/objects/cupboard.rpy index dd928dfe..e709c2bd 100644 --- a/game/scripts/rooms/main_room/objects/cupboard.rpy +++ b/game/scripts/rooms/main_room/objects/cupboard.rpy @@ -1,10 +1,8 @@ -default cupboard_searched = False - label cupboard: if game.day == 1: - if not cupboard_examined: - $ cupboard_examined = True + if not states.gen.ev.intro.cupboard_examined: + $ states.gen.ev.intro.cupboard_examined = True $ cupboard_OBJ.idle = "cupboard_idle" call gen_chibi("stand","behind_desk","base", flip=False) with d5 @@ -18,20 +16,20 @@ label cupboard: else: gen "Looks like any other cupboard, maybe a bit dustier." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu - if cupboard_searched: + if states.cupboard_rummaged: if game.daytime: nar "You have already searched the cupboard today." else: nar "You have already searched the cupboard tonight." jump main_room_menu - $ cupboard_searched = True # Resets every day/night. - $ rum_times += 1 # Stat counter. + $ states.cupboard_rummaged = True # Resets every day/night. + $ states.cupboard_rummaged_times += 1 # Stat counter. $ cupboard_OBJ.idle = "cupboard_open" call gen_chibi("rummage", 160, 459, flip=False) # Note: Flip is inconsistent @@ -44,15 +42,15 @@ label cupboard: $ random_percent = renpy.random.randint(1, 100) # Dueling potion - if game.day <= 3 and rum_times in [1,2]: - $ potions += 1 + if game.day <= 3 and states.cupboard_rummaged_times in [1,2]: + $ states.healing_potions += 1 call give_reward("You found some sort of healing potion...","interface/icons/item_potion.webp") $ cupboard_OBJ.idle = "cupboard_idle" call gen_chibi("sit_behind_desk") jump main_room_menu # Dumbledore card - if game.day >= 26 and deck_unlocked and random_percent <= 40 and not card_exist(unlocked_cards,card_dumbledore) : + if game.day >= 26 and states.cardgame.unlocked and random_percent <= 40 and not card_exist(unlocked_cards,card_dumbledore) : call give_reward("You have found a special card!", "images/cardgame/t1/special/dumbledore_v1.webp") $ unlocked_cards += [card_dumbledore] $ cupboard_OBJ.idle = "cupboard_idle" @@ -60,8 +58,8 @@ label cupboard: jump main_room_menu # Map - if not map_unlocked and hermione_favors: - $ map_unlocked = True + if not states.map.unlocked and states.her.favors_unlocked: + $ states.map.unlocked = True call give_reward("You found a map of the school grounds.", "interface/icons/generic_scroll.webp") gen "What's this? A map?" ("base", xpos="far_left", ypos="head") @@ -108,8 +106,8 @@ init python: def drop_item_from_cupboard(random_percent): drop_list = [item for item in inventory.get_instances_of_type("gift") if item.unlocked] - dr = max(rum_times - game.day, 0) * 2 # Frequent rummaging penalty - progress_factor = math.log(her_tier + cho_tier + ton_tier + lun_tier + game.day) + dr = max(states.cupboard_rummaged_times - game.day, 0) * 2 # Frequent rummaging penalty + progress_factor = math.log(states.her.tier + states.cho.tier + states.ton.tier + states.lun.tier + game.day) if firewhisky_ITEM.unlocked and firewhisky_ITEM.owned < 1: return firewhisky_ITEM diff --git a/game/scripts/rooms/main_room/objects/desk.rpy b/game/scripts/rooms/main_room/objects/desk.rpy index d33e3ccc..e310e56c 100644 --- a/game/scripts/rooms/main_room/objects/desk.rpy +++ b/game/scripts/rooms/main_room/objects/desk.rpy @@ -1,8 +1,8 @@ label desk: if game.day == 1: - if not desk_examined: - $ desk_examined = True + if not states.gen.ev.intro.desk_examined: + $ states.gen.ev.intro.desk_examined = True $ desk_OBJ.idle = "ch_gen sit_behind_desk" call bld gen "A desk of some sort..." ("base", xpos="far_left", ypos="head") @@ -29,7 +29,7 @@ label desk: else: gen "I've already checked the desk." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu @@ -54,15 +54,15 @@ label desk: #Hermione - if _choice == "hermione" and hermione_busy: + if _choice == "hermione" and states.her.busy: if game.daytime: nar "Hermione is taking classes." jump main_room_menu else: nar "Hermione is already asleep." jump main_room_menu - elif _choice == "hermione" and not hermione_busy: - if her_map_location == "forest": + elif _choice == "hermione" and not states.her.busy: + if states.her.map_location == "forest": nar "Hermione is currently at the Forbidden Forest.\n>Would you like to go there?" menu: "-Yes, pay her a visit-": @@ -73,67 +73,67 @@ label desk: jump summon_hermione #Luna - elif luna_unlocked and _choice == "luna" and luna_busy: + elif states.lun.unlocked and _choice == "luna" and states.lun.busy: if game.daytime: nar "Luna is taking classes." jump main_room_menu else: nar "Luna is already asleep." jump main_room_menu - elif luna_unlocked and _choice == "luna" and not luna_busy: + elif states.lun.unlocked and _choice == "luna" and not states.lun.busy: jump summon_luna #Astoria - elif astoria_busy and _choice == "astoria": + elif states.ast.busy and _choice == "astoria": if game.daytime: nar "Astoria is taking classes." jump main_room_menu else: nar "Astoria is already asleep." jump main_room_menu - elif not astoria_busy and _choice == "astoria": #Summoning after intro events done. + elif not states.ast.busy and _choice == "astoria": #Summoning after intro events done. jump summon_astoria #Susan - elif _choice == "susan" and susan_busy: + elif _choice == "susan" and states.sus.busy: if game.daytime: nar "Susan is taking classes." jump main_room_menu else: nar "Susan is already asleep." jump main_room_menu - elif _choice == "susan" and not susan_busy: + elif _choice == "susan" and not states.sus.busy: jump summon_susan #Cho - elif _choice == "cho" and cho_busy: + elif _choice == "cho" and states.cho.busy: if game.daytime: nar "Cho is taking classes." jump main_room_menu else: nar "Cho is already asleep." jump main_room_menu - elif _choice == "cho" and not cho_busy: + elif _choice == "cho" and not states.cho.busy: jump summon_cho #Snape - elif _choice == "snape" and snape_busy: + elif _choice == "snape" and states.sna.busy: nar "Professor Snape is unavailable." if game.daytime: jump main_room_menu else: jump main_room_menu - elif _choice == "snape" and not snape_busy: + elif _choice == "snape" and not states.sna.busy: jump summon_snape #Tonks - elif _choice == "tonks" and tonks_busy: + elif _choice == "tonks" and states.ton.busy: nar "Tonks is unavailable." if game.daytime: jump main_room_menu else: jump main_room_menu - elif _choice == "tonks" and not tonks_busy: + elif _choice == "tonks" and not states.ton.busy: jump summon_tonks #Close @@ -154,7 +154,7 @@ screen desk_menu(): #Background add "interface/desk/_bg_.webp" - if map_unlocked: + if states.map.unlocked: use map_screen # Ugly hands @@ -191,7 +191,7 @@ screen desk_menu(): action Return("jerk_off") #Work - if letter_work_unlock.read: + if states.paperwork_unlocked: imagebutton: xpos -10 ypos 0 @@ -204,7 +204,7 @@ screen desk_menu(): action Return("paperwork") #Cards - if deck_unlocked: #Or letter_cards_unlock.read #Day 26+ + if states.cardgame.unlocked: #Or letter_cards_unlock.read #Day 26+ imagebutton: xpos 0 ypos 600 @@ -308,22 +308,22 @@ label paperwork: label paperwork_report_check: # Check if a report was completed - if report_chapters >= 4: + if states.paperwork_chapters >= 4: nar "You've completed a report." - $ report_chapters = 0 - $ reports_finished += 1 - $ stat_reports_counter += 1 + $ states.paperwork_chapters = 0 + $ states.paperwork_reports += 1 + $ states.paperwork_reports_times += 1 return label paperwork_progress_chapter(message = ""): - $ report_chapters += 1 + $ states.paperwork_chapters += 1 call notes - if report_chapters == 1: + if states.paperwork_chapters == 1: "[message]You finished one chapter so far." else: - "[message]You finished {number=report_chapters} chapters so far." + "[message]You finished {number=states.paperwork_chapters} chapters so far." call paperwork_report_check return diff --git a/game/scripts/rooms/main_room/objects/door.rpy b/game/scripts/rooms/main_room/objects/door.rpy index 19ee080c..900048ef 100644 --- a/game/scripts/rooms/main_room/objects/door.rpy +++ b/game/scripts/rooms/main_room/objects/door.rpy @@ -1,7 +1,7 @@ label door: if game.day == 1: - if not door_examined: - $ door_examined = True + if not states.gen.ev.intro.door_examined: + $ states.gen.ev.intro.door_examined = True $ door_OBJ.idle = "door_idle" call gen_chibi("stand","door","base") with d5 @@ -55,7 +55,7 @@ label door: else: gen "I should leave this door alone for now." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu diff --git a/game/scripts/rooms/main_room/objects/fireplace.rpy b/game/scripts/rooms/main_room/objects/fireplace.rpy index 052dd3f3..ee2a3480 100644 --- a/game/scripts/rooms/main_room/objects/fireplace.rpy +++ b/game/scripts/rooms/main_room/objects/fireplace.rpy @@ -1,7 +1,7 @@ label fireplace: if game.day == 1: - if not fireplace_examined: - $ fireplace_examined = True + if not states.gen.ev.intro.fireplace_examined: + $ states.gen.ev.intro.fireplace_examined = True $ fireplace_OBJ.idle = "fireplace_idle_shadow" call gen_chibi("stand","mid","base") with d5 @@ -11,7 +11,7 @@ label fireplace: else: gen "Looks like a normal fireplace to me." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu @@ -45,16 +45,16 @@ label fireplace: jump main_room_menu - if fire_in_fireplace: - $ fire_in_fireplace = False + if states.fireplace_started: + $ states.fireplace_started = False $ fireplace_OBJ.foreground = None else: - $ fire_in_fireplace = True + $ states.fireplace_started = True $ fireplace_OBJ.foreground = "fireplace_fire" - $ stat_fireplace_counter += 1 + $ states.fireplace_started_times += 1 jump main_room_menu init python: def is_puzzle_box_in_fireplace(): - return game.day >= 25 and not game.daytime and game.moon and not puzzle_box_ITEM.unlocked and not unlocked_7th + return game.day >= 25 and not game.daytime and game.moon and not puzzle_box_ITEM.unlocked and not states.map.seventh_floor.unlocked diff --git a/game/scripts/rooms/main_room/objects/jerk_off.rpy b/game/scripts/rooms/main_room/objects/jerk_off.rpy index 02e3748c..120286c2 100644 --- a/game/scripts/rooms/main_room/objects/jerk_off.rpy +++ b/game/scripts/rooms/main_room/objects/jerk_off.rpy @@ -13,17 +13,17 @@ label jerk_off: menu: "-Hermione's panties!-" if hg_ps_get_panties.inProgress: $ jerk_off_choice = "hermione" - $ her_panties_soaked = True + $ states.her.ev.panty_thief.soaked = True "-LOCKED-" (style="disabled") if not hg_ps_get_panties.inProgress: nar "You lack the item required for this option." jump how_to_finish - "-Cho's panties!-" if has_cho_panties: + "-Cho's panties!-" if states.cho.ev.panty_thief.acquired: $ jerk_off_choice = "cho" - $ cho_panties_soaked = True + $ states.cho.ev.panty_thief.soaked = True - "-LOCKED-" (style="disabled") if not has_cho_panties: + "-LOCKED-" (style="disabled") if not states.cho.ev.panty_thief.acquired: nar "You lack the item required for this option." jump how_to_finish diff --git a/game/scripts/rooms/main_room/objects/phoenix.rpy b/game/scripts/rooms/main_room/objects/phoenix.rpy index 35724b40..7a1bdd69 100644 --- a/game/scripts/rooms/main_room/objects/phoenix.rpy +++ b/game/scripts/rooms/main_room/objects/phoenix.rpy @@ -1,8 +1,8 @@ label phoenix: if game.day == 1: - if not bird_examined: - $ bird_examined = True + if not states.gen.ev.intro.bird_examined: + $ states.gen.ev.intro.bird_examined = True $ phoenix_OBJ.idle = "phoenix_idle" call gen_chibi("stand","mid","base",flip=False) with d5 @@ -13,14 +13,14 @@ label phoenix: else: gen "It's just a bird. Nothing more to say." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu - if not phoenix_is_fed: - $ phoenix_is_fed = True - $ phoenix_fed_counter += 1 + if not states.bird_fed: + $ states.bird_fed = True + $ states.bird_fed_times += 1 call gen_chibi("grab_high", phoenix_OBJ.xpos, phoenix_OBJ.ypos+365, flip=False) # Note: Flip is inconsistent with d3 @@ -37,9 +37,9 @@ label phoenix: call gen_chibi("sit_behind_desk") jump main_room_menu - if not phoenix_is_petted: - $ phoenix_is_petted = True - $ phoenix_petted_counter += 1 + if not states.bird_petted: + $ states.bird_petted = True + $ states.bird_petted_times += 1 call gen_chibi("petting", phoenix_OBJ.xpos, phoenix_OBJ.ypos+270, flip=False) # Note: Flip is inconsistent with d3 pause .5 diff --git a/game/scripts/rooms/main_room/objects/poster.rpy b/game/scripts/rooms/main_room/objects/poster.rpy index 3af7134d..84095488 100644 --- a/game/scripts/rooms/main_room/objects/poster.rpy +++ b/game/scripts/rooms/main_room/objects/poster.rpy @@ -21,7 +21,7 @@ label naughty_list: # list for funsies, the variable is discarded afterwards. _username = None _d = [(i, get_character_progression(i)) for i in CHARACTERS if get_character_unlock(i)] - _d.append(["Snape", sna_friendship]) + _d.append(["Snape", states.sna.level]) try: _username = os.getenv("USERNAME") diff --git a/game/scripts/rooms/room_of_requirement/init.rpy b/game/scripts/rooms/room_of_requirement/init.rpy index 26028ae1..366b67e9 100644 --- a/game/scripts/rooms/room_of_requirement/init.rpy +++ b/game/scripts/rooms/room_of_requirement/init.rpy @@ -49,8 +49,8 @@ label room_of_requirement: call room("room_of_requirement") - if not mirror_intro_done: - $ mirror_intro_done = True + if not states.map.room_of_requirement.intro_e1: + $ states.map.room_of_requirement.intro_e1 = True call gen_chibi("stand","door","base",flip=False) hide screen blkfade diff --git a/game/scripts/rooms/seventh_floor/init.rpy b/game/scripts/rooms/seventh_floor/init.rpy index d6ef120c..ef83ae1e 100644 --- a/game/scripts/rooms/seventh_floor/init.rpy +++ b/game/scripts/rooms/seventh_floor/init.rpy @@ -34,8 +34,8 @@ label seventh_floor: call gen_chibi("stand", -100, "base") call gen_walk(xpos="left_mid", ypos="base", speed=1.5) - if first_time_7th: - $ first_time_7th = False + if not states.map.seventh_floor.visited: + $ states.map.seventh_floor.visited = True gen "So... The diary mentioned he was walking around here." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/rooms/snape_office/init.rpy b/game/scripts/rooms/snape_office/init.rpy index 7ead0b9d..89a9d006 100644 --- a/game/scripts/rooms/snape_office/init.rpy +++ b/game/scripts/rooms/snape_office/init.rpy @@ -1,5 +1,4 @@ -default snape_office_discovered = False default snape_office = Room("snape_office") default snape_office_brewing_station_OBJ = RoomObject(snape_office, "snape_office_brewing_station", pos=(367, 325), idle="snape_office_brewing_station_off", focus_mask=None, action=Jump("brewing_station"), tooltip="Brewing Station", zorder=-1) diff --git a/game/scripts/rooms/snape_office/objects/brewing_station.rpy b/game/scripts/rooms/snape_office/objects/brewing_station.rpy index d35df2fe..7333f4c7 100644 --- a/game/scripts/rooms/snape_office/objects/brewing_station.rpy +++ b/game/scripts/rooms/snape_office/objects/brewing_station.rpy @@ -2,8 +2,8 @@ label brewing_station: if game.daytime: - if not snape_station_examined: - $ snape_station_examined = True + if not states.map.snape_office.station_examined: + $ states.map.snape_office.station_examined = True $ snape_office_brewing_station_OBJ.set_image("snape_office_brewing_station_off") call gen_chibi("stand_alt", xpos="station", ypos="station") @@ -19,7 +19,7 @@ label brewing_station: jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(I've already examined it, I should leave it for now.)" ("base", xpos="far_left", ypos="head") else: $ experimental_recipes_ITEM.used = True @@ -29,7 +29,7 @@ label brewing_station: else: # Genie is talking about alcohol, while Snape thinks he's talking about Madam Hooch - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: gen "(*Hmm*... I didn't know Snape was into distillery. Let's see if I can guess the type of booze by the smell.)" ("base", xpos="far_left", ypos="head") "*Sniff* *Sniff*" gen "*Ugh*! It smells like wet hair mixed with cat poo or something!" ("angry", xpos="far_left", ypos="head") @@ -41,7 +41,7 @@ label brewing_station: sna "Huh? What is that supposed to--" # annoyed sna "*Tsk* You know what, forget it, just let me work in peace." gen "(His alcoholism is a touchy subject I guess...)" ("base", xpos="far_left", ypos="head") - elif snape_office_intro_E2: + elif states.map.snape_office.intro_e3: sna "What did I tell you?" sna "You can use my brewing station when I'm not in the office..." sna "I don't want to smell your failure." # grin diff --git a/game/scripts/rooms/snape_office/objects/candelabra.rpy b/game/scripts/rooms/snape_office/objects/candelabra.rpy index 8600beef..b0f0298e 100644 --- a/game/scripts/rooms/snape_office/objects/candelabra.rpy +++ b/game/scripts/rooms/snape_office/objects/candelabra.rpy @@ -3,8 +3,8 @@ label candelabra: if game.daytime: - if not snape_candelabra_examined: - $ snape_candelabra_examined = True + if not states.map.snape_office.candelabra_examined: + $ states.map.snape_office.candelabra_examined = True $ snape_office_candelabra_OBJ.set_image("snape_office_candelabra_on") call gen_chibi("stand_alt", xpos="candelabra", ypos="candelabra") @@ -24,7 +24,7 @@ label candelabra: with d2 play sound "sounds/fire_woosh.ogg" - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: gen "..." ("base", xpos="far_left", ypos="head") gen "I don't know what I expected to happen." ("base", xpos="far_left", ypos="head") else: diff --git a/game/scripts/rooms/snape_office/objects/desk.rpy b/game/scripts/rooms/snape_office/objects/desk.rpy index 179f515c..1bd72e9b 100644 --- a/game/scripts/rooms/snape_office/objects/desk.rpy +++ b/game/scripts/rooms/snape_office/objects/desk.rpy @@ -2,8 +2,8 @@ label snape_at_desk: if game.daytime: - if not snape_desk_examined: - $ snape_desk_examined = True + if not states.map.snape_office.desk_examined: + $ states.map.snape_office.desk_examined = True $ snape_office_desk_OBJ.set_image("snape_office_desk") $ experimental_recipes_ITEM.owned = 1 @@ -35,7 +35,7 @@ label snape_at_desk: call give_reward("You have acquired experimental potion recipes!", experimental_recipes_ITEM) jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(I have already checked the desk and got the recipes.)" ("base", xpos="far_left", ypos="head") else: gen "I'd better leave his desk alone." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/rooms/snape_office/objects/door.rpy b/game/scripts/rooms/snape_office/objects/door.rpy index 15847630..eaf0318c 100644 --- a/game/scripts/rooms/snape_office/objects/door.rpy +++ b/game/scripts/rooms/snape_office/objects/door.rpy @@ -1,7 +1,7 @@ label snape_office_door: - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: gen "(I have to finish snooping around before leaving.)" ("base", xpos="far_left", ypos="head") else: jump return_office diff --git a/game/scripts/rooms/snape_office/objects/picture.rpy b/game/scripts/rooms/snape_office/objects/picture.rpy index 74880c66..fa70a918 100644 --- a/game/scripts/rooms/snape_office/objects/picture.rpy +++ b/game/scripts/rooms/snape_office/objects/picture.rpy @@ -3,8 +3,8 @@ label snape_picture: if game.daytime: - if not snape_picture_examined: - $ snape_picture_examined = True + if not states.map.snape_office.picture_examined: + $ states.map.snape_office.picture_examined = True $ snape_office_picture_OBJ.set_image("snape_office_picture") call gen_chibi("stand_alt", xpos="painting", ypos="painting") @@ -47,7 +47,7 @@ label snape_picture: jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(I don't have anything more to say to this asshole.)" ("base", xpos="far_left", ypos="head") else: random: diff --git a/game/scripts/rooms/snape_office/objects/shelves.rpy b/game/scripts/rooms/snape_office/objects/shelves.rpy index 288fc193..69ced31a 100644 --- a/game/scripts/rooms/snape_office/objects/shelves.rpy +++ b/game/scripts/rooms/snape_office/objects/shelves.rpy @@ -3,8 +3,8 @@ label shelves: if game.daytime: - if not snape_shelves_examined: - $ snape_shelves_examined = True + if not states.map.snape_office.shelves_examined: + $ states.map.snape_office.shelves_examined = True $ snape_office_shelves_OBJ.set_image("snape_office_shelves") call gen_chibi("stand_alt", xpos="shelves", ypos="shelves", flip=False) @@ -30,7 +30,7 @@ label shelves: jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(Already checked the shelves, there's nothing of value.)" ("base", xpos="far_left", ypos="head") else: gen "There's nothing useful to me on the shelves." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/rooms/snape_office/objects/statue.rpy b/game/scripts/rooms/snape_office/objects/statue.rpy index 9b1bf42b..42e3a37b 100644 --- a/game/scripts/rooms/snape_office/objects/statue.rpy +++ b/game/scripts/rooms/snape_office/objects/statue.rpy @@ -3,8 +3,8 @@ label snake_statue: if game.daytime: - if not snape_statue_examined: - $ snape_statue_examined = True + if not states.map.snape_office.statue_examined: + $ states.map.snape_office.statue_examined = True $ snape_office_statue_OBJ.set_image("snape_office_statue") call gen_chibi("stand_alt", xpos="statue", ypos="statue") @@ -20,7 +20,7 @@ label snake_statue: jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(Nothing here, it's just a fancy ventilation shaft.)" ("base", xpos="far_left", ypos="head") else: gen "(Looks like this snake head statue acts as a ventilation shaft.)" ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/script.rpy b/game/scripts/script.rpy index 4943c373..557df84c 100644 --- a/game/scripts/script.rpy +++ b/game/scripts/script.rpy @@ -10,9 +10,9 @@ label start_quick: python: version = version_float() game.difficulty = 2 - ton_friendship = 5 - sna_friendship = 5 - map_unlocked = True + states.ton.level = 5 + states.sna.level = 5 + states.map.unlocked = True game.cheats = True renpy.block_rollback() @@ -25,52 +25,52 @@ label start_dev: game.difficulty = 2 game.cheats = True game.gold = 100000 - map_unlocked = True - snape_unlocked = True - tonks_unlocked = True - hermione_unlocked = True - cho_unlocked = True - astoria_unlocked = True - susan_unlocked = True - luna_unlocked = True - tonks_wardrobe_unlocked = True - hermione_wardrobe_unlocked = True - cho_wardrobe_unlocked = True - astoria_wardrobe_unlocked = True - susan_wardrobe_unlocked = True - luna_wardrobe_unlocked = True - her_whoring = cho_whoring = lun_whoring = ast_whoring = sus_whoring = 24 - sna_friendship = 100 - ton_friendship = 100 + states.map.unlocked = True + states.sna.unlocked = True + states.ton.unlocked = True + states.her.unlocked = True + states.cho.unlocked = True + states.ast.unlocked = True + states.sus.unlocked = True + states.lun.unlocked = True + states.ton.wardrobe_unlocked = True + states.her.wardrobe_unlocked = True + states.cho.wardrobe_unlocked = True + states.ast.wardrobe_unlocked = True + states.sus.wardrobe_unlocked = True + states.lun.wardrobe_unlocked = True + states.her.level = states.cho.level = states.lun.level = states.ast.level = states.sus.level = 24 + states.sna.level = 100 + states.ton.level = 100 - ball_quest.E1_complete = True - ball_quest.E2_complete = True - ball_quest.E3_complete = True - ball_quest.E4_complete = True + states.her.ev.yule_ball.e1_complete = True + states.her.ev.yule_ball.e2_complete = True + states.her.ev.yule_ball.e3_complete = True + states.her.ev.yule_ball.e4_complete = True - mirror_intro_done = True - unlocked_7th = True - first_time_7th = False + states.map.room_of_requirement.intro_e1 = True + states.map.seventh_floor.unlocked = True + states.map.seventh_floor.visited = True seventh_door_OBJ.hidden = False - snape_office_discovered = True + states.map.snape_office.visited = True - snape_station_examined = True - snape_shelves_examined = True - snape_picture_examined = True - snape_statue_examined = True - snape_desk_examined = True - snape_candelabra_examined = True + states.map.snape_office.station_examined = True + states.map.snape_office.shelves_examined = True + states.map.snape_office.picture_examined = True + states.map.snape_office.statue_examined = True + states.map.snape_office.desk_examined = True + states.map.snape_office.candelabra_examined = True - snape_office_intro_E0 = True - snape_office_intro_E1 = True - snape_office_intro_E1_stage = 2 - snape_office_intro_E2 = True + states.map.snape_office.intro_e1 = True + states.map.snape_office.intro_e2 = True + states.map.snape_office.intro_e2_stage = 2 + states.map.snape_office.intro_e3 = True - cho_intro.E1_complete = True - cho_intro.E2_complete = True - cho_intro.E3_complete = True - ss_he.cho_E1 = True + states.cho.ev.intro.e1_complete = True + states.cho.ev.intro.e2_complete = True + states.cho.ev.intro.e4_complete = True + states.sna.ev.hangouts.cho_e1 = True for i in mirror.items: i.unlocked = True diff --git a/game/scripts/shops/dress/chitchats.rpy b/game/scripts/shops/dress/chitchats.rpy index 687ae186..768bb558 100644 --- a/game/scripts/shops/dress/chitchats.rpy +++ b/game/scripts/shops/dress/chitchats.rpy @@ -34,7 +34,7 @@ label purchase_outfit(item): maf "As you wish sweetie, it should be ready shortly." gen "Thank you." ("base", xpos="far_left", ypos="head") elif item == her_outfit_ball: - if not ball_quest.E4_complete: + if not states.her.ev.yule_ball.e4_complete: gen "Could you make a dress for me?" ("base", xpos="far_left", ypos="head") maf "A dress? Do you mean something like a ball dress, or more burlesque?" gen "*Hmm*... A ball dress does sound good, actually." ("base", xpos="far_left", ypos="head") @@ -503,7 +503,7 @@ label purchase_outfit(item): maf "I suppose... I'll have to ask my grandson what it looks like but it shouldn't be a problem." gen "Excellent." ("base", xpos="far_left", ypos="head") elif item == lun_outfit_party: - if not ball_quest.E4_complete: #If the ball hasn't been brought up yet + if not states.her.ev.yule_ball.e4_complete: #If the ball hasn't been brought up yet gen "Could you make a dress for me?" ("base", xpos="far_left", ypos="head") maf "Certainly, what type of dress would you like?" gen "Something weird would do well I think..." ("base", xpos="far_left", ypos="head") @@ -512,7 +512,7 @@ label purchase_outfit(item): maf "Are you trying to wind me up, sir?" gen "I'm deadly serious..." ("base", xpos="far_left", ypos="head") maf "Okay then, well... in that case I'll have to throw fashion out the window..." - elif not ball_quest.started: #If the ball has been brought up but not happened + elif not states.her.ev.yule_ball.started: #If the ball has been brought up but not happened gen "One of the students needs a dress for the upcoming ball." ("base", xpos="far_left", ypos="head") maf "Weren't they required to bring an outfit at the start of the school year?" gen "Yes, although you know how scatter-brained students can be." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/shops/item/chitchats.rpy b/game/scripts/shops/item/chitchats.rpy index 60779568..4956cd4e 100644 --- a/game/scripts/shops/item/chitchats.rpy +++ b/game/scripts/shops/item/chitchats.rpy @@ -12,7 +12,7 @@ label purchase_item(item): if item == sealed_scroll_ITEM: show screen blktone with d3 - if not hg_sex.trigger: + if not states.her.status.sex: gen "What's in this scroll?" ("base", xpos="far_left", ypos="head") ger "Don't worry about it." gen "Why?" ("base", xpos="far_left", ypos="head") @@ -48,7 +48,7 @@ label purchase_item(item): hide screen blktone with d3 - if item == collar_ITEM and not her_magic_collar_worn and item.owned == 0: + if item == collar_ITEM and not states.her.ev.magic_collar.worn and item.owned == 0: show screen blktone with d3 gen "A Magic collar..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/shops/item/room.rpy b/game/scripts/shops/item/room.rpy index b20ebb00..18a85a56 100644 --- a/game/scripts/shops/item/room.rpy +++ b/game/scripts/shops/item/room.rpy @@ -40,8 +40,8 @@ label item_store: gen "What sort of items are you \"not selling\"?" ("base", xpos="far_left", ypos="head") ger "We have books, treats, and knick-knacks for sale." fre "Take a look." - elif twins_interest: - $ twins_interest = False + elif states.twi.ev.cardgame.interest: + $ states.twi.ev.cardgame.interest = False twi "Greetings Dumbledore, sir!" gen "Hello boys." ("base", xpos="far_left", ypos="head") @@ -49,23 +49,23 @@ label item_store: twi "Of course!" $ her_help = 0 - if her_shop_help: + if states.her.ev.sell_cards.helped: ger "Miss Granger has helped us with promotions this week so that means more profits." $ her_help = 200 - $ her_shop_help = False + $ states.her.ev.sell_cards.helped = False $ shop_profit = renpy.random.randint(50+her_help, 300) ger "Here, your weekly cut." - call give_reward("You've received "+str(int(shop_profit*twins_profit))+" gold.", "interface/icons/gold.webp") + call give_reward("You've received "+str(int(shop_profit*states.twi.ev.cardgame.profit))+" gold.", "interface/icons/gold.webp") - $ game.gold += int(shop_profit*twins_profit) + $ game.gold += int(shop_profit*states.twi.ev.cardgame.profit) ger "..." twi "Did you need anything else?" else: twi "Hello Professor! Came here to buy?" ##Any quest that could play directly after intro can't have introductory dialogue## - if ss_he.cho_E1 and not quidditchguide_ITEM.unlocked and not cho_quiz.complete: + if states.sna.ev.hangouts.cho_e1 and not quidditchguide_ITEM.unlocked and not states.cho.ev.quiz.complete: $ quidditchguide_ITEM.unlocked = True # After talking to Snape about Cho. # If you haven't yet beaten the Quiz. @@ -127,7 +127,7 @@ label item_store: gen "Right..." ("base", xpos="far_left", ypos="head") ger "We've put the book in \"Quest Items\" section, can't miss it." - elif deck_unlocked and her_know_cards and not twins_know_cards: + elif states.cardgame.unlocked and states.her.ev.cardgame.known and not states.twi.ev.cardgame.known: gen "Let's see..." ("base", xpos="far_left", ypos="head") twi "Looking for something in particular, sir?" gen "I'm looking to acquire some Wizard cards." ("base", xpos="far_left", ypos="head") @@ -145,10 +145,10 @@ label item_store: gen "So..." ("base", xpos="far_left", ypos="head") ger "If you beat us we'll do a trial run and stock some cards for the students." twi "(There's no way this\nold man would ever beat us.)" - $ twins_know_cards = True + $ states.twi.ev.cardgame.known = True jump twins_duel_menu - elif twins_cards_stocked and not twins_second_win and not twins_cards_stocked_talk: + elif states.twi.ev.cardgame.stocked and states.twi.ev.cardgame.stage < 2 and not states.twi.ev.cardgame.stock_talk: gen "Well, well... Looking good as always boys!" ("base", xpos="far_left", ypos="head") twi "..." gen "In a professional sense that is... Don't you worry." ("base", xpos="far_left", ypos="head") @@ -180,18 +180,18 @@ label item_store: gen "That's it? Sounds a bit out of character for you guys to make it this easy." ("base", xpos="far_left", ypos="head") fre "Let's call it an insurance so that we can continue our business." ger "There's no way you'll beat us again anyway." - $ twins_cards_stocked_talk = True + $ states.twi.ev.cardgame.stock_talk = True jump twins_duel_menu - elif luna_unlocked and not spectrespecs_E1: + elif states.lun.unlocked and not states.lun.ev.spectrespecs.e1_complete: call spectrespecs_E1 call gen_walk(xpos=0, ypos="base", speed=1.5) jump main_room - elif quibbler_stocked and not spectrespecs_E2: + elif states.lun.ev.quibbler.stocked and not states.lun.ev.spectrespecs.e2_complete: call spectrespecs_E2 - elif twins_know_cards: + elif states.twi.ev.cardgame.known: twi "Perhaps a game of cards?" label twins_menu: menu: @@ -203,9 +203,9 @@ label item_store: menu: "-First Duel-": jump twins_first_duel - "-Challenge-" if twins_first_win: + "-Challenge-" if states.twi.ev.cardgame.stage > 1: jump twins_second_duel - "-You need to beat the first duel-" (style="disabled") if not twins_first_win: + "-You need to beat the first duel-" (style="disabled") if states.twi.ev.cardgame.stage < 1: jump twins_duel_menu "-Never mind-": twi "Your loss professor." diff --git a/game/scripts/utility/common_labels.rpy b/game/scripts/utility/common_labels.rpy index d2784a6a..5ca6001b 100644 --- a/game/scripts/utility/common_labels.rpy +++ b/game/scripts/utility/common_labels.rpy @@ -11,21 +11,10 @@ label hide_characters: # Do not add transitions. Use one after return. return -label update_interface_color(color=None): - if color in ["gold", "gray"]: - $ interface_color = color - elif game.daytime: - $ interface_color = "gold" - else: - $ interface_color = "gray" - - return - # Reset menu label reset_menu_position: - $ menu_x = 0.5 - $ menu_y = 0.6 + $ states.menu_pos = (0.5, 0.6) return @@ -90,19 +79,18 @@ label ctc: # Play day/night theme label music_block: - if current_room == "main_room": + if states.room == "main_room": if game.daytime: play music "music/Brittle Rille.ogg" fadein 1 if_changed else: play music "music/Music for Manatees.ogg" fadein 1 if_changed - elif current_room == "snape_office": + elif states.room == "snape_office": play music "music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg" fadein 1 if_changed return label unlock_clothing(text="", item="interface/icons/box_blue_1.webp"): - $ menu_x = 0.5 - $ menu_y = 0.75 #makes the menu lower so it isn't writing over the image. + $ states.menu_pos = (0.5, 0.75) show screen clothing_unlock(item) show screen blktone diff --git a/game/scripts/utility/devtools.rpy b/game/scripts/utility/devtools.rpy index a5c5e98f..577f58d4 100644 --- a/game/scripts/utility/devtools.rpy +++ b/game/scripts/utility/devtools.rpy @@ -106,7 +106,8 @@ label missing_label(): $ err_msg2 = systemerror[1] "{color=#7a0000}System{/color}" "Uh-oh. Looks like you've encountered a bug. Don't worry, we will try to return you back to the office after displaying the error message, your save file won't be affected." "{color=#7a0000}System{/color}" "{color=#7a0000}Error:{/color} [err_msg1] '{color=#7a0000}[err_msg2]{/color}'\n\n\n{size=-4}You can report this bug on our {a=https://discord.gg/7PD57yt}discord{/a}.{/size}" - $ active_girl = None + $ states.last_girl = None + $ states.active_girl = None $ systemerror = [None, None] jump main_room @@ -114,7 +115,8 @@ label missing_return(): $ renpy.choice_for_skipping() "{color=#7a0000}System{/color}" "Uh-oh. Looks like you've encountered a bug. Don't worry, we will try to return you back to the office after displaying the error message, your save file won't be affected." "{color=#7a0000}System{/color}" "{color=#7a0000}Error:{/color} Point of no return.\n\n\n{size=-4}You can report this bug on our {a=https://discord.gg/7PD57yt}discord{/a}.{/size}" - $ active_girl = None + $ states.last_girl = None + $ states.active_girl = None jump main_room screen placeholder(): diff --git a/game/scripts/utility/periodic_functions.rpy b/game/scripts/utility/periodic_functions.rpy index 15707a89..87082d4e 100644 --- a/game/scripts/utility/periodic_functions.rpy +++ b/game/scripts/utility/periodic_functions.rpy @@ -7,22 +7,22 @@ init python: if not achievements.status('drunkard') and wine_ITEM.owned >= 25: achievements.unlock("drunkard") - if not achievements.status('peta') and (game.day-phoenix_fed_counter) >= 50: + if not achievements.status('peta') and (game.day-states.bird_fed_times) >= 50: achievements.unlock("peta") - if not achievements.status('petpal') and phoenix_petted_counter >= 25: + if not achievements.status('petpal') and states.bird_petted_times >= 25: achievements.unlock("petpal") - if not achievements.status('bros') and sna_friendship >= 100: + if not achievements.status('bros') and states.sna.level >= 100: achievements.unlock("bros") - if not achievements.status('overwhored') and her_whoring >= 24: + if not achievements.status('overwhored') and states.her.level >= 24: achievements.unlock("overwhored") - if not achievements.status('fireplace') and stat_fireplace_counter >= 5: + if not achievements.status('fireplace') and states.fireplace_started_times >= 5: achievements.unlock("fireplace") - if not achievements.status('workaholic') and stat_reports_counter >= 5: + if not achievements.status('workaholic') and states.paperwork_reports_times >= 5: achievements.unlock("workaholic") def periodic_callbacks(): diff --git a/game/scripts/variables.rpy b/game/scripts/variables.rpy index 7fb33203..6459dcbd 100644 --- a/game/scripts/variables.rpy +++ b/game/scripts/variables.rpy @@ -1,31 +1,14 @@ #TODO Move variable defaults to appropriate files, leave common ones here (and rename this file to _Variables_.rpy or something) init offset = -1 -# Menu placement -default menu_x = 0.5 -default menu_y = 0.5 - -# Summoned character -default active_girl = None -default last_character = None - -# GUI color scheme -default interface_color = "gold" - -default rum_times = 0 # Counts how many times have you rummaged the cupboard. default current_payout = 0 -default public_whore_ending = False # If TRUE the game will end with "Public Whore Ending". - # House points default slytherin = 35 default gryffindor = 122 default hufflepuff = 25 default ravenclaw = 31 -# Duel -default potions = 0 # Amount of healing potions Genie has in stock. - # Used to pause events/summons for a number of days default ss_event_pause = 0 default ss_summon_pause = 0 @@ -42,36 +25,6 @@ default ag_summon_pause = 0 default sb_event_pause = 0 default sb_summon_pause = 0 -default owl_away = False -default owl_away_counter = 0 - # Sprite positioning default nxpos = 0 default nypos = 0 -default desk_zorder = 2 - -default unlocked_7th = False - -# Phoenix -default phoenix_is_fed = False -default phoenix_is_petted = False -default phoenix_fed_counter = 0 -default phoenix_petted_counter = 0 - -# Paperwork related flags -default report_chapters = 0 # Number of chapters of current report completed so far. Resets to zero when report is finished. -default reports_finished = 0 # Number of completed reports. -default stat_reports_counter = 0 - -# Fireplace -default fire_in_fireplace = False -default stat_fireplace_counter = 0 - -# Examine room flags -default desk_examined = False -default cupboard_examined = False -default bird_examined = False -default door_examined = False -default fireplace_examined = False - -default current_room = "main_room" diff --git a/game/scripts/wardrobe/functions.rpy b/game/scripts/wardrobe/functions.rpy index 576b5171..de6131e3 100644 --- a/game/scripts/wardrobe/functions.rpy +++ b/game/scripts/wardrobe/functions.rpy @@ -2,9 +2,12 @@ init -1 python: def get_character_progression(key): if not key in CHARACTERS: raise KeyError("'{}' character is undefined.".format(key)) - if key == "tonks": - return ton_friendship - return getattr(store, "{}_whoring".format(key[:3])) + return getattr(states, f"{key[:3]}").level + + def get_character_scheduling(key): + if not key in CHARACTERS: + raise KeyError("'{}' character is undefined.".format(key)) + return getattr(states, f"{key[:3]}").wardrobe_scheduling def get_character_requirement(key, type): if not key in CHARACTERS: @@ -154,7 +157,7 @@ init -1 python: def wardrobe_fail_hint(value): """Displays required whoring/friendship/affection level.""" word_list = {"tonks": "friendship", "astoria": "affection", "susan": "confidence", "luna": "corruption", "cho": "recklessness", "hermione": "whoring"} - word = word_list.get(active_girl, "whoring") + word = word_list.get(states.active_girl, "whoring") if game.cheats or game.difficulty <= 2: renpy.show_screen("blktone") diff --git a/game/scripts/wardrobe/reactions.rpy b/game/scripts/wardrobe/reactions.rpy index 5199976a..cb9f2bba 100644 --- a/game/scripts/wardrobe/reactions.rpy +++ b/game/scripts/wardrobe/reactions.rpy @@ -1,43 +1,43 @@ init python: def wardrobe_check_category(category): - req = get_character_requirement(active_girl, "category {}".format(category)) - flag = get_character_progression(active_girl) + req = get_character_requirement(states.active_girl, "category {}".format(category)) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_check_touch(what): - req = get_character_requirement(active_girl, "touch {}".format(what)) - flag = get_character_progression(active_girl) + req = get_character_requirement(states.active_girl, "touch {}".format(what)) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_check_equip(item): req = item.level - flag = get_character_progression(active_girl) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_check_unequip(item): - req = get_character_requirement(active_girl, "unequip {}".format(item.type)) - flag = get_character_progression(active_girl) + req = get_character_requirement(states.active_girl, "unequip {}".format(item.type)) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_check_equip_outfit(item): req = max((i.level for i in item.group)) - flag = get_character_progression(active_girl) + flag = get_character_progression(states.active_girl) has_bra = any(i.type == "bra" for i in item.group) has_panties = any(i.type == "panties" for i in item.group) if not has_bra: - req = max(req, get_character_requirement(active_girl, "unequip bra")) + req = max(req, get_character_requirement(states.active_girl, "unequip bra")) if not has_panties: - req = max(req, get_character_requirement(active_girl, "unequip panties")) + req = max(req, get_character_requirement(states.active_girl, "unequip panties")) if any(i.type.startswith(("piercing", "tattoo")) for i in item.group): - req = max(req, get_character_requirement(active_girl, "category piercings & tattoos")) + req = max(req, get_character_requirement(states.active_girl, "category piercings & tattoos")) return (flag >= req) @@ -45,21 +45,21 @@ init python: if not item.blacklist: return True - req = max( ( get_character_requirement(active_girl, "unequip {}".format(i)) for i in item.blacklist ) ) - flag = get_character_progression(active_girl) + req = max( ( get_character_requirement(states.active_girl, "unequip {}".format(i)) for i in item.blacklist ) ) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_fallback_required(item): fallbacks = {"top", "bottom", "bra", "panties"} - char = get_character_object(active_girl) - req = [get_character_requirement(active_girl, "unequip {}".format(i)) for i in fallbacks if not char.is_equipped(i) and not i in char.blacklist] + char = get_character_object(states.active_girl) + req = [get_character_requirement(states.active_girl, "unequip {}".format(i)) for i in fallbacks if not char.is_equipped(i) and not i in char.blacklist] if not req: return False req = max(req) - flag = get_character_progression(active_girl) + flag = get_character_progression(states.active_girl) return not (flag >= req) @@ -71,7 +71,7 @@ init python: renpy.hide_screen("wardrobe") renpy.hide_screen("wardrobe_menuitem") renpy.hide_screen("wardrobe_outfit_menuitem") - renpy.show("gui_fade", zorder=10, behind=get_character_tag(active_girl)) + renpy.show("gui_fade", zorder=10, behind=get_character_tag(states.active_girl)) renpy.block_rollback() - renpy.call(get_character_response(active_girl, what), arg) + renpy.call(get_character_response(states.active_girl, what), arg) return diff --git a/game/scripts/wardrobe/studio.rpy b/game/scripts/wardrobe/studio.rpy index e1f5ec7b..2e123fc4 100644 --- a/game/scripts/wardrobe/studio.rpy +++ b/game/scripts/wardrobe/studio.rpy @@ -78,7 +78,7 @@ init python in studio: return d def get_drags(): - active_girl = renpy.store.active_girl + active_girl = renpy.store.states.active_girl d = {} for i in CHARACTERS: @@ -122,7 +122,7 @@ init python in studio: drag = drag[0] renpy.store.char_active = drag.char_obj - renpy.store.active_girl = drag.char_name + renpy.store.states.active_girl = drag.char_name drag.top() renpy.restart_interaction() @@ -168,19 +168,19 @@ label studio(char): python: last_char = char_active - last_girl = active_girl + last_girl = states.active_girl last_face = last_char.get_face() studio.faces = studio.get_faces() studio.choices = studio.get_choices() - char_active.set_face(**studio.get_face(active_girl)) + char_active.set_face(**studio.get_face(states.active_girl)) studio.drags = studio.get_drags() call screen studio # Reset $ char_active = last_char - $ active_girl = last_girl + $ states.active_girl = last_girl $ char_active.set_face(**last_face) return @@ -217,7 +217,7 @@ screen studio(): else: $ ov = None - $ active_drag = studio.drags[active_girl][0] + $ active_drag = studio.drags[states.active_girl][0] add bg @@ -237,36 +237,36 @@ screen studio(): style_prefix gui.theme("studio") vbox: - label (active_girl) + label (states.active_girl) $ drag_update = Function(studio.drag_update, active_drag) $ drag_reset = Function(studio.drag_reset, active_drag) hbox: add "interface/studio/eyebrows.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "eyebrows", len(studio.faces[active_girl]["eyebrows"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character eyebrows" + bar value DictValue(studio.choices[states.active_girl], "eyebrows", len(studio.faces[states.active_girl]["eyebrows"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character eyebrows" hbox: add "interface/studio/eyes.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "eyes", len(studio.faces[active_girl]["eyes"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character eyes" + bar value DictValue(studio.choices[states.active_girl], "eyes", len(studio.faces[states.active_girl]["eyes"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character eyes" hbox: add "interface/studio/pupils.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "pupils", len(studio.faces[active_girl]["pupils"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character pupils" + bar value DictValue(studio.choices[states.active_girl], "pupils", len(studio.faces[states.active_girl]["pupils"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character pupils" hbox: add "interface/studio/mouth.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "mouth", len(studio.faces[active_girl]["mouth"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character mouth" + bar value DictValue(studio.choices[states.active_girl], "mouth", len(studio.faces[states.active_girl]["mouth"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character mouth" hbox: add "interface/studio/blush.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "cheeks", len(studio.faces[active_girl]["cheeks"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character blush" + bar value DictValue(studio.choices[states.active_girl], "cheeks", len(studio.faces[states.active_girl]["cheeks"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character blush" hbox: add "interface/studio/tears.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "tears", len(studio.faces[active_girl]["tears"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character tears" + bar value DictValue(studio.choices[states.active_girl], "tears", len(studio.faces[states.active_girl]["tears"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character tears" hbox: add "interface/studio/scale.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "zoom", 1.0, False, step=0.1, force_step=True, action=drag_update) tooltip "Character Scale" + bar value DictValue(studio.choices[states.active_girl], "zoom", 1.0, False, step=0.1, force_step=True, action=drag_update) tooltip "Character Scale" hbox: add "interface/studio/opacity.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "alpha", 1.0, False, step=0.1, force_step=True, action=drag_update) tooltip "Character Opacity" + bar value DictValue(studio.choices[states.active_girl], "alpha", 1.0, False, step=0.1, force_step=True, action=drag_update) tooltip "Character Opacity" - textbutton "Flip" action [ToggleDict(studio.choices[active_girl], "flip", -1, 1), drag_update] xpos 4 + textbutton "Flip" action [ToggleDict(studio.choices[states.active_girl], "flip", -1, 1), drag_update] xpos 4 textbutton "Reset" action drag_reset xpos 4 vbox: @@ -318,12 +318,12 @@ screen studio(): label "Characters" vbox: for k, v in studio.drags.items(): - $ active = (active_girl == k and v[1]) + $ active = (states.active_girl == k and v[1]) $ unlocked = getattr(renpy.store, k+"_unlocked") if not v[1]: $ action = [ SetDict(studio.drags[k], 1, True), Function(studio.drag_activated, [v[0]]), renpy.restart_interaction ] - elif not active_girl == k: + elif not states.active_girl == k: $ action = [ Function(studio.drag_activated, [v[0]]), renpy.restart_interaction] else: $ action = [ SetDict(studio.drags[k], 1, False), renpy.restart_interaction ] diff --git a/game/scripts/wardrobe/wardrobe.rpy b/game/scripts/wardrobe/wardrobe.rpy index 9e363fd9..a829be50 100644 --- a/game/scripts/wardrobe/wardrobe.rpy +++ b/game/scripts/wardrobe/wardrobe.rpy @@ -25,7 +25,7 @@ init python: global _lock, _predicted _lock = True renpy.start_predict_screen("wardrobe") - c = get_character_object(active_girl) + c = get_character_object(states.active_girl) d = [v[0] for i in c.wardrobe_list for v in i.get_layers(i._hash).values()] renpy.start_predict(*d, "interface/wardrobe/*.webp") _predicted = d @@ -146,8 +146,8 @@ screen wardrobe(xx, yy): label wardrobe_menu(): python: - char_active = get_character_object(active_girl) - char_outfit = get_character_outfit(active_girl, type="last") + char_active = get_character_object(states.active_girl) + char_outfit = get_character_outfit(states.active_girl, type="last") char_outfit.save() wardrobe_subcategories = char_active.wardrobe @@ -173,7 +173,7 @@ label wardrobe_menu(): hide gui_fade show screen wardrobe(662, 50) - $ renpy.hide(get_character_tag(active_girl)) + $ renpy.hide(get_character_tag(states.active_girl)) $ renpy.config.skipping = None $ _game_menu_screen = None $ _skipping = False @@ -261,7 +261,7 @@ label wardrobe_menu(): if wardrobe_fallback_required(_choice[1]): # Has to be called regardless of player preference. - $ renpy.call(get_character_response(active_girl, "fallback"), _choice[1]) + $ renpy.call(get_character_response(states.active_girl, "fallback"), _choice[1]) else: $ wardrobe_react("equip_fail", _choice[1]) @@ -381,11 +381,11 @@ label wardrobe_menu(): if wardrobe_music: wardrobe_music = False renpy.music.play(last_track) - get_character_sayer(active_girl)("", face="happy") + get_character_sayer(states.active_girl)("", face="happy") else: wardrobe_music = True renpy.music.play("music/Spring_In_My_Step.ogg", fadein=1) - get_character_sayer(active_girl)("", face="happy") + get_character_sayer(states.active_girl)("", face="happy") elif _choice == "randomise": python: @@ -400,7 +400,7 @@ label wardrobe_menu(): renpy.notify("Advice: If you want to keep an outfit, save it.") renpy.jump("wardrobe_menu.after_init") - progress = get_character_progression(active_girl) + progress = get_character_progression(states.active_girl) if wardrobe_randomise_color: @@ -419,25 +419,25 @@ label wardrobe_menu(): valid_choices = [x for x in char_active.wardrobe_list if (istype(x, (DollCloth, DollClothDynamic, DollMakeup)) and x.type == k and x.unlocked and progress >= x.level)] if k == "panties": - if not progress >= get_character_requirement(active_girl, "category lower undergarment"): + if not progress >= get_character_requirement(states.active_girl, "category lower undergarment"): continue - if progress >= get_character_requirement(active_girl, "unequip panties"): + if progress >= get_character_requirement(states.active_girl, "unequip panties"): valid_choices += [None] elif k == "bra": - if not progress >= get_character_requirement(active_girl, "category upper undergarment"): + if not progress >= get_character_requirement(states.active_girl, "category upper undergarment"): continue - if progress >= get_character_requirement(active_girl, "unequip bra"): + if progress >= get_character_requirement(states.active_girl, "unequip bra"): valid_choices += [None] elif k == "top": - if progress >= get_character_requirement(active_girl, "unequip top"): + if progress >= get_character_requirement(states.active_girl, "unequip top"): valid_choices += [None] elif k == "bottom": - if progress >= get_character_requirement(active_girl, "unequip bottom"): + if progress >= get_character_requirement(states.active_girl, "unequip bottom"): valid_choices += [None] elif any(k.startswith(type) for type in ("piercing", "tattoo")): - if not progress >= get_character_requirement(active_girl, "category piercings & tattoos"): + if not progress >= get_character_requirement(states.active_girl, "category piercings & tattoos"): continue valid_choices += [None] @@ -566,9 +566,9 @@ screen wardrobe_menu(xx, yy): for i, category in enumerate(wardrobe_categories): if wardrobe_check_category(category): - $ icon = Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/{}/{}.webp".format(active_girl, category), zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5)), icon_frame) + $ icon = Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/{}/{}.webp".format(states.active_girl, category), zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5)), icon_frame) else: - $ icon = Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/{}/{}.webp".format(active_girl, category), zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5), matrixcolor=SaturationMatrix(0.0)), icon_frame) + $ icon = Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/{}/{}.webp".format(states.active_girl, category), zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5), matrixcolor=SaturationMatrix(0.0)), icon_frame) $ icon_xoffset = -18 if (i % 2) == 0 else 18 button: @@ -604,7 +604,7 @@ screen wardrobe_menu(xx, yy): xysize (72, 72) background Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/studio.webp", zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5)), icon_frame) tooltip "Photo Studio" - action Function(renpy.call_in_new_context, "studio", active_girl) + action Function(renpy.call_in_new_context, "studio", states.active_girl) add panel @@ -639,12 +639,12 @@ screen wardrobe_menu(xx, yy): action Return("music") textbutton "Chit-chats": style gui.theme("dropdown") - tooltip "{color=#35aae2}[active_girl]{/color} will make comments regarding your poor fashion tastes." + tooltip "{color=#35aae2}[states.active_girl]{/color} will make comments regarding your poor fashion tastes." action ToggleVariable("wardrobe_chitchats", True, False) textbutton "Outfits Scheduling": style gui.theme("dropdown") - tooltip "{color=#35aae2}[active_girl]{/color} will automatically wear outfits\nbased on set schedule, time of day and weather." - action [ToggleVariable(active_girl+"_outfits_schedule", True, False), If((current_category == "outfits" and current_subcategory == "schedule"), Return(["subcategory", "save"]))] + tooltip "{color=#35aae2}[states.active_girl]{/color} will automatically wear outfits\nbased on set schedule, time of day and weather." + action [ToggleVariable(f"states.{states.active_girl[:3]}.wardrobe_scheduling", True, False), If((current_category == "outfits" and current_subcategory == "schedule"), Return(["subcategory", "save"]))] textbutton "Outfits Autosave": style gui.theme("dropdown") tooltip "Outfits will be automatically saved upon exit." @@ -730,7 +730,7 @@ screen wardrobe_menuitem(xx, yy): for item, icon in zip(menu_items, icon_items): $ is_seen = item.seen $ is_equipped = char_active.is_equipped_item(item) - $ is_inadequate = bool(get_character_progression(active_girl) < item.level) + $ is_inadequate = bool(get_character_progression(states.active_girl) < item.level) $ is_blacklisted = char_active.is_blacklisted(item.type) $ is_blacklister = any(char_active.is_equipped(x) for x in item.blacklist) $ is_modded = bool(item.modpath) @@ -817,9 +817,9 @@ screen wardrobe_outfit_menuitem(xx, yy): $ icon = "interface/wardrobe/icons/{}.webp".format(subcategory) $ action = Return(["subcategory", subcategory]) - if subcategory == "schedule" and not getattr(renpy.store, active_girl+"_outfits_schedule"): + if subcategory == "schedule" and not get_character_scheduling(states.active_girl): $ icon = gray_tint(icon) - $ action = Confirm("Outfit scheduling is currently disabled,\nwould you like to turn it on?", [SetVariable(active_girl+"_outfits_schedule", True), Return(["subcategory", subcategory])]) + $ action = Confirm("Outfit scheduling is currently disabled,\nwould you like to turn it on?", [SetVariable(f"states.{states.active_girl[:3]}.wardrobe_scheduling", True), Return(["subcategory", subcategory])]) button: focus_mask None @@ -910,7 +910,7 @@ screen wardrobe_outfit_menuitem(xx, yy): if is_modded: text "M" color "#00b200" - if not current_subcategory in {"import", "export"} and getattr(renpy.store, active_girl+"_outfits_schedule"): + if not current_subcategory in {"import", "export"} and get_character_scheduling(states.active_girl): vbox: pos (6, 6) spacing 1