Merge branch 'Variables' into dev

This commit is contained in:
LoafyLemon 2023-04-03 16:26:45 +01:00
commit b6038c56e3
199 changed files with 3685 additions and 3878 deletions

View File

@ -0,0 +1,11 @@
# Event flags
default states.twi.ev.cardgame.known = False
default states.twi.ev.cardgame.stage = 0
default states.twi.ev.cardgame.first_random = True
default states.twi.ev.cardgame.delay = 7
default states.twi.ev.cardgame.stocked = False
default states.twi.ev.cardgame.stock_talk = False
default states.twi.ev.cardgame.interest = False
default states.twi.ev.cardgame.profit = 1.0

View File

@ -1,36 +1,3 @@
init 5 python:
def her_cg_doll_fix(st, at):
"""Used to fix the jaw issues on bent-over pose"""
face = hermione.get_face()
mouth = face["mouth"]
if hermione.pose == "CG_bent_over" and mouth in ("scream", "open_wide_tongue"):
return Image("images/CG/her_sex/{}.webp".format(mouth)), None
return Null(), None
def gen_cg_doll(st, at):
d = Image("{}genie_{}.webp".format(genie_doll_path, genie_doll))
return d, None
default genie_doll_path = "images/CG/her_sex/"
default genie_doll = "hold"
default genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp"
image CG genie_armfix = DynamicImage("[genie_doll_armfix]")
image CG her_doll_fix = DynamicDisplayable(her_cg_doll_fix)
image CG gen_doll = DynamicDisplayable(gen_cg_doll)
image CG her_sex = Fixed(
"images/CG/her_sex/background.webp",
"CG gen_doll",
"CG her_doll",
"CG her_doll_fix",
"images/CG/her_sex/foreground.webp",
"CG genie_armfix",
)
image CG her_intro hermione = Fixed(
"images/CG/her_intro/bg.webp",

View File

@ -1,10 +1,10 @@
label astoria_chitchat:
if astoria_chatted:
if states.ast.chatted:
return
$ astoria_chatted = True
$ states.ast.chatted = True
# Story related chitchats (marked out as they are meant to be added into randomized set of chats when counter is met)

View File

@ -62,8 +62,9 @@ label end_astoria_event:
call update_astoria
$ active_girl = None
$ astoria_busy = True
$ states.last_girl = states.active_girl
$ states.active_girl = None
$ states.ast.busy = True
$ astoria.wear("all")
call music_block

View File

@ -9,7 +9,7 @@ label astoria_summon_setup:
$ astoria.set_cum(None)
$ astoria.animation = None
if astoria_outfits_schedule:
if states.ast.wardrobe_scheduling:
$ astoria.equip_random_outfit()
play sound "sounds/door.ogg"
@ -19,24 +19,24 @@ label astoria_summon_setup:
#Astoria greeting.
play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed
if ast_mood > 0:
if 5 > ast_mood >= 1:
if states.ast.mood > 0:
if 5 > states.ast.mood >= 1:
ast "[name_genie_astoria]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3)
elif 10 > ast_mood >= 5:
elif 10 > states.ast.mood >= 5:
ast "What now?" ("annoyed", "base", "worried", "mid", xpos="base", ypos="base", trans=d3)
elif 20 > ast_mood >= 10:
elif 20 > states.ast.mood >= 10:
ast "What is it, [name_genie_astoria]?" ("annoyed", "base", "angry", "R", xpos="base", ypos="base", trans=d3)
elif 30 > ast_mood >= 20:
elif 30 > states.ast.mood >= 20:
ast "What do you want, [name_genie_astoria]?" ("angry", "base", "angry", "mid", xpos="base", ypos="base", trans=d3)
elif 40 > ast_mood >= 30:
elif 40 > states.ast.mood >= 30:
ast "*Hmph*..." ("annoyed", "narrow", "worried", "L", xpos="base", ypos="base", trans=d3)
elif 50 > ast_mood >= 40:
elif 50 > states.ast.mood >= 40:
ast "*Tsk*" ("angry", "narrow", "angry", "mid", xpos="base", ypos="base", trans=d3)
elif ast_mood >= 50:
elif states.ast.mood >= 50:
ast "What?!" ("scream", "narrow", "angry", "mid", xpos="base", ypos="base", trans=d3)
ast "" ("angry", "narrow", "angry", "mid")
call describe_mood("Astoria", ast_mood)
call describe_mood("Astoria", states.ast.mood)
call tutorial("moodngifts")
else:
if game.daytime:

View File

@ -35,8 +35,8 @@ label end_ag_se_imperio_sb:
$ susan.equip(sus_outfit_last) # Equip player outfit.
$ astoria.equip(ast_outfit_last) # Equip player outfit.
$ astoria_busy = True
$ susan_busy = True
$ states.ast.busy = True
$ states.sus.busy = True
call music_block
jump main_room_menu
@ -311,7 +311,7 @@ label ag_se_imperio_sb_E1:
# Increase affection once (this is the first event)
if ag_se_imperio_sb.counter == 1:
$ ast_whoring += 1
$ states.ast.level += 1
jump end_ag_se_imperio_sb
@ -622,7 +622,7 @@ label ag_se_imperio_sb_E2:
# Increase affection once (this is the second event)
if ag_se_imperio_sb.counter == 2:
$ ast_whoring += 1
$ states.ast.level += 1
jump end_ag_se_imperio_sb
@ -1015,15 +1015,15 @@ label ag_se_imperio_sb_E3:
gen "(*Hmm*... Miss Bones still seemed affected even after she lessened her hold of the spell...)" ("base", xpos="far_left", ypos="head")
gen "(...)" ("base", xpos="far_left", ypos="head")
if ast_whoring < 24:
$ ast_whoring = 24
$ sus_whoring = 24
$ susan_wardrobe_unlocked = True
if states.ast.level < 24:
$ states.ast.level = 24
$ states.sus.level = 24
$ states.sus.wardrobe_unlocked = True
call end_of_content
# Increase affection once (this is the third event)
#if ag_se_imperio_sb.counter == 3:
# $ ast_whoring += 1
# $ states.ast.level += 1
jump end_ag_se_imperio_sb

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +1,41 @@
# Flags
default astoria_busy = False
default astoria_unlocked = False
default astoria_wardrobe_unlocked = False
default astoria_chatted = False
default astoria_outfits_schedule = True
# General states
default states.ast.tier = 1
default states.ast.level = 0
default states.ast.public_tier = 0
default states.ast.public_level = 0
default states.ast.mood = 0
default states.ast.unlocked = False
default states.ast.busy = False
default states.ast.gifted = False
default states.ast.favors_unlocked = False # TODO: Not in use.
default states.ast.wardrobe_unlocked = False
default states.ast.wardrobe_scheduling = True
default states.ast.chatted = False
default states.ast.map_location = "room_s"
# Sexual activity states
default states.ast.status.kissing = False
default states.ast.status.stripping = False
default states.ast.status.handjob = False
default states.ast.status.masturbating = False
default states.ast.status.sex = False
default states.ast.status.anal = False
# Event flags
default states.ast.ev.intro.e1_complete = False # Tonks visits.
default states.ast.ev.intro.e2_ask_hermione = False # Tell Hermione to look for her.
default states.ast.ev.intro.e2_ask_snape = False # Tell Snape to look for her. He fails.
default states.ast.ev.intro.e2_complete = False # Asked both.
default states.ast.ev.intro.e3_complete = False # Hermione finds her.
default states.ast.ev.intro.e4_complete = False # Astoria unlocked.
# Names
default name_astoria_genie = "Astoria"
default name_astoria_genie = "Astoria"
default name_genie_astoria = "Sir"
default name_susan_astoria = "Cow"
default name_tonks_astoria = "Old Hag"
# Stats
default ast_whoring = 0 # Affection level
default ast_mood = 0
default gave_astoria_gift = False

View File

@ -179,7 +179,7 @@ label ast_reaction_equip_fail(item):
label ast_reaction_unequip(item):
### Example
# if item.type == "panties":
# if ast_whoring > 15:
# if states.ast.level > 15:
# ast "You want to see my snatch?"
# ast "You got it [name_genie_hermione]!"
#
@ -235,7 +235,7 @@ label ast_reaction_equip_outfit_fail(item):
ast "That's way beyond what I would consider dignified." ("annoyed", "narrow", "angry", "R")
if susan_unlocked:
if states.sus.unlocked:
ast "Consider asking Susan instead." ("base", "narrow", "base", "mid")
ast "I'm sure she'd enjoy wearing it for you, that cow." ("smile", "narrow", "base", "R")
@ -258,7 +258,7 @@ label ast_reaction_blacklist(item):
ast "This is stupid..." ("base", "base", "base", "mid")
if susan_unlocked:
if states.sus.unlocked:
gen "Perhaps I'll ask Susan instead--" ("base", xpos="far_left", ypos="head")
ast "J-Just give me that!" ("annoyed", "base", "base", "L")
@ -266,16 +266,16 @@ label ast_reaction_blacklist(item):
return
label ast_reaction_fallback(item):
if ast_whoring < get_character_requirement("astoria", "unequip top") and not "top" in astoria.blacklist and not item.type == "top":
if states.ast.level < get_character_requirement("astoria", "unequip top") and not "top" in astoria.blacklist and not item.type == "top":
$ astoria.equip(ast_top_school1)
if ast_whoring < get_character_requirement("astoria", "unequip bottom") and not "bottom" in astoria.blacklist and not item.type == "bottom":
if states.ast.level < get_character_requirement("astoria", "unequip bottom") and not "bottom" in astoria.blacklist and not item.type == "bottom":
$ astoria.equip(ast_bottom_skirt1)
if ast_whoring < get_character_requirement("astoria", "unequip bra") and not "bra" in astoria.blacklist and not item.type == "bra":
if states.ast.level < get_character_requirement("astoria", "unequip bra") and not "bra" in astoria.blacklist and not item.type == "bra":
$ astoria.equip(ast_bra_basic1)
if ast_whoring < get_character_requirement("astoria", "unequip panties") and not "panties" in astoria.blacklist and not item.type == "panties":
if states.ast.level < get_character_requirement("astoria", "unequip panties") and not "panties" in astoria.blacklist and not item.type == "panties":
$ astoria.equip(ast_panties_basic1)
ast "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R")

View File

@ -1,12 +1,12 @@
label cho_chitchat:
if cho_chatted:
if states.cho.chatted:
return
$ cho_chatted = True
$ states.cho.chatted = True
if cho_tier == 1: #Pre Hufflepuff
if states.cho.tier == 1: #Pre Hufflepuff
random:
block:
@ -60,7 +60,7 @@ label cho_chitchat:
block:
cho "It's a shame Brooms are so easy to spot... Even flying close to smaller muggle villages is a risk." ("open", "base", "base", "R")
elif cho_tier == 2: #Pre Slytherin
elif states.cho.tier == 2: #Pre Slytherin
random:
block:
@ -104,7 +104,7 @@ label cho_chitchat:
cho "I can't help but think about what would've happened if it had rained during the game against Hufflepuff." ("angry", "narrow", "base", "R")
cho "It would probably have weighted down my robes too much to be able to distract Cedric." ("mad", "narrow", "base", "downR")
elif cho_tier == 3: #Pre Gryffindor
elif states.cho.tier == 3: #Pre Gryffindor
random:
block:
cho "I've been getting some odd looks from other students lately." ("soft", "narrow", "base", "R")
@ -149,7 +149,7 @@ label cho_chitchat:
cho "Although could you do it when we've got potions class next time?" ("smile", "wink", "base", "mid")
cho "" ("base", "base", "base", "mid")
elif cho_tier == 4: #After Quidditch Finals
elif states.cho.tier == 4: #After Quidditch Finals
random:
block:
cho "I wake up earlier than my fellow teammates so that I can be naked when I do my stretching at the pitch." ("smile", "narrow", "base", "R")

View File

@ -58,8 +58,9 @@ label end_cho_event:
call update_cho
$ active_girl = None
$ cho_busy = True
$ states.last_girl = states.active_girl
$ states.active_girl = None
$ states.cho.busy = True
$ cho.wear("all")
$ cho.set_cum(None)

View File

@ -54,7 +54,6 @@ label cc_pf_strip_T2_E3_hermione:
cho "It's so much better than Miss Granger's, isn't it?" ("base", "narrow", "angry", "mid")
call ctc
$ cho_strip_complete = True # Enables wardrobe strip functions.
$ d_flag_01 = False # Cho not on desk
call cc_pf_strip_T2_E3_hermione_choices
@ -65,7 +64,7 @@ label cc_pf_strip_T2_E3_hermione_choices:
menu:
"\"Definitely!\"":
$ her_mood += 10
$ states.her.mood += 10
her "What?!" ("open", "wide", "base", "stare")
cho "See, I told you!{w=0.6} How could he pick a walking bush on legs over this!" ("smile", "narrow", "angry", "L")
her "" ("angry", "base", "angry", "mid")
@ -154,7 +153,7 @@ label cc_pf_strip_T2_E3_hermione_choices:
call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp")
"\"Not even close.\"":
$ cho_mood += 15
$ states.cho.mood += 15
cho "Not even clo--" ("soft", "wide", "base", "mid")
her "" ("smile", "base", "base", "R")
cho "Sir, could you please repeat that for me?" ("clench", "closed", "angry", "mid")
@ -202,7 +201,7 @@ label cc_pf_strip_T2_E3_hermione_choices:
her "Thank you." ("soft", "narrow", "base", "mid_soft")
"\"Fifty points to Gryffindor!\"":
$ cho_mood += 10
$ states.cho.mood += 10
$ gryffindor += 50
cho "(Fifty?!)" ("soft", "wide", "base", "mid") # Shocked
her "Thank you." ("soft", "narrow", "base", "mid_soft")
@ -292,11 +291,11 @@ label cc_pf_strip_T2_E3_hermione_choices:
gen "For somebody that does a lot of exercising, she smells really nice!" ("grin", xpos="far_left", ypos="head")
gen "Maybe I should be a bit nicer to her next time..." ("base", xpos="far_left", ypos="head")
$ has_cho_panties = False
$ states.cho.ev.panty_thief.acquired = False
"\"Let Hermione assess you, Cho.\"":
$ her_mood += 6
$ states.her.mood += 6
cho "Her?" ("soft", "wide", "base", "mid")
her "I couldn't care less about the way she looks!" ("soft", "base", "angry", "mid")
cho "(...)" ("annoyed", "narrow", "angry", "L")
@ -397,7 +396,7 @@ label cc_pf_strip_T2_E3_hermione_choices:
gen "Nice, I still got her panties!" ("grin", xpos="far_left", ypos="head")
call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp")
$ has_cho_panties = True
$ states.cho.ev.panty_thief.acquired = True
# Reset Hermione clothing.
$ hermione.equip(her_outfit_last)

