WTS/game/scripts/events/potions/intro.rpy
LoafyLemon 22b6e66f53 CDS - Random
* Implemented random dialogue CDS supporting:
 - If statements
 - Renpy statements
 - Renpy blocks
 - Prediction
 - Expression editor (yay!)
 - Parsing errors handling
* Refactored randomized dialogues to use `random` CDS
* Removed obsolete code
2023-03-10 23:09:32 +00:00

460 lines
23 KiB
Plaintext

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
if not snape_office_intro_E0:
# First time
$ snape_office_intro_E0 = True
pause .5
$ snape_office_desk_OBJ.set_image("snape_desk_work_idle")
with d3
sna "... Genie?" ("snape_01", ypos="head", xpos="base", trans=d3)
gen "(Oh shit...)" ("angry", xpos="far_left", ypos="head")
pause .5
$ snape_office_desk_OBJ.set_image("snape_desk_idle")
with d3
if mirror_intro_done:
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")
sna "Are you sure it's wise for you to wander the dungeons?" ("snape_04")
gen "*Err*...{w=0.4} So this isn't my office?" ("base", xpos="far_left", ypos="head")
sna "No... This is my office... As I'm sure you're aware." ("snape_01")
gen "Oh... I must've been sleepwalking!" ("base", xpos="far_left", ypos="head")
sna "Sleepwalking?" ("snape_05")
sna "I didn't think genies needed sleep." ("snape_03")
gen "Of course we do!" ("base", xpos="far_left", ypos="head")
gen "(Wait...{w=0.4} Do we?{w} Why do I sleep so much?)" ("base", xpos="far_left", ypos="head")
sna "*Sigh*..." ("snape_06")
sna "Did anyone see you?" ("snape_01")
gen "Oh yeah, lots of people." ("base", xpos="far_left", ypos="head")
gen "A bunch of weirdos were staring at me on the way here." ("base", xpos="far_left", ypos="head")
sna "Bloody hell..." ("snape_08")
sna "This is why I told you not to leave your office..." ("snape_07")
sna "Any students?" ("snape_10")
gen "Well, there was this weird knight." ("base", xpos="far_left", ypos="head")
sna "A knight?" ("snape_36")
gen "Yeah! He was getting a blowjob from some lady!" ("base", xpos="far_left", ypos="head")
sna "What are you--{w=0.2}{nw}" ("snape_25")
sna "What are you--{fast} Oh I see..." ("snape_01")
sna "You're talking about the paintings..." ("snape_03")
sna "That would be Sir Cadogan and the fat lady." ("snape_24")
gen "..." ("base", xpos="far_left", ypos="head")
gen "That's a bit rude don't you think?" ("base", xpos="far_left", ypos="head")
sna "That's her name." ("snape_03")
gen "Oh..." ("base", xpos="far_left", ypos="head")
sna "Did you need something?" ("snape_04")
sna "You could just call for me you know." ("snape_05")
gen "Oh... Yes, Well I thought that it was a bit unfair to have you walk all the way to my office every time." ("base", xpos="far_left", ypos="head")
sna "Is that so?" ("snape_44")
gen "Yes..." ("base", xpos="far_left", ypos="head")
sna "And my other question..." ("snape_03")
gen "Which was?" ("base", xpos="far_left", ypos="head")
sna "..." ("snape_04")
gen "Oh! *Err*..." ("base", xpos="far_left", ypos="head")
menu:
"\"I was just looking around.\"":
sna "Are you done sightseeing then?" ("snape_03")
menu:
"\"Not yet.\"":
sna "..." ("snape_01")
call gen_walk(xpos="mid", ypos="base")
call ctc
call gen_chibi(flip=False)
call ctc
call gen_chibi("stand_alt", flip=False)
call ctc
call gen_chibi(flip=True)
call gen_chibi("stand_alt")
pause .5
sna "... {w=0.4} Well?" ("snape_04")
call gen_chibi("stand")
gen "Okay, now I'm done." ("base", xpos="far_left", ypos="head")
sna "Good..." ("snape_04")
"\"Yes.\"":
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:
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")
else:
gen "I wanted to see how he's doing." ("base", xpos="far_left", ypos="head")
sna "*Hmm*...{w=0.4} Well, I appreciate it, but I'm quite busy right now." ("snape_09")
sna "Being a teacher is not an easy job." ("snape_06")
gen "I know something about it." ("base", xpos="far_left", ypos="head")
sna "You do?" ("snape_05")
gen "Yeah. I might tell you about it someday, but for now I'll leave you to it." ("base", xpos="far_left", ypos="head")
sna "Right... In that case..." ("snape_04")
"\"I like your office!\"":
gen "Way nicer than the one I have." ("base", xpos="far_left", ypos="head")
sna "Thanks. I always had a thing for interior design--" ("snape_23")
sna "Hold up. You're doing it again!" ("snape_17")
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:
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:
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")
sna "Well, I don't know, maybe so you don't explode the castle?" ("snape_01")
gen "So... That's a maybe..." ("base", xpos="far_left", ypos="head")
sna "It's a hard {b}NO{/b}." ("snape_31")
gen "(... I guess I will need more convincing arguments.)" ("base", xpos="far_left", ypos="head")
gen "(Better not mention snooping in his office though, he would definitely kill me...)" ("base", xpos="far_left", ypos="head")
"\"What's the Wi-Fi password?\"":
sna "Sorry?" ("snape_05")
#check day counter
if game.day > 35:
gen "I've been here for ages and I still don't know the password..." ("base", xpos="far_left", ypos="head")
else:
gen "I know I've only been here for a little bit. But it's boring up there." ("base", xpos="far_left", ypos="head")
random:
gen "Where am I supposed to watch \"Great British bake off\"?" ("base", xpos="far_left", ypos="head")
gen "I sleep so much better with \"Friends\" on in the background." ("base", xpos="far_left", ypos="head")
gen "I need to know what the Kardashians are up to." ("base", xpos="far_left", ypos="head")
gen "I was just about to start season six of \"Lost\", I need to know how it ends!" ("base", xpos="far_left", ypos="head")
sna "I don't know what a \"Wife-I\" is, so I assume it's some muggle thing... Muggle electronics do not work at Hogwarts..." ("snape_03")
gen "Oh shit, so you've bricked my phone?" ("base", xpos="far_left", ypos="head")
sna "..." ("snape_04")
gen "I don't have a phone..." ("base", xpos="far_left", ypos="head")
sna "I need to get back to grading these papers..." ("snape_01")
sna "Just call for me if you need me next time." ("snape_39")
gen "Noted..." ("base", xpos="far_left", ypos="head")
else:
# Repeat
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:
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:
gen "I'll be going then." ("base", xpos="far_left", ypos="head")
sna "Don't let the door hit you on your way out." ("snape_04")
gen "(If I want to brew potions, I need to get here during the day when Snape's busy teaching.)" ("base", xpos="far_left", ypos="head")
jump return_office
label potions_intro_E1:
# Plays when you first enter the office and Snape is not there
$ snape_office_discovered = True
if snape_office_intro_E1_stage == 0:
# Before examination
$ snape_office_intro_E1_stage = 1
if snape_office_intro_E0:
gen "(Great... No Snape in sight this time.)" ("base", xpos="far_left", ypos="head")
else:
pause .5
gen "...Hello?" ("base", xpos="far_left", ypos="head")
gen "(Snape must be busy teaching...)" ("base", xpos="far_left", ypos="head")
gen "(Let's have a look around...)" ("base", xpos="far_left", ypos="head")
$ snape_office_brewing_station_OBJ.idle = At("snape_office_brewing_station_off", pulse_hover)
$ snape_office_shelves_OBJ.idle = At("snape_office_shelves", pulse_hover)
$ snape_office_picture_OBJ.idle = At("snape_office_picture", pulse_hover)
$ snape_office_statue_OBJ.idle = At("snape_office_statue", pulse_hover)
$ snape_office_desk_OBJ.idle = At("snape_office_desk", pulse_hover)
$ snape_office_candelabra_OBJ.idle = At("snape_office_candelabra_on", pulse_hover)
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):
# After examination
with fade
gen "(Well, I've found some recipes... I doubt there's many more useful things in here...)" ("base", xpos="far_left", ypos="head")
gen "(*Hmm*... I might be pushing my luck if I stay too long...)" ("base", xpos="far_left", ypos="head")
gen "(Better head back to my office for now.)" ("base", xpos="far_left", ypos="head")
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
jump return_office
jump snape_office_menu
label potions_intro_E2:
# Genie gets caught by the painting
$ snape_office_intro_E2 = True
gen "*Hmm*..." ("base", xpos="far_left", ypos="head")
gen "Looks like the coast is clear..." ("base", xpos="far_left", ypos="head")
#Genie walks into the room
call gen_walk(xpos="mid", ypos="base")
"The Painting" "{i}Alarm!{/i} Alarm! {b}ALARM!{/b}"
menu:
gen "..." ("base", xpos="far_left", ypos="head")
"\"Shut it Van Gogh...\"":
# Fun fact: This is a rare insult as Van Gogh has sold only but a single painting in his life time, he got famous only after his passing.
pass
"\"These bloody paintings...\"":
gen "Whoever thought it was a good idea to make paintings talk should be drowned in paint..." ("angry", xpos="far_left", ypos="head")
"\"...\"":
pass
"The Painting" "Alarm! Major asshole detected!"
gen "How do I shut this thing off..." ("base", xpos="far_left", ypos="head")
#Snape walks in
call sna_walk(action="enter", xpos="door", ypos="base", flip=True)
sna "Genie!"
if snape_office_intro_E0:
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")
# gen "The simulation must be failing..." ("base", xpos="far_left", ypos="head")
gen "Darn painting... If only there was some paint thinner around here..." ("base", xpos="far_left", ypos="head")
gen "Water will have to do I suppose..." ("base", xpos="far_left", ypos="head")
#Genie turns around towards door
call gen_chibi(flip=False)
pause .5
call gen_chibi("stand_shocked", flip=False)
play sound "sounds/malegasp.ogg" volume 0.40
gen "..." ("angry", xpos="far_left", ypos="head")
if snape_office_intro_E0:
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")
sna "..." ("snape_04")
gen "This isn't my office!" ("angry", xpos="far_left", ypos="head")
sna "Your office couldn't be further away from here Genie, you're not fooling me with that one again..." ("snape_03")
gen "*Err*..." ("base", xpos="far_left", ypos="head")
else:
sna "What the hell are you doing in my office this time of day?" ("snape_03")
call gen_chibi("stand", flip=False)
gen "*Err*..." ("base", xpos="far_left", ypos="head")
gen "Sightseeing?" ("base", xpos="far_left", ypos="head")
sna "In the dungeon?" ("snape_03")
gen "Yes?" ("base", xpos="far_left", ypos="head")
sna "I somehow find that hard to believe..." ("snape_01")
#Snape walks past genie and sits down at his desk
call sna_walk(xpos="mid", ypos="base")
call sna_chibi("hide")
$ snape_office_desk_OBJ.set_image("snape_desk_idle")
with d3
call gen_chibi(flip=True)
with d3
pause 0.5
gen "Well I can assure you--" ("base", xpos="far_left", ypos="head")
sna "If this is going to work then I expect you to be more careful." ("snape_01", trans=d3)
sna "It appears you're not the only one who's been snooping around..." ("snape_35")
gen "Spies?" ("base", xpos="far_left", ypos="head")
sna "No... Not spies..." ("snape_43")
random:
block:
sna "Someone's been rummaging around in my office." ("snape_39")
gen "Really? Now that's--" ("base", xpos="far_left", ypos="head")
"The Painting" "That's him!"
sna "Be quiet you--" ("snape_43")
"The Painting" "But, that's the asshole that snooped around here!"
sna "..." ("snape_25")
gen "Bugger..." ("base", xpos="far_left", ypos="head")
block:
sna "Someone's gone through my desk drawers." ("snape_01")
gen "Gross!" ("base", xpos="far_left", ypos="head")
sna "Excuse me?" ("snape_05")
gen "I mean--{w=0.2} That's not good!" ("base", xpos="far_left", ypos="head")
sna "Quite..." ("snape_03")
sna "That's where I keep my list of the more...{w=0.4} Slutty Slytherins." ("snape_01")
gen "Wait, there was a list under those panties?--" ("base", xpos="far_left", ypos="head")
sna "" ("snape_04")
gen "..." ("angry", xpos="far_left", ypos="head")
block:
sna "Someone's gone through my desk." ("snape_03")
gen "And? Did they take anything?" ("base", xpos="far_left", ypos="head")
sna "It's not really about what they took but what I have in there..." ("snape_31")
gen "..." ("base", xpos="far_left", ypos="head")
sna "It'd be a bit embarrassing if my purchase history got spread around..." ("snape_35")
sna "Knockturn alley provides some fairly..." ("snape_41")
sna "Unorthodox pleasure devices." ("snape_40")
gen "Stop!" ("angry", xpos="far_left", ypos="head")
sna "What?" ("snape_25")
gen "I don't want to hear about your basi-lick or whatever you call it!" ("angry", xpos="far_left", ypos="head")
sna "So it was you!" ("snape_10")
sna "Why have you been snooping around my office?" ("snape_01")
gen "I wasn't snooping. I just wanted to brew some potions!" ("base", xpos="far_left", ypos="head")
sna "You wanted to brew potions?" ("snape_05")
gen "Yes?" ("base", xpos="far_left", ypos="head")
sna "Are you insane?" ("snape_10")
gen "I'm quite adept at potion making, I'll have you know!" ("base", xpos="far_left", ypos="head")
gen "It's what got me here in the first place!" ("base", xpos="far_left", ypos="head")
sna "Right... And that effect was deliberate was it?" ("snape_03")
gen "..." ("base", xpos="far_left", ypos="head")
sna "You're lucky I caught you before you did anything stupid!" ("snape_01")
gen "Like what? It's just potions..." ("base", xpos="far_left", ypos="head")
sna "Like caving this whole room in!" ("snape_10")
gen "I'm immortal, why would I care..." ("base", xpos="far_left", ypos="head")
sna "Do you phase through debris as well?" ("snape_03")
gen "Good point..." ("base", xpos="far_left", ypos="head")
gen "So... Will you teach me how to brew your potions then?" ("base", xpos="far_left", ypos="head")
sna "..." ("snape_03")
sna "*Hah-Hah-Hah!*" ("snape_28")
gen "*Heh-Heh*..." ("grin", xpos="far_left", ypos="head")
sna "Hell no!" ("snape_03")
gen "{size=+3}WHY NOT?{/size}" ("angry", xpos="far_left", ypos="head")
if sna_friendship > 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")
else:
sna "Because...{w=0.4} I...{w=0.2} Don't...{w=0.2} Trust...{w=0.2} You..." ("snape_10")
gen "You don't?" ("base", xpos="far_left", ypos="head")
sna "I don't trust that you wont mess it up I should say..." ("snape_03")
gen "Come on! Those recipes I found in your desk looks simple enough..." ("base", xpos="far_left", ypos="head")
sna "You read that?" ("snape_14")
gen "Of course I did!" ("grin", xpos="far_left", ypos="head")
gen "They're quite genius actually..." ("base", xpos="far_left", ypos="head")
sna "Oh... Why I wouldn't say--" ("snape_23")
gen "A lot of them appeared to be derivatives from other potions, is that correct?" ("base", xpos="far_left", ypos="head")
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:
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")
gen "I noticed you've got some of the base liquids already." ("base", xpos="far_left", ypos="head")
gen "I must say I am very much a fan of using breast milk in my own concoctions." ("base", xpos="far_left", ypos="head")
sna "Hold on... You're saying you've used it in potion brewing already?" ("snape_25")
gen "All the time!" ("base", xpos="far_left", ypos="head")
sna "*Hmm*... Maybe you have more potential than I first thought..." ("snape_04")
sna "These recipes are still in an experimental stage..." ("snape_03")
sna "{size=-3}And it does mean I wouldn't have to put myself in any danger...{/size}" ("snape_09")
sna "...{w} Fine." ("snape_01")
sna "You can use my brewing station..." ("snape_01")
sna "I have a spare one if you somehow manage to burn a hole through it..." ("snape_37")
gen "Great!" ("base", xpos="far_left", ypos="head")
sna "But only during the day... I'd rather not be bothered in the evenings as I need to--" ("snape_01")
sna "*Ahem*...{w=0.4} Grade tests..." ("snape_35")
gen "Right..." ("base", xpos="far_left", ypos="head")
menu:
"-Ask about ingredients-":
gen "So...{w} *Err*..." ("base", xpos="far_left", ypos="head")
gen "The recipe's mentioned some additional ingredients..." ("base", xpos="far_left", ypos="head")
sna "Yes?" ("snape_05")
gen "Well, I didn't really see a ingredient cupboard or anything in here..." ("base", xpos="far_left", ypos="head")
sna "Right?" ("snape_03")
gen "So, where do you keep your... *Err*..." ("base", xpos="far_left", ypos="head")
sna "Keep {size=+5}my{/size} what?" ("snape_04")
gen "You know what, I think I'll probably manage to find some on my own..." ("base", xpos="far_left", ypos="head")
sna "*Hmm*..." ("snape_04")
gen "Drinks later?" ("angry", xpos="far_left", ypos="head")
gen "On me obviously." ("base", xpos="far_left", ypos="head")
sna "..." ("snape_04")
gen "*Hah-hah*... See you later then buddy!" ("grin", xpos="far_left", ypos="head")
gen "*Ahem*..." ("base", xpos="far_left", ypos="head")
call gen_chibi("stand", flip=False)
"-Indirectly ask about ingredients-":
gen "I'll just go now then shall I?" ("base", xpos="far_left", ypos="head")
sna "You do that..." ("snape_01")
call gen_walk(xpos="station", ypos="station", flip=False)
pause .5
call gen_chibi("stand_alt", flip=True)
gen "Unless there's anything else that I'll need to brew these potions?" ("base", xpos="far_left", ypos="head")
sna "Well, obviously you wouldn't be able to brew them with just the base liquids..." ("snape_05")
gen "*Hah-Hah*... Yeah..." ("base", xpos="far_left", ypos="head")
sna "..." ("snape_04")
gen "See you later then!" ("base", xpos="far_left", ypos="head")
call gen_chibi("stand", flip=False)
gen "(I guess I'll just have to find any additional ingredients that I'll need on my own...)" ("base", xpos="far_left", ypos="head")
call gen_walk(action="leave")
sna "..."
$ snape_office_desk_OBJ.set_image("snape_office_desk")
call sna_chibi("stand", xpos="beside_chair", ypos="beside_chair", flip=True)
call sna_walk(path=[(745, 438), (730, 405)])
call sna_chibi("stand", xpos="shelves", ypos="shelves", flip=False)
with d3
pause 0.5
sna "As If I'd let anyone have my ingredients..." ("snape_03", trans=d3)
sna "Revelio!" ("snape_10", wand=True)
hide snape_main
hide screen bld1
with d3
pause 0.5
$ renpy.play('sounds/magic1.ogg')
$ snape_office_shelves_OBJ.set_image("snape_office_shelves_alt")
$ snape_office_shelves_OBJ.foreground = None
with d9
pause 2.0
sna "*Heh-Heh*..." ("snape_37", wand=True, trans=d1)
sna "... W-- Where's my fluxweed?!" ("snape_25", wand=True, trans=d1)
#Back to office screen
$ snape_office_shelves_OBJ.set_image("snape_office_shelves")
$ snape_office_shelves_OBJ.foreground = "snape_office_shelves_anim"
jump return_office