shoDater/scenes/quiz/assets/scripts/dialog.gd

210 lines
6.0 KiB
GDScript3
Raw Permalink Normal View History

2024-07-19 01:26:40 +01:00
extends RichTextLabel
var dnum
var displaying = false
var currentlyDisplaying = ""
var secretCode = randi_range(100000, 999999)
var quizCorrect = false
var quizAnswered = false
var freeze = false
signal gabeTrigger
signal gabeExit
signal shounicTrigger
signal shounicExit
signal fadeToBlack
signal unfade
func _ready():
dnum = 0
displaySlow("A peaceful day in VALVe HQ")
unfade.emit()
func displaySlow(txt):
currentlyDisplaying = txt
displaying = true
var doneChars = ""
for character in txt:
if displaying:
doneChars = doneChars + character
await get_tree().create_timer(0.015).timeout
if displaying:
text = doneChars
if not get_child(0).playing:
get_child(0).play()
else:
break
else:
break
currentlyDisplaying = ""
displaying = false
func _on_continue_pressed():
if not currentlyDisplaying and not freeze:
match dnum:
-1:
var save = FileAccess.open("user://secrets.sds", FileAccess.WRITE)
save.store_line("quizSecretOne = " + str(secretCode))
2024-07-19 01:26:40 +01:00
text = "Psst, use code " + str(secretCode) + "!"
dnum = -2
0:
displaySlow("Oh?")
1:
gabeTrigger.emit()
displaySlow("Hi, I'm Gabe Newell!")
get_parent().get_child(1).text = "Gabe Newell"
get_parent().get_child(1).visible = true
2:
displaySlow("I'd like to invite you to a quiz at VALVe HQ!")
3:
displaySlow("It's a TF2 Trivia thing. You will be going against many famous TF2ubers, like Shounic... Shounic... and erm, shounic (we couldn't get permission from LazyPurple).")
4:
displaySlow("Will you accept?")
get_node("/root/Control/Continue").visible = false
get_node("/root/Control/YesNo").visible = true
6:
displaySlow("I'll see you then soon!")
fadeToBlack.emit()
7:
get_parent().get_child(1).visible = false
displaySlow("2 Hours later...")
unfade.emit()
8:
get_parent().get_child(1).visible = true
displaySlow("Hi!")
9:
displaySlow("The quiz is ready now! I'll go call shounic.")
gabeExit.emit()
10:
get_parent().get_child(1).text = "Shounic"
displaySlow("Hi.")
shounicTrigger.emit()
11:
displaySlow("So apparently to celebrate them embracing treadmill work, we are doing a trivia quiz.")
12:
displaySlow("Neat.")
13:
displaySlow("What's your name?")
14:
displaySlow("Your name is \"Chat\"? That's a very strange name.")
15:
displaySlow("It also sounds oddly familiar...")
16:
displaySlow("Anyways, let's get on with the quiz.")
17:
shounicExit.emit()
gabeTrigger.emit()
get_node("/root/Control/Continue").visible = false
get_parent().get_child(1).text = "Gabe Newell"
displaySlow("Which one of these is not a real item?")
get_node("/root/Control/QuizAnswers").visible = true
for i in range(500):
await get_tree().create_timer(0.01).timeout
if quizAnswered:
break
get_node("/root/Control/QuizAnswers").visible = false
get_node("/root/Control/Continue").visible = true
get_parent().get_child(1).text = "Shounic"
if !quizCorrect:
dnum = 21
get_node("/root/Control/Continue").emit_signal("pressed")
gabeExit.emit()
shounicTrigger.emit()
18:
displaySlow("That's... right (it got removed).")
19:
get_parent().get_child(1).text = "Gabe Newell"
displaySlow("Welp, that's all we have time for. See you in another 2-4 years for the next quiz!")
20:
get_parent().get_child(1).text = "Shounic"
displaySlow("That was underwealming...")
var transparency = 0
freeze = true
for i in range(100):
transparency += 0.01
await get_tree().create_timer(0.01).timeout
get_node("/root/Control/FadeToBlack").color = Color(0, 0, 0, transparency)
await get_tree().create_timer(0.01).timeout
get_tree().change_scene_to_file("res://scenes/house/house.tscn")
21:
displaySlow("It's the community jarate. It used to exist but got removed.")
dnum = 20
22:
freeze = true
displaySlow("Congratulations. You are a loser.")
var transparency = 0
for i in range(100):
transparency += 0.01
await get_tree().create_timer(0.01).timeout
get_node("/root/Control/FadeToBlack").color = Color(0, 0, 0, transparency)
await get_tree().create_timer(0.01).timeout
get_tree().change_scene_to_file("res://scenes/house/house.tscn")
dnum += 1
elif not freeze:
displaying = false
text = currentlyDisplaying
currentlyDisplaying = ""
func _on_no_pressed():
if not currentlyDisplaying:
match dnum:
5:
get_parent().get_child(1).visible = false
get_node("/root/Control/YesNo").visible = false
get_node("/root/Control/Continue").visible = true
displaySlow("You get up slowly, and leave the building")
var save = FileAccess.open("user://endings.sds", FileAccess.WRITE)
save.store_line("end_bldleave = 1")
2024-07-19 01:26:40 +01:00
var transparency = 0
dnum = -2
for i in range(100):
transparency += 0.01
await get_tree().create_timer(0.01).timeout
get_node("/root/Control/FadeToBlack").color = Color(0, 0, 0, transparency)
await get_tree().create_timer(0.01).timeout
get_tree().change_scene_to_file("res://scenes/menu/menu.tscn")
dnum += 1
else:
displaying = false
text = currentlyDisplaying
currentlyDisplaying = ""
func _on_yes_pressed():
if not currentlyDisplaying:
match dnum:
5:
get_node("/root/Control/YesNo").visible = false
get_node("/root/Control/Continue").visible = true
displaySlow("Great!")
dnum += 1
else:
displaying = false
text = currentlyDisplaying
currentlyDisplaying = ""
func _on_three_years_pressed():
if not currentlyDisplaying:
quizAnswered = true
else:
displaying = false
text = currentlyDisplaying
currentlyDisplaying = ""
func _on_five_years_pressed():
if not currentlyDisplaying:
quizAnswered = true
else:
displaying = false
text = currentlyDisplaying
currentlyDisplaying = ""
func _on_nine_years_pressed():
if not currentlyDisplaying:
quizCorrect = true
quizAnswered = true
else:
displaying = false
text = currentlyDisplaying
currentlyDisplaying = ""