stick-the-quick/sequences/HouseInterior/EntertainmentCenter.gd

115 lines
3.9 KiB
GDScript

extends Sequence
const VARS := {
&'stick': &'times interacted with entertainment center as Stick',
&'lorna': &'times interacted with entertainment center as Lorna',
&'blujai': &'times interacted with entertainment center as Blujai',
&'gibbo': &'times interacted with entertainment center as Gibbo'
}
func _run(_args: Dictionary) -> Variant:
var whom := Storyboard.get_current_character() as CharacterProfile
var n := Storyboard.save_data.misc.get(VARS[whom.id], 0) as int
n += 1
Storyboard.save_data.misc[VARS[whom.id]] = n
match whom.id:
&'stick': match n:
1: await whom.say([
"It's nothing fancy, but I have a couple good games on it."
])
2: await whom.say([
"Do you think it's weird a jogger plays video games?",
"Hey, I gotta unwind somehow."
])
3: await whom.say([
"I got Table Tennis, Table Tennis on Ice, Table Tennis 2,\n" +
"Table Tennis: Attack of the Killer Robot Ninja Pirate\n" +
"Tennis Balls from Outer Space feat. Dante\n" +
"from the Dante's Inferno series...",
"Just kidding!",
"Table Tennis on Ice isn't a real game."
])
_: await UI.say(["It's an entertainment center."])
&'lorna': match n:
1: await whom.say([
"What a peculiarly shaped table.\n" +
"What's this black monolith atop it?"
])
2: await whom.say([
"How do you suppose this is used?\n" +
"Perhaps it's a box for storing treasured belongings."
])
3: await whom.say([
"Stick, dear, come here, would you?\n" +
"I fear something may be wrong with your funny black box.\n" +
"There doesn't seem to be a way to open it."
])
_: await UI.say(["You remain unable to open the funny black box."])
&'blujai': match n:
1:
await whom.say([
"Video games? Really? Oh, Stick. Ever the mental child.",
"As for MY dignified self, I wouldn't be caught dead\n" +
"sullying my feathers playing the dratted things.",
"Caw! Huff. Video games indeed. How utterly pedestrian."
])
await Storyboard.get_character(&'stick').say([
"Of course it's pedestrian.\n" +
"What, you think a fella this fast\n" +
"has to take a car anywhere?"
])
var runner := PlayerControl.get_runner() as Runner
await runner.turn_toward(Vector3.ZERO)
runner.animation_player.play(&'caw')
runner.audio_player.stream = whom.talk_blip
runner.audio_player.play()
await Wait.seconds(0.5)
runner.animation_player.play(&'stand')
await whom.say([
"SQUAWK! S--Stick! You're at home!"
])
await Storyboard.get_character(&'stick').say([
"Nah, sorry, I'm out shopping."
])
await whom.say([
"Very funny."
])
await runner.turn_toward(Cursor3D.global_position)
await whom.say([
"Anyway, you don't even have very good taste.\n" +
"'Table Tennis 6: the Retennising?' Honestly, now.",
"If you're going to engage with this sort of swill,\n" +
"you should at least balance it out\n" +
"with some almost-tolerable titles,\n" +
"like 'Last Bird Standing.'",
"(do you have last bird standing\n" +
"can we play it together if you do\n" +
"please say yes please pls)"
])
_: await UI.say(["They don't have Last Bird Standing. Very sad."])
&'gibbo': match n:
1:
await whom.say([
"A washing machine?"
])
await Storyboard.get_character(&'stick').say([
"Does it look like a washing machine?"
])
var runner := PlayerControl.get_runner() as Runner
await runner.turn_toward(Vector3.ZERO)
await whom.say([
"Oh, hi, Stick! Yes, it does! Is it one?"
])
await Storyboard.get_character(&'stick').say([
"Yeah, I use it to wash my brain.\n" +
"You know how it is. Gotta keep that sucker clean."
])
await runner.turn_toward(Cursor3D.global_position)
await Wait.seconds(0.5)
await whom.say([
"Washing your brain... Whoa...",
"That's so cool!"
])
_: await UI.say(["This is where Stick washes their brain."])
return