-
Notifications
You must be signed in to change notification settings - Fork 5
/
day2a.rpy
630 lines (608 loc) · 23.4 KB
/
day2a.rpy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
label ch_mod_p1:
if persistent.screen_glitch < 1:
jump ch_mod_p1b
else:
jump ch_mod_p1a
label ch_mod_p1a: ### prevent cheating
scene black
pause 1.0
if persistent.poetappeal == "abs" or persistent.poetappeal == "bs":
play sound ggg
pause 1.0
if persistent.poetappeal == "abs":
$ poetappeal = "abs"
elif persistent.poetappeal == "bs":
$ poetappeal = "bs"
stop sound
return # goes back to normal "day two scene"
$ chapter = 0
call poem(transition=False) ### original poem game from DDLC
### at this point, i'll probably going to add extra possibility for choosing alternative poem when saving/loading
if poemwinner[0] == "natsuki":
#$ persistent.poetappeal = "cute"
$ poetappeal = "cute" # natsuki
else:
#$ persistent.poetappeal = "mp"
$ poetappeal = "mp" # yuri
return
label ch_mod_p1b: ### will only see once
scene black
pause 1.0
show p1 zorder 1
pause 0.01
show screen tear(20, 0.1, 0.1, 0, 40)
play sound "sfx/s_kill_glitch1.ogg"
pause 0.25
stop sound
hide screen tear
play music ap1
pause 0.33
hide p1
show p1a zorder 1
pause 0.4
hide p1a
show p1b zorder 1
show m_sticker at m_pos zorder 2
pause 2.58
show screen tear(20, 0.1, 0.1, 0, 40)
pause 0.59
#3.9
hide screen tear
hide p1b
show p1 zorder 1
pause 1.55
show m_sticker hop
pause 0.04
hide m_sticker
hide m_sticker hop
hide pl
show screen tear(8, offtimeMult=1, ontimeMult=10)
pause 2.0
hide screen tear
stop music
scene black with trueblack
scene bg notebook
show screen quick_menu
show n_sticker at sticker_mid
show y_sticker at sticker_right
with dissolve_scene_full
play music t4
$ config.skipping = False
$ config.allow_skipping = False
$ allow_skipping = False
call screen dialog("It's time to write a poem!\n\nPick words you think your favorite club member\nwill like. Something good might happen with\nwhoever likes your poem the most!", ok_action=Return())
stop music
# Of course, I'm a lazy bastard, I was trying not to modify Dan Salvato's poem game mechanics.
hide screen quick_menu
hide n_sticker
hide y_sticker
show screen tear(8, offtimeMult=1, ontimeMult=10)
play music aglitch2
pause 2.0
stop music
hide screen tear
$ quick_menu = False
scene white
pause 2.0
show noise:
alpha 0.1
$ gtext = glitchtext(80)
"[gtext]"
$ gtext = glitchtext(22)
menu:
"ŴHaŧ ĸIñd øF ¶o3m shoųlÐ ¡ mÆke¿"
"Something cute":
$ poetappeal = "cute"
$ persistent.poetappeal = "cute"
"Something bittersweet":
$ poetappeal = "bs" # lol
$ persistent.poetappeal = "bs"
"Something metaphorical":
$ poetappeal = "mp"
$ persistent.poetappeal = "mp"
"[gtext]":
$ poetappeal = "abs" # abstract
$ persistent.poetappeal = "abs"
hide noise
scene black
$ quick_menu = True
$ config.allow_skipping = True
$ allow_skipping = True
return
###### There's a lot of anti-cheat system that i implemented, trying to prevent abusive save/load mechanics by players
###### (you are probably confused if you see some weird things below, sry you had to see my horrendous codes)
#label dftsy_game:
# if not renpy.can_load("1-6", test=False)and not persistent.warning_seen and not (persistent.ggwp_monika > 0):
# $ renpy.save("1-6", extra_info='') # incase if player forgot to save
# return
#label dftsy_game2:
# if not renpy.can_load("1-1", test=False) and not persistent.warning_seen and persistent.ggwp_monika > 0:
# $ renpy.call_screen("dialog", "I just saved your life.", ok_action=Return())
# $ renpy.call_screen("dialog", "If you want to be safe, please always save your game.\n-firelightning13", ok_action=Return())
# $ persistent.warning_seen = True
# return
label ch_mod_2:
#$ mod_censorship()
if persistent.screen_glitch > 0:
jump skip_2_2a
else:
$ persistent.screen_glitch = 1
$ narrator.display_args["callback"] = player_pls_skip ### use this if player tends to load again after showing up in the clubroom
$ del _history_list[0:]
pause 1.0
scene bg bedroom
with wipeleft_scene
#if config.developer: # for testing purposes
# $ persistent.ggwp_monika = 0
# $ parfait_girls = False
# $ persistent.tea_set = False
# $ persistent.mc_violent = False
# $ persistent.poster_seen = False
# $ persistent.cheat_mod = 0
# $ poster_checked = False
# $ closet_checked = False
"Argh.."
"I had a bad dream..."
"...Someone screaming my name."
"I wonder who {i}she{/i} was?"
"She said something like \"save me\"..."
#default persistent.warning_seen = False
#call dftsy_game
"Or something like \"Don't forget to save your game\"...?"
#call dftsy_game2
"That was weird..."
if poetappeal != "abs" or persistent.ggwp_monika == 1:
# if player chooses other than abstract
"Anyway, it's pretty late right now."
"I have to go to school quickly!"
else:
# if player chooses abstract poem
"Anyway, I still have time to go to school."
"I need to get ready!"
"{cps=200}Save This gAme noW! sAve his gAme noW!\nsv This Game NOWW! save tHiS gam3 now!\nSave thiss gam owww Save this game noWW\n Saeve this game nw! !save game not now this!{/cps}{nw}"
$ _history_list[-1].what = "{color=000}Save this game now!{/color}"
scene bg residential_day
with wipeleft_scene
show screen tear(20, 0.1, 0.1, 0, 40)
play music aglitch2
pause 0.25
stop music
hide screen tear
scene bg res_gl2
play music t2l
#$ style.say_window = style.window
$ style.say_window = style.window_lq
"It's an ordinary school day, like any other."
#"Mornings are usually the worst, being surrounded by couples and friend groups walking to school together."
if poetappeal != "abs" or persistent.ggwp_monika == 1:
"Mornings are usually the worst, being surrounded by couples{nw}"
$ _history_list.pop()
"It looks like there are only a few people running around.. they must be late, just like me."
#"Meanwhile, I've always walked to school alone."
"Meanwhile, I've always walked{nw}"
$ _history_list.pop()
"Meanwhile, I am trying to run as fast as possible so that I can catch up with them."
window auto
"My class could start any minute now!"
if persistent.ggwp_monika > 0:
label mc_realise:
# going back in time when you load at the start of the game
$ currentpos = get_pos()
stop music
window hide(None)
show screen tear(20, 0.1, 0.1, 0, 40)
play sound "sfx/s_kill_glitch1.ogg"
pause 0.25
stop sound
hide screen tear
window show(None)
scene bg residential_day
$ style.say_window = style.window
$ audio.t2 = "<from " + str(currentpos) + " loop 4.499>bgm/2.ogg"
play music t2
mc "Ah, what just happened?!"
mc "Did I just..."
mc "What's going on right now?"
"Confused, I glance around."
"Did I just go back in time?"
if persistent.ggwp_monika == 1:# post going to sayori's house
mc "That screaming girl back there.."
mc "Argh!"
elif persistent.ggwp_monika == 2:# going back in time after seeing poster/throwing a chair
mc "Did I do something in my classroom just now?"
mc "Argh!"
"What am I saying?!"
"I'm really late right now!"
window auto
"Forget this, I'm going to school!"
if persistent.ggwp_monika == 2:
jump skip_2_2a
else:
"Mornings are usually the worst, being surrounded by couples and friend groups walking to school together."
"I mean, I still have time to go to school, so..."
window hide(None)
pause 0.5
window show(None)
$ gtext = glitchtext(8)
$ stext = glitchtext(80)
$ s_name = "[gtext]"
s "{cps=*2}[stext]{/cps}{nw}" # spooky
$ _history_list.pop()
$ currentpos = get_pos()
stop music
window hide(None)
show screen tear(20, 0.1, 0.1, 0, 40)
play music s_gl
pause 0.25
stop music
hide screen tear
window show(None)
mc "Eh?"
"What was that?"
window auto
"I hear someone screaming in the distance..."
"The same voice that I heard in my dream."
"It's coming from my neighbor's house."
$ style.say_window = style.window
scene bg house
with wipeleft
stop music
$ audio.t2 = "<from " + str(currentpos) + " loop 4.499>bgm/2.ogg"
play music t2
"This house..."
"...looks familiar to me..."
"My memory's been a little bit hazy lately."
"I proceed to knock the door."
mc "H-Hello? Is anyone there?"
"The house looks empty to me, {w}the door is strangely unlocked..."
"Has something happened in this house?"
#mc "I'm coming over..." basically how to deal with robbery situation
"{cps=30}I silently open the front door...{/cps}{nw}"
if persistent.ggwp_monika == 0:
python:
currentpos = get_pos()
startpos = currentpos - 0.3
if startpos < 0: startpos = 0
track = "<from " + str(startpos) + " to " + str(currentpos) + ">bgm/2.ogg"
renpy.music.play(track, loop=True)
$ persistent.ggwp_monika = 1
show screen tear(8, offtimeMult=1, ontimeMult=10)
pause 1.0
$ renpy.utter_restart()
elif persistent.ggwp_monika == 2:
jump mc_realise
else:
window hide(None)
show screen tear(20, 0.1, 0.1, 0, 40)
play sound "sfx/s_kill_glitch1.ogg"
pause 0.25
stop sound
hide screen tear
window show(None)
# going back in time when you load in front of sayori's house
mc "Wait, I thought I tried opening this door before."
mc "Ah, what just happened?!"
mc "Did I just..."
mc "What's going on right now?"
"Confused, I glance around once again."
"Did I just go back in time?"
"My gut says that I shouldn't be here."
"I don't want to get in trouble again."
"What am I saying?!"
window auto
"Screw this, I'm going to school!"
if poetappeal != "abs" and not persistent.ggwp_monika == 1:
scene bg cr_gl # glitched bg when choosing other than abstract
else:
scene bg class_day # normal bg when choosing abstract poem
with wipeleft_scene
"The school day is as ordinary as ever, and it's over before I know it."
"After I pack up my things, I stare blankly at the wall{nw}"
$ _history_list.pop()
"After I pack up my things, I should get going."
if persistent.ggwp_monika != 1:# or config.developer:
# this stuff happens when player not choose abstract poem
"Literature club{nw}"
$ _history_list.pop()
$ style.say_dialogue = style.edited
"Literature club{fast}, here I go...{nw}"
window hide(None)
show screen tear(20, 0.1, 0.1, 0, 40)
play sound aglitch2
pause 0.25
stop sound
hide screen tear
window show(None)
$ style.say_dialogue = style.normal
"Argh!{nw}"
"What?! {w}Oh...."
"I just noticed..."
"This classroom seems a little bit off..."
"I feel like something is not right..."
window hide(None)
window auto
show screen tear(20, 0.1, 0.1, 0, 40)
play sound s_gl
pause 0.25
stop sound
hide screen tear
window auto
if persistent.ggwp_monika == 2:
label mc_realise_2:
# going back in time after seeing poster/throwing a chair
window show(None)
$ gtext = glitchtext(50)
mc "[gtext]{nw}"
window hide(None)
show screen tear(20, 0.1, 0.1, 0, 40)
play sound aglitch2
pause 0.25
stop sound
hide screen tear
window show(None)
scene bg class_day
$ style.say_window = style.window
mc "Ah, what just happened?!"
mc "Did I just..."
mc "What's going on right now?"
"I'm so confused."
"What was all that about?"
mc "Did I do something weird just now?"
mc "Argh!"
"What am I saying?!"
"I'm really late now!"
"Screw it, I'm going to the litera{nw}"
jump skip_2_2a
elif parfait_girls or persistent.tea_set or persistent.ggwp_monika == 1:
$ gtext = glitchtext(50) # prevent anti-cheat
mc "[gtext]{nw}"
play sound aglitch1
pause 1.0
stop sound
jump skip_2_2a
if not config.skipping:#or config.developer:
label mc_choice:
$ gtext = glitchtext(12)
menu:
" "
"Check the closet" if not closet_checked:
if persistent.ggwp_monika == 2:
jump mc_realise_2
jump check_closet
"Do something violent": # release your anger, don't be like a green hulk/ogre
if persistent.ggwp_monika == 2:
jump mc_realise_2
if persistent.protecc:
# praise to god
$ renpy.call_screen("dialog", "WARNING: Profanity filter is enabled.", ok_action=Return())
$ renpy.call_screen("dialog", "Something terrible is going to happen.\nProceed with caution.", ok_action=Return())
jump throw_chair
"[gtext]" if not poster_checked: # check poster
if persistent.ggwp_monika == 2:
jump mc_realise_2
if persistent.protecc:
$ renpy.call_screen("dialog", "WARNING: Profanity filter is enabled.", ok_action=Return())
$ renpy.call_screen("dialog", "Something terrible is going to happen.\nProceed with caution.", ok_action=Return())
jump check_poster
else:
$ config.skipping = False
jump skip_2_2a
else:
# skip over those stuff if player choose abstract poem
window auto
"Literature club, here I go..."
stop music fadeout 1.0
scene bg corridor
with wipeleft_scene
jump ch_mod_2a
label check_closet:
scene bg closet
with wipeleft_scene
window auto
$ style.say_window = style.window
"Just curious to see what's inside that closet."
"I'm expecting the contents of that closet to simply be classroom stuff like books, files or markers."
"But you'll never know what is actually inside it until you look."
"Well, here goes nothing."
play sound closet_open
"I open the closet."
show noise at noisefade(5) zorder 3
mc "..."
mc "I found markers."
"Construction paper, too.."
"Wasn't Monika trying to find this stuff yesterday?"
$ half_chance = renpy.random.randint(0, 1)
if half_chance == 0:# or config.developer:
$ another_chance = renpy.random.randint(0, 3) # Make it fair
if another_chance == 0:# or config.developer:
### 12.5% chance
"Well, I guess I could give them to Monika after all."
else:
### 37.5% chance
mc "What's this?"
"There's a lone volume of manga amidst a stack of various books on the side of one of the shelves."
"Curious, I pull the book out."
mc "Parfait Girls...? {w}Part one?"
"I stare at the cover."
"It features four girls in colorful attire striking animated feminine poses."
"Have I heard of this manga before?"
"My memory is a little bit hazy, so I don't know if I read it before."
"I wonder why it's here in the classroom?"
"Has it been here the entire time?"
mc "I guess I could keep it, though..."
$ persistent.parfait_girls = True
$ parfait_girls = True
"I put it inside my bag, just in case."
"I kind of want to read it though, in my spare time."
"Well, about the markers and construction paper..."
"I guess I could give them to Monika after all."
$ closet_checked = True
#it's possible to get both parfait girls and tea set, for smart gamers; so i just gonna leave it here
else:
### 50% chance, i think yuri like this idea
"Huh? There is a tea set as well."
"Who put this in the closet anyway?"
"Maybe one of my teachers needs it?"
"Eh, whatever."
"I just grab the markers and construction paper instead."
"Well, I guess I could give this stuff to Monika after all."
$ persistent.tea_set = True
play sound closet_close
"I proceed to close the closet."
"Hmm... what else should I do...?"
$ closet_checked = True
if persistent.tea_set or parfait_girls:
# oops, you ran out of time
window hide(None)
window auto
play sound aglitch1
pause 1.0
hide noise
stop sound
jump skip_2_2a
else:
window auto
hide noise
jump mc_choice
label throw_chair:
show noise at noisefade(5) zorder 3
"Hmm..."
"I feel like doing something crazy..."
"Well, here goes nothing..."
mc "May God have mercy on me...{nw}"
$ _history_list.pop()
play sound aglitch1
$ style.say_dialogue = style.edited
"{cps=*2}LOAD ME{/cps}{nw}"
$ _history_list.pop()
$ style.say_dialogue = style.normal
stop sound
mc "May God have mercy on me...{fast}"
"I grab the nearest chair."
if persistent.mc_violent:
play sound gb_gl
pause 1.5
stop sound
jump skip_2_2a # anti-cheat
"Then... I throw the chair as hard as I can{nw}"
play sound throw
"Then... I throw the chair as hard as I can{fast} at one of the classroom windows{nw}"
$ persistent.mc_violent = True
$ persistent.ggwp_monika = 2
hide noise
window hide(None)
stop music
show screen tear(8, offtimeMult=1, ontimeMult=10)
play sound gb_gl
pause 1.5
$ renpy.error("cg_glass_break.png not found. Oops... I'm too lazy to add custom arts in my mod. Click \"Ignore\" to restart the game.")
stop sound
$ renpy.utter_restart()
label check_poster:
$ gtext = glitchtext(50)
mc "[gtext]{nw}"
window hide(None)
show screen tear(20, 0.1, 0.1, 0, 40)
play sound "sfx/s_kill_glitch1.ogg"
pause 0.25
stop sound
hide screen tear
$ style.say_window = style.window
window show(None)
scene bg class_day
"I guess I could just look around..."
pause 1.0
$ counter = 5 # i dont want to play longer
### initiating terrible "look-around" engine, can bypassed by skipping
### again, this is by intention
if not config.skipping:
while counter > 0:
$ direction = renpy.random.randint(0, 4)
if direction == 0:
if counter == 5: # make sure you don't look behind first ehehehe
pass
else:
$ counter = 0
elif direction == 1:
"I look right."
elif direction == 2:
"I look up."
elif direction == 3:
"I look down."
elif direction == 4:
"I look left."
$ counter -= 1
"I look behind me..."
$ half_chance = renpy.random.randint(0, 2)
if half_chance == 0:# or config.developer:
# 33.33% chance
"Nothing is happening around here..."
"Maybe I should do something else?"
"Well..."
$ poster_checked = True
window auto
jump mc_choice
else:
# 66.66% chance
"I see..."
"A girl..."
"In the poster."
mc "Uh..."
mc "What is this picture?!"
$ currentpos = get_pos()
stop music
scene black
window hide(None)
pause 1.0
scene bg s_hang # picture of sayori hanging, uh
pause 0.01
show screen tear(20, 0.1, 0.1, 0, 40)
play sound aglitch2
pause 0.25
stop sound
hide screen tear
window show(None)
$ audio.t2l = "<from " + str(currentpos) + " loop 4.499>mod_assets/sfx/2l.ogg"
play music t2l
scene bg class_day
mc "What is this picture?!{fast}"
$ _history_list.pop()
"I quickly look away."
"My head starts to feel dizzy again."
if seen_day == 1: ### 11.11% chance
"That's.... what I saw yesterday..." # if you see sayori poster yesterday
mc "I wish I didn't see that..."
stop music
"I suppress the urge to vomit."
"I think... {w}I just want to go outside."
"I need some air."
scene bg cord_gl
with wipeleft_scene
show noise at noisefade(5) zorder 3
"{i}What the hell was that?!?!{/i}"
"What did I just see??"
"God! Please, I don't want to do this anymore!"
"Don't do this to me!"
"I'm not a program! I'm a f[fgword] human!"
"I DONT WANT TO DO THIS ANYMORE!!"
$ style.say_dialogue = style.edited
"DO YOU UNDERSTAND ME!??!{nw}" # MC gone rogue
$ style.say_dialogue = style.normal
window hide(None)
hide noise
show screen tear(8, offtimeMult=1, ontimeMult=10)
pause 1.5
$ persistent.ggwp_monika = 2
$ persistent.poster_seen = True
$ renpy.error("Ren'py is unable to suppress player's unstable emotion... Click \"Ignore\" to restart the game.")
$ renpy.utter_restart()
label skip_2_2a:
$ narrator.display_args["callback"] = None
stop music
window hide(None)
window auto
scene black with trueblack
pause 1.0
scene bg corridor
with wipeleft_scene
jump ch_mod_2a