View File

@ -130,7 +130,7 @@ label cc_pf_strip_T3_intro_E1:
# Panties acquired message!
call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp")
$ has_cho_panties = True
$ states.cho.ev.panty_thief.acquired = True
else:
pause .8
@ -790,7 +790,7 @@ label cc_pf_strip_T3_intro_E2:
"\"Severus! Please, stay and watch.\"":
if cc_strip_no_snape: # Cho clearly told you she won't strip for Snape.
$ cho_mood += 30
$ states.cho.mood += 30
cho "Are you mad?!" ("clench", "base", "angry", "mid", trans=hpunch)
cho "Sir, I clearly told you before, I won't do this in front of Professor Snape!" ("open", "base", "angry", "mid")
sna "So you actually considered inviting me..." ("snape_20")
@ -806,7 +806,7 @@ label cc_pf_strip_T3_intro_E2:
pass
else:
$ cho_mood += 12
$ states.cho.mood += 12
cho "Sir, you can't be serious!" ("angry", "wide", "raised", "mid", cheeks="heavy_blush")
gen "Calm yourself, girl." ("base", xpos="far_left", ypos="head")
gen "There's no touching allowed anyway... Those are the rules." ("base", xpos="far_left", ypos="head")
@ -1025,8 +1025,8 @@ label cc_pf_strip_T3_intro_E2:
$ cho.equip(cho_outfit_last)
$ tonks.equip(ton_outfit_last)
$ tonks_busy = True
$ snape_busy = True
$ states.ton.busy = True
$ states.sna.busy = True
# End event.
jump end_cho_strip_event
@ -1086,9 +1086,9 @@ label cc_pf_strip_T3_intro_E3:
# Fireplace turns on.
if not fire_in_fireplace:
if not states.fireplace_started:
pause .2
$ fire_in_fireplace = True
$ states.fireplace_started = True
$ fireplace_OBJ.foreground = "fireplace_fire"
with d5
pause .8
@ -1099,7 +1099,7 @@ label cc_pf_strip_T3_intro_E3:
# Fire flashes green. # Tonks appears in the fireplace.
play sound "sounds/fire_woosh.ogg"
$ fire_in_fireplace = True
$ states.fireplace_started = True
show screen gfx_effect(690, 330, img="smoke", zoom=0.5)
pause .1
$ fireplace_OBJ.foreground = "fireplace_greenfire"
@ -1112,7 +1112,7 @@ label cc_pf_strip_T3_intro_E3:
# Fireplace turns off.
stop background #Stops playing the fire SFX.
$ fire_in_fireplace = False
$ states.fireplace_started = False
$ fireplace_OBJ.foreground = None
with d5
pause .2
@ -1845,7 +1845,7 @@ label cc_pf_strip_T3_intro_E3:
show cho_strip_personal_t3_e3_on_knees tonks_mouth_base cho_mouth_lip_bite cho_eyes_open_down as cg
with d3
if cho_blowjob_done:
if states.cho.status.blowjob:
cho "But I've already seen-- I mean..."
else:
cho "..."
@ -2091,7 +2091,7 @@ label cc_pf_strip_T3_intro_E3:
show cho_strip_personal_t3_e3_on_knees cho_mouth_open as cg
with d3
if cho_blowjob_done:
if states.cho.status.blowjob:
cho "*Ehm*... Haven't I already proved--"
else:
cho "But he's my--{w=0.2} And you--{w=0.2} Surely I can't just--"
@ -3041,7 +3041,7 @@ label cc_pf_strip_T3_intro_E3:
$ tonks.equip(ton_outfit_last)
$ hermione.equip(her_outfit_last)
$ tonks_busy = True
$ states.ton.busy = True
# End event.
jump end_cho_strip_event

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More