From 670e7d82fb432f09653c25d3cc2495ecaf5bba51 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Mon, 3 Apr 2023 00:48:38 +0100 Subject: [PATCH] Refactor variables - Part 2 * Finished refactoring quest and character vars * Removed quest class (superseded) --- .../astoria/events/imperio_practice.rpy | 6 +- .../astoria/events/imperio_training.rpy | 8 +- .../characters/astoria/events/intro.rpy | 29 ++--- game/scripts/characters/astoria/summon.rpy | 8 +- game/scripts/characters/astoria/vars.rpy | 7 +- .../characters/astoria/wardrobe_reactions.rpy | 4 +- .../events/favors/inspect_her_body_tier3.rpy | 6 +- .../favors/inspect_her_body_tier3_tonks.rpy | 2 +- game/scripts/characters/cho/events/intro.rpy | 6 +- .../cho/events/quidditch/gryffindor_match.rpy | 10 +- .../cho/events/quidditch/hufflepuff_match.rpy | 2 +- .../cho/events/quidditch/intros.rpy | 8 +- .../characters/cho/events/quidditch/quiz.rpy | 2 +- .../cho/events/quidditch/slytherin_match.rpy | 16 +-- .../events/quidditch/slytherin_practice.rpy | 4 +- .../cho/events/requests/spy_on_the_girls.rpy | 2 +- game/scripts/characters/cho/events/summon.rpy | 4 +- game/scripts/characters/cho/vars.rpy | 1 + game/scripts/characters/genie/vars.rpy | 2 + .../hermione/events/cardgame_wager.rpy | 2 +- .../characters/hermione/events/clothing.rpy | 4 +- .../hermione/events/favors/dance_for_me.rpy | 4 +- .../events/favors/dance_for_me_snape.rpy | 4 +- .../events/favors/show_me_your_tits.rpy | 6 +- .../hermione/events/favors/suck_it.rpy | 14 +- .../hermione/events/favors/talk_to_me.rpy | 2 +- .../characters/hermione/events/intro.rpy | 14 +- .../hermione/events/items/collars.rpy | 6 +- .../hermione/events/items/vibrators.rpy | 48 +++---- .../characters/hermione/events/jobs.rpy | 20 +-- .../hermione/events/potions/ass_expand.rpy | 69 +++++----- .../hermione/events/potions/breast_expand.rpy | 58 ++++----- .../hermione/events/potions/polyjuice_cat.rpy | 29 ++--- .../events/potions/polyjuice_luna.rpy | 27 ++-- game/scripts/characters/hermione/summon.rpy | 2 +- game/scripts/characters/hermione/talk.rpy | 16 +-- game/scripts/characters/hermione/vars.rpy | 28 ++++ game/scripts/characters/hooch/common.rpy | 2 +- game/scripts/characters/hooch/vars.rpy | 16 +-- game/scripts/characters/luna/chitchats.rpy | 16 +-- game/scripts/characters/luna/common.rpy | 2 +- .../luna/events/favors/inspect_her_body.rpy | 14 +- .../luna/events/favors/masturbate_for_me.rpy | 16 +-- .../luna/events/favors/talk_to_me.rpy | 18 +-- game/scripts/characters/luna/events/intro.rpy | 6 +- .../luna/events/spectrespecs/spectrespecs.rpy | 14 +- game/scripts/characters/luna/gifts.rpy | 8 +- game/scripts/characters/luna/summon.rpy | 56 ++++---- game/scripts/characters/luna/vars.rpy | 48 +++---- .../characters/luna/wardrobe_reactions.rpy | 46 +++---- game/scripts/characters/snape/chitchats.rpy | 4 +- game/scripts/characters/snape/common.rpy | 29 ++--- .../characters/snape/events/hangouts.rpy | 36 ++--- .../scripts/characters/snape/events/intro.rpy | 14 +- game/scripts/characters/snape/nicknames.rpy | 2 +- game/scripts/characters/snape/summon.rpy | 12 +- game/scripts/characters/snape/vars.rpy | 46 ++++--- game/scripts/characters/susan/chitchat.rpy | 4 +- game/scripts/characters/susan/common.rpy | 2 +- .../scripts/characters/susan/events/intro.rpy | 8 +- game/scripts/characters/susan/gifts.rpy | 8 +- game/scripts/characters/susan/summon.rpy | 8 +- game/scripts/characters/susan/vars.rpy | 31 +++-- .../characters/susan/wardrobe_reactions.rpy | 10 +- game/scripts/characters/tonks/chitchats.rpy | 26 ++-- game/scripts/characters/tonks/common.rpy | 2 +- .../characters/tonks/events/clothing.rpy | 26 ++-- .../characters/tonks/events/hangout.rpy | 32 ++--- .../scripts/characters/tonks/events/intro.rpy | 18 +-- .../events/requests/detention_with_tonks.rpy | 84 ++++++------ .../events/requests/hands-on_lessons.rpy | 44 +++---- .../tonks/events/requests/oral_practice.rpy | 44 +++---- game/scripts/characters/tonks/gifts.rpy | 4 +- game/scripts/characters/tonks/summon.rpy | 26 ++-- game/scripts/characters/tonks/talk.rpy | 32 ++--- game/scripts/characters/tonks/vars.rpy | 48 ++++--- .../characters/tonks/wardrobe_reactions.rpy | 10 +- game/scripts/events/DayNight.rpy | 56 ++++---- game/scripts/events/Start.rpy | 4 +- game/scripts/events/ending.rpy | 4 +- game/scripts/events/event_class.rpy | 9 -- game/scripts/events/final_events.rpy | 4 +- game/scripts/events/potions/intro.rpy | 63 ++++----- game/scripts/events/quests.rpy | 102 ++++----------- game/scripts/events/variables.rpy | 14 ++ game/scripts/interface/cheats.rpy | 92 ++++++------- game/scripts/interface/door.rpy | 16 +-- game/scripts/interface/house_points.rpy | 6 +- game/scripts/interface/letter.rpy | 4 +- game/scripts/interface/map.rpy | 123 ++++++++---------- game/scripts/interface/stats.rpy | 32 ++--- game/scripts/inventory/books_waifu.rpy | 2 +- .../minigames/cardgame/__card_game_init__.rpy | 12 -- .../cardgame/_hermione_card_game_.rpy | 53 ++++---- .../minigames/cardgame/_snape_card_game_.rpy | 22 ++-- game/scripts/minigames/dueling/snape_duel.rpy | 2 +- .../mirror/events/a_christmas_tale.rpy | 4 +- game/scripts/minigames/mirror/init.rpy | 3 +- game/scripts/minigames/puzzle.rpy | 2 +- .../rooms/main_room/objects/cupboard.rpy | 4 +- game/scripts/rooms/main_room/objects/desk.rpy | 20 +-- .../rooms/main_room/objects/poster.rpy | 2 +- .../rooms/room_of_requirement/init.rpy | 4 +- game/scripts/rooms/snape_office/init.rpy | 1 - .../snape_office/objects/brewing_station.rpy | 10 +- .../rooms/snape_office/objects/candelabra.rpy | 6 +- .../rooms/snape_office/objects/desk.rpy | 6 +- .../rooms/snape_office/objects/door.rpy | 2 +- .../rooms/snape_office/objects/picture.rpy | 6 +- .../rooms/snape_office/objects/shelves.rpy | 6 +- .../rooms/snape_office/objects/statue.rpy | 6 +- game/scripts/script.rpy | 52 ++++---- game/scripts/shops/item/chitchats.rpy | 2 +- game/scripts/shops/item/room.rpy | 8 +- game/scripts/utility/periodic_functions.rpy | 2 +- 115 files changed, 1039 insertions(+), 1079 deletions(-) diff --git a/game/scripts/characters/astoria/events/imperio_practice.rpy b/game/scripts/characters/astoria/events/imperio_practice.rpy index e3bcc0bf..da1eb8db 100644 --- a/game/scripts/characters/astoria/events/imperio_practice.rpy +++ b/game/scripts/characters/astoria/events/imperio_practice.rpy @@ -36,7 +36,7 @@ label end_ag_se_imperio_sb: $ astoria.equip(ast_outfit_last) # Equip player outfit. $ states.ast.busy = True - $ susan_busy = True + $ states.sus.busy = True call music_block jump main_room_menu @@ -1017,8 +1017,8 @@ label ag_se_imperio_sb_E3: if states.ast.level < 24: $ states.ast.level = 24 - $ sus_whoring = 24 - $ susan_wardrobe_unlocked = True + $ states.sus.level = 24 + $ states.sus.wardrobe_unlocked = True call end_of_content diff --git a/game/scripts/characters/astoria/events/imperio_training.rpy b/game/scripts/characters/astoria/events/imperio_training.rpy index d1071d1e..81e9cfa2 100644 --- a/game/scripts/characters/astoria/events/imperio_training.rpy +++ b/game/scripts/characters/astoria/events/imperio_training.rpy @@ -69,7 +69,7 @@ label ag_st_imperio: $ ag_st_imperio.inProgress = True $ states.ast.busy = True - $ tonks_busy = True + $ states.ton.busy = True call music_block jump main_room_menu @@ -83,7 +83,7 @@ label end_ag_st_imperio: $ tonks.equip(ton_outfit_last) # Equip player outfit. $ astoria.equip(ast_outfit_last) # Equip player outfit. - $ tonks_busy = True + $ states.ton.busy = True $ states.ast.busy = True call music_block @@ -1772,8 +1772,8 @@ label ag_st_imperio_E5: nar "Astoria has \"mastered\" the imperio curse!" - $ snape_busy = True - $ tonks_busy = True + $ states.sna.busy = True + $ states.ton.busy = True $ states.ast.busy = True $ tonks.wear("all") # Wear all stripped clothing diff --git a/game/scripts/characters/astoria/events/intro.rpy b/game/scripts/characters/astoria/events/intro.rpy index 7a62cbb1..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,7 +258,7 @@ 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 + $ states.ton.busy = True $ states.ast.ev.intro.e1_complete = True call music_block @@ -343,13 +338,13 @@ label astoria_intro_E2_hermione: call her_walk(action="leave") call bld - if states.ast.ev.intro.e2_deadend: + 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") $ states.her.busy = True - $ states.ast.ev.intro.e2_complete = 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 states.ast.ev.intro.e2_complete: + 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 states.ast.ev.intro.e2_complete: + 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 - $ states.ast.ev.intro.e2_deadend = True + $ states.sna.busy = True + $ states.ast.ev.intro.e2_ask_snape = True call music_block jump main_room_menu @@ -842,8 +837,8 @@ label astoria_intro_E3: $ tonks.equip(ton_outfit_last) $ states.her.busy = True - $ snape_busy = True - $ tonks_busy = True + $ states.sna.busy = True + $ states.ton.busy = True $ states.ast.ev.intro.e3_complete = True @@ -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 diff --git a/game/scripts/characters/astoria/summon.rpy b/game/scripts/characters/astoria/summon.rpy index a16948d9..d94ec75e 100644 --- a/game/scripts/characters/astoria/summon.rpy +++ b/game/scripts/characters/astoria/summon.rpy @@ -42,12 +42,12 @@ label summon_astoria: 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 @@ -79,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)) @@ -109,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 diff --git a/game/scripts/characters/astoria/vars.rpy b/game/scripts/characters/astoria/vars.rpy index 2876b9ff..4c406be6 100644 --- a/game/scripts/characters/astoria/vars.rpy +++ b/game/scripts/characters/astoria/vars.rpy @@ -13,6 +13,7 @@ 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 @@ -26,12 +27,14 @@ default states.ast.status.anal = False # Event flags default states.ast.ev.intro.e1_complete = False # Tonks visits. -default states.ast.ev.intro.e2_complete = False # Tell Hermione to look for her. -default states.ast.ev.intro.e2_deadend = False # Tell Snape to look for her. He fails. +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_genie_astoria = "Sir" default name_susan_astoria = "Cow" diff --git a/game/scripts/characters/astoria/wardrobe_reactions.rpy b/game/scripts/characters/astoria/wardrobe_reactions.rpy index 5c1cf210..e1a7fd78 100644 --- a/game/scripts/characters/astoria/wardrobe_reactions.rpy +++ b/game/scripts/characters/astoria/wardrobe_reactions.rpy @@ -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") 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 81cb19a3..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 @@ -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 @@ -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 a99c967a..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 @@ -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/intro.rpy b/game/scripts/characters/cho/events/intro.rpy index 47f5160b..5ee047dc 100644 --- a/game/scripts/characters/cho/events/intro.rpy +++ b/game/scripts/characters/cho/events/intro.rpy @@ -496,7 +496,7 @@ label cho_intro_E2: gen "Who am I even kidding..." ("base", xpos="far_left", ypos="head") $ states.her.busy = True - $ snape_busy = False + $ states.sna.busy = False $ states.cho.ev.intro.e2_complete = True @@ -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 @@ -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 diff --git a/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy b/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy index 2f76efab..a18eb167 100644 --- a/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy @@ -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 @@ -2603,16 +2603,16 @@ label gryffindor_match_return: $ states.cho.level = 24 call end_of_content - $ tonks_busy = True - $ snape_busy = True + $ states.ton.busy = True + $ states.sna.busy = True $ states.her.busy = True - $ luna_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 diff --git a/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy b/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy index 0a86d485..d3abf0bc 100644 --- a/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy @@ -1144,7 +1144,7 @@ label hufflepuff_match_return: call popup("New favours for Cho have been unlocked!", "Congratulations!", "interface/icons/head/cho.webp") $ states.her.busy = True - $ snape_busy = True + $ states.sna.busy = True # Reset Cho $ cho.equip(cho_outfit_last) diff --git a/game/scripts/characters/cho/events/quidditch/intros.rpy b/game/scripts/characters/cho/events/quidditch/intros.rpy index 48a3b725..82ae9562 100644 --- a/game/scripts/characters/cho/events/quidditch/intros.rpy +++ b/game/scripts/characters/cho/events/quidditch/intros.rpy @@ -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") @@ -944,7 +944,7 @@ label cho_quid_E8: else: nar "You finish your drinks before calling it a night." - $ tonks_busy = True + $ 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 @@ -992,7 +992,7 @@ 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. $ states.cho.ev.quidditch.e9_complete = True @@ -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") diff --git a/game/scripts/characters/cho/events/quidditch/quiz.rpy b/game/scripts/characters/cho/events/quidditch/quiz.rpy index 5a8228d8..19a3889d 100644 --- a/game/scripts/characters/cho/events/quidditch/quiz.rpy +++ b/game/scripts/characters/cho/events/quidditch/quiz.rpy @@ -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 00648612..105fdfaf 100644 --- a/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy @@ -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") @@ -1578,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") @@ -1590,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") @@ -1638,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 @@ -1654,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") @@ -1740,8 +1740,8 @@ 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 + $ states.ton.busy = True + $ states.sna.busy = True $ states.her.busy = True $ states.cho.busy = True diff --git a/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy b/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy index 1bbd3af5..5ea2ce1a 100644 --- a/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy +++ b/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy @@ -154,8 +154,8 @@ label cc_st_return: $ cho.equip(cho_outfit_last) # Equip last worn clothes $ states.her.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. + $ 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 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 43a28f52..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 @@ -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") diff --git a/game/scripts/characters/cho/events/summon.rpy b/game/scripts/characters/cho/events/summon.rpy index ca9aab21..6cc42c20 100644 --- a/game/scripts/characters/cho/events/summon.rpy +++ b/game/scripts/characters/cho/events/summon.rpy @@ -49,7 +49,7 @@ label cho_summon_setup: if states.cho.tier == 1: # Intro hints - if not ss_he.cho_E1 or not states.cho.ev.intro.e4_complete: + if not states.sna.ev.hangouts.cho_e1 or not states.cho.ev.intro.e4_complete: label .hint_menu: @@ -60,7 +60,7 @@ 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 states.cho.ev.intro.e4_complete: gen " (I should probably talk to Hermione...)" ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/cho/vars.rpy b/game/scripts/characters/cho/vars.rpy index c971b011..1f6007f6 100644 --- a/game/scripts/characters/cho/vars.rpy +++ b/game/scripts/characters/cho/vars.rpy @@ -13,6 +13,7 @@ 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" # Sexual activity states diff --git a/game/scripts/characters/genie/vars.rpy b/game/scripts/characters/genie/vars.rpy index 78a5e8b9..615c39b7 100644 --- a/game/scripts/characters/genie/vars.rpy +++ b/game/scripts/characters/genie/vars.rpy @@ -23,6 +23,7 @@ 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 @@ -30,6 +31,7 @@ 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 diff --git a/game/scripts/characters/hermione/events/cardgame_wager.rpy b/game/scripts/characters/hermione/events/cardgame_wager.rpy index a5cf9fce..1871c461 100644 --- a/game/scripts/characters/hermione/events/cardgame_wager.rpy +++ b/game/scripts/characters/hermione/events/cardgame_wager.rpy @@ -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") diff --git a/game/scripts/characters/hermione/events/clothing.rpy b/game/scripts/characters/hermione/events/clothing.rpy index 5b2f8188..f275f8ca 100644 --- a/game/scripts/characters/hermione/events/clothing.rpy +++ b/game/scripts/characters/hermione/events/clothing.rpy @@ -296,10 +296,10 @@ label hermione_summon_setup: "Outfits scheduling remains turned {b}ON{/b}." "-No-": $ states.her.wardrobe_scheduling = False - $ tonks_outfits_schedule = False + $ states.ton.wardrobe_scheduling = False $ states.cho.wardrobe_scheduling = False $ states.ast.wardrobe_scheduling = False - $ luna_outfits_schedule = False + $ states.lun.wardrobe_scheduling = False # Susan "Outfit scheduling turned {b}Off{/b}." 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 618e21a4..c826720d 100644 --- a/game/scripts/characters/hermione/events/favors/dance_for_me.rpy +++ b/game/scripts/characters/hermione/events/favors/dance_for_me.rpy @@ -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: @@ -1045,7 +1045,7 @@ 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-": 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 74eb609d..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 @@ -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") @@ -246,7 +246,7 @@ label hg_pf_strip_T4_snape: "-Unleash your rage {size=-2}(Hardcore){/size}-" if game.difficulty >= 3: #Hardcore difficulty dialogue. $ states.her.mood += 18 - $ sna_friendship -= 10 + $ states.sna.level -= 10 gen "Both of you..." ("base", xpos="far_left", ypos="head") stop music with hpunch 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 dd0b8451..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") @@ -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. @@ -384,7 +382,7 @@ label hg_pf_admire_breasts_T2_intro_E1: $ 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/suck_it.rpy b/game/scripts/characters/hermione/events/favors/suck_it.rpy index 137d38dc..4b2f5f32 100644 --- a/game/scripts/characters/hermione/events/favors/suck_it.rpy +++ b/game/scripts/characters/hermione/events/favors/suck_it.rpy @@ -668,7 +668,7 @@ label hg_pf_hidden_blowjob: elif not states.her.ev.suck_it.tonks_encounter: jump hg_hidden_blowjob_tonks - elif luna_unlocked and not states.her.ev.suck_it.luna_encounter: + elif states.lun.unlocked and not states.her.ev.suck_it.luna_encounter: jump hg_hidden_blowjob_luna random: @@ -961,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: @@ -1014,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: @@ -1080,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") @@ -1114,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") @@ -1193,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") @@ -1241,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") 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 6ece46bd..53fd3538 100644 --- a/game/scripts/characters/hermione/events/favors/talk_to_me.rpy +++ b/game/scripts/characters/hermione/events/favors/talk_to_me.rpy @@ -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/intro.rpy b/game/scripts/characters/hermione/events/intro.rpy index f61952b2..2cf9c5e1 100644 --- a/game/scripts/characters/hermione/events/intro.rpy +++ b/game/scripts/characters/hermione/events/intro.rpy @@ -353,7 +353,7 @@ label hermione_intro_E1: call gen_chibi("sit_behind_desk") with d3 - $ snape_busy = True # No point in calling him during the day. + $ states.sna.busy = True # No point in calling him during the day. $ states.her.ev.intro.e1_complete = True jump end_hermione_event @@ -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,7 +586,7 @@ label hermione_intro_E2: call bld gen "...................." ("base", xpos="far_left", ypos="head") - $ snape_busy = True # No point in calling him during the day. + $ states.sna.busy = True # No point in calling him during the day. $ states.her.ev.intro.e2_complete = True jump end_hermione_event @@ -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 @@ -857,7 +857,7 @@ label hermione_intro_E3: call her_walk(action="leave") - $ snape_busy = False + $ states.sna.busy = False $ hg_event_pause += 1 $ states.her.ev.intro.e3_complete = True @@ -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") @@ -1085,6 +1084,7 @@ label nt_he_hermione_E1: nar "You feel a faint bond forming between you two..." $ states.her.ev.intro.convinced = True + $ states.ton.ev.hangouts.hermione_e1 = True jump end_tonks_hangout_points diff --git a/game/scripts/characters/hermione/events/items/collars.rpy b/game/scripts/characters/hermione/events/items/collars.rpy index 4c302e98..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 @@ -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") diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 130191e1..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") @@ -46,9 +40,9 @@ 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." @@ -91,7 +85,7 @@ label hg_vibrators: 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,9 +108,9 @@ 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 states.her.tier < 5: her "So...{w=0.4} What am I supposed to do with these?" ("angry", "narrow", "base", "down", cheeks="blush") @@ -521,9 +515,9 @@ 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") @@ -634,7 +628,7 @@ label hg_vibrators_public: gen "I think you better put your clothes on and head to class." ("base", xpos="far_left", ypos="head") if states.her.public_tier >= 5: - if her_vibrators_public_stage <= 1: + 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") @@ -2216,7 +2210,7 @@ label hg_vibrators_public_return: 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: @@ -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 d39433b0..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,8 +9,8 @@ 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") @@ -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") @@ -707,8 +705,6 @@ label job_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") @@ -754,7 +750,6 @@ label hermione_helping_selling_cards: if states.her.ev.sell_cards.first_time: $ states.her.ev.sell_cards.first_time = False - her "" 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 8266e49c..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,7 +33,7 @@ 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 states.her.level < 19: @@ -83,7 +78,7 @@ label her_potion_ass_give: gen "That's right." ("base", xpos="far_left", ypos="head") 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,7 +102,7 @@ label her_potion_ass_give: nar "Hermione drinks the potion with a series of gulps." - if not her_ass_expand_drank: + 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") @@ -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,7 +205,7 @@ 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 states.her.level < 19: @@ -247,11 +242,11 @@ 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 states.her.level < 15: @@ -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") @@ -588,7 +583,7 @@ label her_potion_ass_give: ## Ass Grope/Massage Section ## - if not her_ass_expand_groped: + 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") @@ -722,7 +717,7 @@ 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-": @@ -730,7 +725,7 @@ label her_potion_ass_give: 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 states.her.status.anal: #Fail - if not her_ass_expand_finger: + 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" @@ -797,7 +792,7 @@ label her_potion_ass_give: with hpunch $ states.her.mood += 20 - if not her_ass_expand_no_clothes: + if not _no_clothes: if states.her.level < 19: gen "..." ("base", xpos="far_left", ypos="head") else: @@ -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 @@ -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 @@ -1083,7 +1078,7 @@ label her_potion_ass_give: 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 @@ -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 6514a2db..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,7 +29,7 @@ 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") @@ -52,7 +46,7 @@ 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") @@ -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") @@ -152,7 +146,7 @@ label her_potion_breasts_give: 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 @@ -278,7 +272,7 @@ 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 states.her.level < 19: @@ -327,7 +321,7 @@ 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." @@ -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,7 +361,7 @@ 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 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"): @@ -654,7 +648,7 @@ label her_potion_breasts_give: 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") @@ -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") @@ -836,7 +830,7 @@ 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 @@ -863,7 +857,7 @@ label her_potion_breasts_give: 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,7 +898,7 @@ 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 states.her.level < 19: her "The dormitory is a public place!" ("angry", "squint", "base", "mid", cheeks="blush", flip=False, trans=dissolve) @@ -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 @@ -1031,9 +1025,9 @@ label her_potion_breasts_return: play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed if states.her.public_level < 19: - if not her_breast_expand_pub_low_reputation_done: + 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") @@ -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 16934fea..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,8 +22,8 @@ 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." @@ -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") @@ -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 @@ -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") @@ -430,7 +425,7 @@ 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 states.her.status.blowjob: #Fail her "You want me to--" ("angry", "base", "base", "mid") @@ -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,7 +535,7 @@ 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") @@ -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 4e92f345..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) @@ -37,8 +34,8 @@ 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 states.her.level < 19: her "Let me guess, you're not going to tell me what it does." ("angry", "narrow", "base", "mid") @@ -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") @@ -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") @@ -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") @@ -348,7 +345,7 @@ label her_potion_luna_give: play sound "sounds/cloth_sound3.ogg" $ luna.strip("bra") - if not her_polyjuice_luna_drank: + 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") @@ -385,7 +382,7 @@ label her_potion_luna_give: lun "" ("annoyed", "base", "base", "R", cheeks="blush", trans=dissolve) call ctc - if not her_polyjuice_luna_drank: + 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") @@ -406,8 +403,8 @@ 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 states.her.level < 16: lun "You want me to strip naked?" ("clench", "base", "base", "mid", cheeks="blush") @@ -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/summon.rpy b/game/scripts/characters/hermione/summon.rpy index 694dea1f..b9e63e33 100644 --- a/game/scripts/characters/hermione/summon.rpy +++ b/game/scripts/characters/hermione/summon.rpy @@ -316,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") diff --git a/game/scripts/characters/hermione/talk.rpy b/game/scripts/characters/hermione/talk.rpy index ff4f124b..2ad0f53e 100644 --- a/game/scripts/characters/hermione/talk.rpy +++ b/game/scripts/characters/hermione/talk.rpy @@ -36,20 +36,20 @@ 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-": @@ -57,25 +57,25 @@ label hermione_talk: ### Astoria ### "-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_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 $ states.her.busy = True - $ states.ast.ev.intro.e2_complete = 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 states.cho.ev.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 states.cho.ev.intro.e4_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 diff --git a/game/scripts/characters/hermione/vars.rpy b/game/scripts/characters/hermione/vars.rpy index acd0019a..c5253096 100644 --- a/game/scripts/characters/hermione/vars.rpy +++ b/game/scripts/characters/hermione/vars.rpy @@ -14,6 +14,7 @@ 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" # Sexual activity states @@ -38,10 +39,15 @@ default states.her.ev.intro.e4_complete = False # 4th visit, she's crying. Faile 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 @@ -58,6 +64,28 @@ 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. diff --git a/game/scripts/characters/hooch/common.rpy b/game/scripts/characters/hooch/common.rpy index d247cbf1..1e7dedd0 100644 --- a/game/scripts/characters/hooch/common.rpy +++ b/game/scripts/characters/hooch/common.rpy @@ -7,7 +7,7 @@ label end_hooch_event: $ hooch.xzoom = 1 $ states.last_girl = states.active_girl $ states.active_girl = None - $ hooch_busy = True + $ 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/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 ac85eeef..ee8a3420 100644 --- a/game/scripts/characters/luna/common.rpy +++ b/game/scripts/characters/luna/common.rpy @@ -53,7 +53,7 @@ label end_luna_event: $ states.last_girl = states.active_girl $ states.active_girl = None - $ luna_busy = True + $ 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 dfa7175e..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 @@ -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 aead6072..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 diff --git a/game/scripts/characters/luna/events/intro.rpy b/game/scripts/characters/luna/events/intro.rpy index 0a1c2fcf..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!\"": @@ -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 e9d3d798..74981ae9 100644 --- a/game/scripts/characters/luna/summon.rpy +++ b/game/scripts/characters/luna/summon.rpy @@ -3,7 +3,7 @@ label summon_luna: $ states.active_girl = "luna" - $ luna_busy = True + $ states.lun.busy = True call update_luna call update_lun_tier @@ -17,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: @@ -30,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 @@ -38,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 @@ -68,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]." @@ -81,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 @@ -98,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 @@ -118,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 @@ -147,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()) @@ -176,7 +176,7 @@ 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: @@ -185,7 +185,7 @@ label luna_talk: "-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" @@ -195,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" @@ -218,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 @@ -253,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 5ad9f5d0..af8602cd 100644 --- a/game/scripts/characters/luna/vars.rpy +++ b/game/scripts/characters/luna/vars.rpy @@ -1,30 +1,34 @@ -# Stats -default lun_tier = 1 -default lun_whoring = 0 -default lun_mood = 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 a583c6b5..2d404d2e 100644 --- a/game/scripts/characters/snape/chitchats.rpy +++ b/game/scripts/characters/snape/chitchats.rpy @@ -4,10 +4,10 @@ label snape_chitchat: - if snape_chatted: + if states.sna.chatted: return - $ snape_chatted = True + $ states.sna.chatted = True # Prior to hermione introductions if not states.her.unlocked: 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 4330d5fc..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 states.her.ev.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 states.her.ev.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 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. - $ ss_he.tonks_E3 = True + $ states.sna.ev.hangouts.tonks_e3 = True else: jump ss_he_tonks_E3 # Cho - if states.cho.ev.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 states.cho.ev.quiz.lost and not quidditchguide_ITEM.unlocked and not states.cho.ev.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,7 +50,7 @@ label snape_hangout: # Events are located here. # Hermione - if states.her.status.stripping 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. @@ -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 8bd87403..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 @@ -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 707e994d..1ebe5c87 100644 --- a/game/scripts/characters/snape/summon.rpy +++ b/game/scripts/characters/snape/summon.rpy @@ -22,13 +22,13 @@ label summon_snape: menu: "-Ask him to help Tonks-" if states.ast.ev.intro.e1_complete and not states.ast.ev.intro.e3_complete: - if states.ast.ev.intro.e2_deadend: + 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 - $ states.ast.ev.intro.e2_deadend = True + $ states.sna.busy = True + $ states.ast.ev.intro.e2_ask_snape = True $ ag_event_pause = 2 jump astoria_intro_E2_snape @@ -50,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 @@ -87,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 @@ -101,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..6a3319ec 100644 --- a/game/scripts/characters/snape/vars.rpy +++ b/game/scripts/characters/snape/vars.rpy @@ -1,22 +1,34 @@ -# 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 diff --git a/game/scripts/characters/susan/chitchat.rpy b/game/scripts/characters/susan/chitchat.rpy index a898137f..4dd63ff4 100644 --- a/game/scripts/characters/susan/chitchat.rpy +++ b/game/scripts/characters/susan/chitchat.rpy @@ -1,10 +1,10 @@ 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. diff --git a/game/scripts/characters/susan/common.rpy b/game/scripts/characters/susan/common.rpy index 887bd493..72b85180 100644 --- a/game/scripts/characters/susan/common.rpy +++ b/game/scripts/characters/susan/common.rpy @@ -51,7 +51,7 @@ label end_susan_event: $ states.last_girl = states.active_girl $ states.active_girl = None - $ susan_busy = True + $ 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 52c85062..977e80df 100644 --- a/game/scripts/characters/susan/summon.rpy +++ b/game/scripts/characters/susan/summon.rpy @@ -3,7 +3,7 @@ label summon_susan: $ states.active_girl = "susan" - $ susan_busy = True + $ states.sus.busy = True call update_susan @@ -25,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 @@ -37,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/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 90e38adb..6bc45b1d 100644 --- a/game/scripts/characters/tonks/common.rpy +++ b/game/scripts/characters/tonks/common.rpy @@ -61,7 +61,7 @@ label end_tonks_event: $ states.last_girl = states.active_girl $ states.active_girl = None - $ tonks_busy = True + $ 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 3f7370a7..2b94fe72 100644 --- a/game/scripts/characters/tonks/events/hangout.rpy +++ b/game/scripts/characters/tonks/events/hangout.rpy @@ -25,12 +25,12 @@ label tonks_hangout: jump nt_he_hermione_E1 # Persuade Hermione to sell favors. # Susan - if states.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 states.ast.ev.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. @@ -39,9 +39,9 @@ label tonks_hangout: ### General Events ### - if states.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 states.ton.level < 100: # max if states.fireplace_started: # Tonks is feeling hot. - $ ton_friendship += 2 + $ 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 160458cb..41423adc 100644 --- a/game/scripts/characters/tonks/events/intro.rpy +++ b/game/scripts/characters/tonks/events/intro.rpy @@ -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 + $ states.sna.busy = True $ states.her.busy = True - $ tonks_intro.E1_complete = True + $ states.ton.ev.intro.e1_complete = True jump end_tonks_event @@ -332,7 +332,7 @@ label tonks_intro_E2: gen "I better talk to Snape about this..." ("base", xpos="far_left", ypos="head") $ states.her.busy = True - $ tonks_intro.E2_complete = True + $ states.ton.ev.intro.e2_complete = True jump end_tonks_event @@ -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 @@ -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 9a0e541f..9e6782a1 100644 --- a/game/scripts/characters/tonks/summon.rpy +++ b/game/scripts/characters/tonks/summon.rpy @@ -3,7 +3,7 @@ label summon_tonks: $ states.active_girl = "tonks" - $ tonks_busy = True + $ states.ton.busy = True call update_ton_tier call update_tonks @@ -26,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 @@ -51,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 @@ -59,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 @@ -84,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 @@ -95,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 @@ -128,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()) @@ -146,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." @@ -166,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()) @@ -188,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 29e492d0..20bdd0f4 100644 --- a/game/scripts/characters/tonks/talk.rpy +++ b/game/scripts/characters/tonks/talk.rpy @@ -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/events/DayNight.rpy b/game/scripts/events/DayNight.rpy index a5559894..2474f6d6 100644 --- a/game/scripts/events/DayNight.rpy +++ b/game/scripts/events/DayNight.rpy @@ -24,21 +24,21 @@ label day_start: states.cupboard_rummaged = False # Reset gift flags - gave_tonks_gift = False + states.ton.gifted = False states.her.gifted = False - gave_luna_gift = False + states.lun.gifted = False states.cho.gifted = False states.ast.gifted = False - gave_susan_gift = False + states.sus.gifted = False # Reset chit-chat flags - snape_chatted = False - tonks_chatted = False + states.sna.chatted = False + states.ton.chatted = False states.her.chatted = False - luna_chatted = False + states.lun.chatted = False states.cho.chatted = False states.ast.chatted = False - susan_chatted = False + states.sus.chatted = False # Tick Event timers ss_event_pause = max(ss_event_pause-1, 0) @@ -57,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) + states.sna.busy = True # bool(ss_summon_pause) + states.ton.busy = bool(nt_summon_pause) states.her.busy = bool(hg_summon_pause) - luna_busy = bool(ll_summon_pause) + states.lun.busy = bool(ll_summon_pause) states.cho.busy = bool(cc_summon_pause) states.ast.busy = bool(ag_summon_pause) - susan_busy = bool(sb_summon_pause) + states.sus.busy = bool(sb_summon_pause) # Improve Mood if game.difficulty == 1: # Easy difficulty @@ -73,12 +73,12 @@ label day_start: elif game.difficulty == 3: # Hardcore difficulty val = 1 - ton_mood = max(ton_mood-val, 0) + states.ton.mood = max(states.ton.mood-val, 0) states.her.mood = max(states.her.mood-val, 0) - lun_mood = max(lun_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) - sus_mood = max(sus_mood-val, 0) + states.sus.mood = max(states.sus.mood-val, 0) # Game flags game.day += 1 @@ -122,17 +122,17 @@ label day_start: 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 states.ast.wardrobe_scheduling: $ astoria.equip_random_outfit() if states.her.wardrobe_scheduling: $ hermione.equip_random_outfit() - if susan_outfits_schedule: + if states.sus.wardrobe_scheduling: $ susan.equip_random_outfit() 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 @@ -178,22 +178,22 @@ label night_start: states.cupboard_rummaged = False # Reset chit-chat flags - snape_chatted = False - tonks_chatted = False + states.sna.chatted = False + states.ton.chatted = False states.her.chatted = False - luna_chatted = False + states.lun.chatted = False states.cho.chatted = False states.ast.chatted = False - susan_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) + states.sna.busy = bool(ss_summon_pause) + states.ton.busy = bool(nt_summon_pause) states.her.busy = bool(hg_summon_pause) - luna_busy = bool(ll_summon_pause) + states.lun.busy = bool(ll_summon_pause) states.cho.busy = bool(cc_summon_pause) states.ast.busy = bool(ag_summon_pause) - susan_busy = bool(sb_summon_pause) + states.sus.busy = bool(sb_summon_pause) # Game flags game.weather = "random" @@ -225,17 +225,17 @@ label night_start: 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 states.ast.wardrobe_scheduling: $ astoria.equip_random_outfit() if states.her.wardrobe_scheduling: $ hermione.equip_random_outfit() - if susan_outfits_schedule: + if states.sus.wardrobe_scheduling: $ susan.equip_random_outfit() 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 87ede32f..517f60a9 100644 --- a/game/scripts/events/Start.rpy +++ b/game/scripts/events/Start.rpy @@ -36,8 +36,8 @@ label start_wt: pass "-Skip the intro-": $ states.map.unlocked = True - $ sna_friendship = 5 - $ ton_friendship = 5 + $ states.sna.level = 5 + $ states.ton.level = 5 jump skip_to_hermione hide image "images/rooms/_bg_/castle.webp" diff --git a/game/scripts/events/ending.rpy b/game/scripts/events/ending.rpy index 1cecf4d7..f084683f 100644 --- a/game/scripts/events/ending.rpy +++ b/game/scripts/events/ending.rpy @@ -2678,9 +2678,9 @@ label ball_ending_E2: gen "and my token asian Cho..." ("base", xpos="far_left", ypos="head") 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") diff --git a/game/scripts/events/event_class.rpy b/game/scripts/events/event_class.rpy index 64173e40..15c6f016 100644 --- a/game/scripts/events/event_class.rpy +++ b/game/scripts/events/event_class.rpy @@ -1,13 +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 event_class(object): """ diff --git a/game/scripts/events/final_events.rpy b/game/scripts/events/final_events.rpy index 2849c015..afef63fc 100644 --- a/game/scripts/events/final_events.rpy +++ b/game/scripts/events/final_events.rpy @@ -540,9 +540,9 @@ 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 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 index 634b669b..455c0f1a 100644 --- a/game/scripts/events/quests.rpy +++ b/game/scripts/events/quests.rpy @@ -19,7 +19,7 @@ label quests: 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: @@ -27,7 +27,7 @@ label quests: 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 @@ -36,7 +36,7 @@ label quests: 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,7 +45,7 @@ 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 @@ -57,7 +57,7 @@ label quests: if game.day >= 6: if game.daytime: - if hg_event_pause == 0 and ss_he.hermione_E1 and not states.her.ev.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 states.her.ev.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 @@ -88,11 +88,11 @@ label quests: if game.day >= 10: if game.daytime: - if nt_event_pause == 0 and states.her.ev.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,13 +100,13 @@ 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 states.her.ev.intro.e5_complete and ss_he.tonks_E1 and states.her.ev.intro.convinced and not states.her.ev.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 @@ -121,11 +121,11 @@ label quests: # if game.day >= twins_cards_delay: - if deck_unlocked and twins_first_win and not twins_cards_stocked: + if states.cardgame.unlocked and twins_first_win and not twins_cards_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 snape_third_win and states.her.ev.cardgame.stage >= 3 and twins_second_win: if not game.daytime: $ letter_cards_tier2.send() @@ -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 states.ast.ev.intro.e2_complete and states.ast.ev.intro.e2_deadend and not states.ast.ev.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 states.ast.ev.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 states.ast.ev.intro.e1_complete: + if states.sus.ev.intro.e1_complete and not states.ast.ev.intro.e1_complete: jump astoria_intro_E1 python: @@ -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: @@ -328,16 +325,16 @@ label quests: # if ll_event_pause == 0: - if not luna_intro_E1 and states.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 @@ -345,15 +342,15 @@ label quests: 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,54 +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 ### - -# 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. -) - -# Tonks -default tonks_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit - E3_complete = False, # 3rd visit, summon unlocked. -) - - -# Susan -default susan_intro = quest_class( - E1_complete = False, # Susan visits. -) - -### 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 index 47b204d8..92d552a1 100644 --- a/game/scripts/events/variables.rpy +++ b/game/scripts/events/variables.rpy @@ -8,6 +8,18 @@ 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 @@ -29,3 +41,5 @@ 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/interface/cheats.rpy b/game/scripts/interface/cheats.rpy index 9fa4ece0..246cfe0f 100644 --- a/game/scripts/interface/cheats.rpy +++ b/game/scripts/interface/cheats.rpy @@ -89,17 +89,17 @@ 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 @@ -149,17 +149,17 @@ label cheats: 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- ([states.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 @@ -193,17 +193,17 @@ label cheats: 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- ([states.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 @@ -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 + $ states.sna.unlocked = True + $ states.ton.unlocked = True $ states.her.unlocked = True $ states.cho.unlocked = True $ states.ast.unlocked = True - $ susan_unlocked = True - $ luna_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 + $ states.ton.wardrobe_unlocked = True $ states.her.wardrobe_unlocked = True $ states.cho.wardrobe_unlocked = True - $ astoria_wardrobe_unlocked = True - $ susan_wardrobe_unlocked = True - $ luna_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 @@ -438,22 +438,22 @@ label .hermione_skip_intro: $ 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 $ states.her.ev.intro.convinced = True @@ -469,10 +469,10 @@ label .hermione_skip_intro: $ 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) $ states.her.unlocked = True @@ -526,7 +526,7 @@ label .hermione_skip_intro: # $ game.day = 16 # $ states.cho.ev.intro.e1_complete = True # $ states.cho.ev.intro.e2_complete = True -# $ ss_he.cho_E1 = True +# $ states.sna.ev.hangouts.cho_e1 = True # $ states.cho.ev.intro.e4_complete = True # $ achievements.unlock("unlockcho", True) # $ states.cho.unlocked = True diff --git a/game/scripts/interface/door.rpy b/game/scripts/interface/door.rpy index 4a4c1986..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": states.her.unlocked, "busy": states.her.busy, "loc": her_map_location}, - "Cho": {"ico": "cho", "flag": states.cho.unlocked, "busy": states.cho.busy, "loc": cho_map_location}, - "Luna": {"ico": "luna", "flag": luna_unlocked, "busy": luna_busy, "loc": lun_map_location}, - "Astoria": {"ico": "astoria", "flag": states.ast.unlocked, "busy": states.ast.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/house_points.rpy b/game/scripts/interface/house_points.rpy index 1dbe8cd2..4c6ab676 100644 --- a/game/scripts/interface/house_points.rpy +++ b/game/scripts/interface/house_points.rpy @@ -8,9 +8,9 @@ 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 = states.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 = states.cho.tier + lun_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/letter.rpy b/game/scripts/interface/letter.rpy index dc02a940..1f1227cd 100644 --- a/game/scripts/interface/letter.rpy +++ b/game/scripts/interface/letter.rpy @@ -42,7 +42,7 @@ init python: global reports_gold progress_factor = math.log(game.day) - progress_flat = (states.her.tier + states.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 = states.paperwork_reports * (int(progress_factor * max(random_gold, progress_flat)) + progress_flat) @@ -84,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") diff --git a/game/scripts/interface/map.rpy b/game/scripts/interface/map.rpy index 1a74ac08..b27c1a0c 100644 --- a/game/scripts/interface/map.rpy +++ b/game/scripts/interface/map.rpy @@ -1,15 +1,6 @@ default UI_xpos_offset = 230 default UI_ypos_offset = 150 -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 map_animated = "once" define map_scale = 0.35 @@ -131,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 @@ -144,7 +135,7 @@ screen map_buttons(): #Room of Requirement if states.map.seventh_floor.unlocked: - if not mirror_intro_done: + 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 @@ -213,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 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 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 states.her.status.blowjob == True and game.weather in ("clear", "cloudy") and not game.daytime and not states.her.busy: - $ her_map_location = "forest" + $ states.her.map_location = "forest" call update_character_map_locations @@ -258,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 @@ -279,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 @@ -298,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 @@ -315,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 @@ -409,7 +400,7 @@ screen map_screen_characters(): #Hermione if states.her.unlocked: - if her_map_location == "forest": # Mark forest event. + 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 @@ -423,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 @@ -449,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 @@ -475,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 @@ -488,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 afa79b83..2e6f34f8 100644 --- a/game/scripts/interface/stats.rpy +++ b/game/scripts/interface/stats.rpy @@ -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,13 +87,13 @@ 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"}, + "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": luna_unlocked, "name": "Luna Lovegood", "sex": "Female", "height": "5.2ft", "weight": "117lb", "job": "Student", "hates": "Wrackspurts", "likes": "{size=-2}Magical creatures{/size}"}, + "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": susan_unlocked, "name": "Susan Bones", "sex": "Female", "height": "5.1ft", "weight": "135lb", "job": "Student", "hates": "Chores", "likes": "You {size=-4}Secretly..{/size}"} + "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" @@ -341,13 +341,13 @@ screen stats_menuitem(xx, yy): 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-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. @@ -362,9 +362,9 @@ screen stats_menuitem(xx, yy): # 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": @@ -374,9 +374,9 @@ screen stats_menuitem(xx, yy): 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: 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..20b0b43e 100644 --- a/game/scripts/minigames/cardgame/__card_game_init__.rpy +++ b/game/scripts/minigames/cardgame/__card_game_init__.rpy @@ -429,10 +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 @@ -441,15 +438,6 @@ 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 diff --git a/game/scripts/minigames/cardgame/_hermione_card_game_.rpy b/game/scripts/minigames/cardgame/_hermione_card_game_.rpy index 4bafdd3a..6e77874a 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 twins_know_cards == 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 twins_know_cards and not twins_cards_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 twins_cards_stocked_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 @@ -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 79b21729..697bdf0c 100644 --- a/game/scripts/minigames/cardgame/_snape_card_game_.rpy +++ b/game/scripts/minigames/cardgame/_snape_card_game_.rpy @@ -48,7 +48,7 @@ label snape_duel_menu: 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") @@ -181,7 +181,7 @@ label snape_first_duel: call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True $ achievements.unlock("Cardwin") $ snape_first_win = True @@ -218,11 +218,11 @@ 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 $ tokens += 1 @@ -232,7 +232,7 @@ label snape_second_duel: 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 @@ -301,7 +301,7 @@ label snape_third_duel: call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True jump main_room_menu @@ -353,7 +353,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 +404,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 +412,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 +528,7 @@ label snape_duel_lost: call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True jump main_room_menu @@ -554,7 +554,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/dueling/snape_duel.rpy b/game/scripts/minigames/dueling/snape_duel.rpy index ba9603e2..10e26480 100644 --- a/game/scripts/minigames/dueling/snape_duel.rpy +++ b/game/scripts/minigames/dueling/snape_duel.rpy @@ -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 ### 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/init.rpy b/game/scripts/minigames/mirror/init.rpy index bbe69ede..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", @@ -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( diff --git a/game/scripts/minigames/puzzle.rpy b/game/scripts/minigames/puzzle.rpy index 31352ce2..22e446fa 100644 --- a/game/scripts/minigames/puzzle.rpy +++ b/game/scripts/minigames/puzzle.rpy @@ -145,7 +145,7 @@ 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] diff --git a/game/scripts/rooms/main_room/objects/cupboard.rpy b/game/scripts/rooms/main_room/objects/cupboard.rpy index fb74e9f0..e709c2bd 100644 --- a/game/scripts/rooms/main_room/objects/cupboard.rpy +++ b/game/scripts/rooms/main_room/objects/cupboard.rpy @@ -50,7 +50,7 @@ label cupboard: 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" @@ -107,7 +107,7 @@ init python: drop_list = [item for item in inventory.get_instances_of_type("gift") if item.unlocked] dr = max(states.cupboard_rummaged_times - game.day, 0) * 2 # Frequent rummaging penalty - progress_factor = math.log(states.her.tier + states.cho.tier + ton_tier + lun_tier + game.day) + 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 c492a9c8..e310e56c 100644 --- a/game/scripts/rooms/main_room/objects/desk.rpy +++ b/game/scripts/rooms/main_room/objects/desk.rpy @@ -62,7 +62,7 @@ label desk: nar "Hermione is already asleep." jump main_room_menu elif _choice == "hermione" and not states.her.busy: - if her_map_location == "forest": + 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,14 +73,14 @@ 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 @@ -95,14 +95,14 @@ label desk: 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 @@ -117,23 +117,23 @@ label desk: 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 @@ -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 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/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 44557a52..557df84c 100644 --- a/game/scripts/script.rpy +++ b/game/scripts/script.rpy @@ -10,8 +10,8 @@ label start_quick: python: version = version_float() game.difficulty = 2 - ton_friendship = 5 - sna_friendship = 5 + states.ton.level = 5 + states.sna.level = 5 states.map.unlocked = True game.cheats = True @@ -26,51 +26,51 @@ label start_dev: game.cheats = True game.gold = 100000 states.map.unlocked = True - snape_unlocked = True - tonks_unlocked = True + states.sna.unlocked = True + states.ton.unlocked = True states.her.unlocked = True states.cho.unlocked = True states.ast.unlocked = True - susan_unlocked = True - luna_unlocked = True - tonks_wardrobe_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 - astoria_wardrobe_unlocked = True - susan_wardrobe_unlocked = True - luna_wardrobe_unlocked = True - states.her.level = states.cho.level = lun_whoring = states.ast.level = sus_whoring = 24 - sna_friendship = 100 - ton_friendship = 100 + 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 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 + 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 states.cho.ev.intro.e1_complete = True states.cho.ev.intro.e2_complete = True states.cho.ev.intro.e4_complete = True - ss_he.cho_E1 = True + states.sna.ev.hangouts.cho_e1 = True for i in mirror.items: i.unlocked = True diff --git a/game/scripts/shops/item/chitchats.rpy b/game/scripts/shops/item/chitchats.rpy index 52a9c0a4..4956cd4e 100644 --- a/game/scripts/shops/item/chitchats.rpy +++ b/game/scripts/shops/item/chitchats.rpy @@ -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 881e882e..bddd22ea 100644 --- a/game/scripts/shops/item/room.rpy +++ b/game/scripts/shops/item/room.rpy @@ -65,7 +65,7 @@ label item_store: 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 states.cho.ev.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 twins_know_cards: 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") @@ -183,13 +183,13 @@ label item_store: $ twins_cards_stocked_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: twi "Perhaps a game of cards?" diff --git a/game/scripts/utility/periodic_functions.rpy b/game/scripts/utility/periodic_functions.rpy index 7280d5f5..87082d4e 100644 --- a/game/scripts/utility/periodic_functions.rpy +++ b/game/scripts/utility/periodic_functions.rpy @@ -13,7 +13,7 @@ init python: 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 states.her.level >= 24: