stick-the-quick/test/ConversationTest.gd

190 lines
5.3 KiB
GDScript3
Raw Normal View History

extends Control
@onready var stick := (
load('res://characters/playable/Stick/StickProfile.tres')
) as CharacterProfile
@onready var lorna := (
load('res://characters/playable/Lorna/LornaProfile.tres')
) as CharacterProfile
@onready var blujai := (
load('res://characters/playable/Blujai/BlujaiProfile.tres')
) as CharacterProfile
@onready var gibbo := (
load('res://characters/playable/Gibbo/GibboProfile.tres')
) as CharacterProfile
func _ready() -> void:
await stick.say(
"What the... What happened?"
)
await gibbo.say(
"I was out picking berries, and now I'm here. But why? How?"
)
await blujai.say(
"Caw! I must say, this dreadful gray does my plumage no favors."
)
match await blujai.say(
"You there. The lively one with the headband. " +
"Have you any idea where we are?",
{
&'choices': [
"No",
"Wait, isn't this...?"
],
&'default_choice': "No",
&'cancel_choice': "No"
}
):
"No":
await stick.say("No, not a clue.")
await blujai.say("Harumpf. How troubling.")
"Wait, isn't this...?":
await stick.say("Wait, I feel like I've seen this place before...")
await stick.say("... No, never mind, the feeling's gone.")
await blujai.say("Wow. Thank you. Very helpful.")
await gibbo.say(
"Hey! Don't be mean to them. They tried."
)
await lorna.say(
"I cannot feel the call of the Tachyohedra here.\n" +
"I can only conclude this is some place beyond time..."
)
await lorna.say(
"... or, perhaps, before it."
)
await gibbo.say(
"What do you mean by that?"
)
await lorna.say(
"This gray void remembers me of my homeland, the World of Forms.\n" +
"If my intuition is correct, we have found the birthplace " +
"of this world."
)
await stick.say(
"This world... was born here?"
)
await lorna.say(
"No. It [color=yellow]will[/color] be."
)
await stick.say(
"Huh?"
)
await gibbo.say(
"But isn't the world already here?"
)
await lorna.say(
"No, I do not believe so... If it were, we would see it there, " +
"in the distance.\nWithin these winding halls of ideals " +
"wait all realizations thereof\nwhich have come to pass thus far."
)
await blujai.say(
"Caw! I beg your pardon, little... rabbit, um... creature.\n" +
"But if the world has yet to be born, then why do we remember it?"
)
await lorna.say(
"I assume this is because the fabric of time has been rent asunder."
)
await gibbo.say(
"Sorry..."
)
await lorna.say(
"There, there, my child. You are forgiven. " +
"I know you knew not what forces you trifled with."
)
await stick.say(
"Wait, your \"child?\""
)
await blujai.say(
"And the forces he trifled with, was it?"
)
await lorna.say(
"Yes. All three of you are my darling children, for I am Lorna, " +
"the Platonic ideal of motherhood.\nYou might know me by the name " +
"\"mother nature.\""
)
await lorna.say(
"Gibbo here... well, why don't you tell them, Gibbo?"
)
await gibbo.say(
"I... don't really want to..."
)
await lorna.say(
"Very well. Gibbo was out on a picnic and found a rift " +
"leading to the Outer Ring of the Great Tesseract -- " +
"that manifold in which dwells the Universe. " +
"He tossed a stone through to see what would happen, but, well... " +
"He is very strong, you see. Unnaturally strong. So strong " +
"that his throw shattered the Tesseract on impact."
)
await gibbo.say(
"I said I was sorry!"
)
await lorna.say(
"And I said you are forgiven. It does not change " +
"what you have done, nor that something must be done about it."
)
await stick.say(
"What has to be done about it?"
)
await lorna.say(
"You will know soon enough. I am going to need help " +
"from all three of you."
)
await lorna.say(
"In the meantime, though we [color=yellow]cannot see them[/color], " +
"I believe [color=yellow]someone[/color] needs to get back to work " +
"incubating this world. Come with me, children. I know the way home."
)
await blujai.say(
"But we have no home, do we? That is, if indeed it has yet to be born."
)
await lorna.say(
"Until then, we will wait in the abyss of non-being. " +
"We will have to wait a long time, but you need not fret, " +
"my children, for to us, it will seem to take no time at all."
)
await blujai.say(
"Alright... If you say so."
)
await blujai.say(
"And as for [color=yellow]you[/color]... I don't know " +
"who's out there that she was talking about, but whoever you are, " +
"I expect you'll create a fine world for us, yes? " +
"Do take your time and do it properly, now. "
)
await gibbo.say(
"But not [color=yellow]too[/color] \"properly,\" woof. " +
"Don't tire yourself out! Just make it however feels right!"
)
await stick.say(
"Yeah, I think so, too. If you do that, " +
"I think it'll all turn out alright."
)
await gibbo.say(
"I guess we're going for now! Bye-bye!"
)
await blujai.say(
"Farewell. When next we meet, I'm given to understand " +
"it will be in a brand new, vibrant world!"
)
await stick.say(
"That time will roll around before you know it!"
)
match await UI.say(
"The dialogue UI works already! Now go do something else!",
{
&'choices': [
"OK",
"I don't feel like it"
]
}
):
"OK": pass
"I don't feel like it":
await UI.say(
"Alright, alright. Take a break, then."
)
func _process(_delta: float) -> void:
UI.Return(self, true)