From 7fa69be4e88f1fcf057871fec7e4503f50578465 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Mon, 1 Mar 2021 22:19:46 -0500 Subject: Started writing the Mixolydia scene! Looking pretty good so far. TODO: direction facing functions have inverted Y coordinate. confusion expression doesn't exist yet. rest of scene. --- res/scripts/pink_shell.lua | 148 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) (limited to 'res/scripts/pink_shell.lua') diff --git a/res/scripts/pink_shell.lua b/res/scripts/pink_shell.lua index 4223188..5747186 100644 --- a/res/scripts/pink_shell.lua +++ b/res/scripts/pink_shell.lua @@ -16,4 +16,152 @@ end function pink_shell.talk_to_mixolydia() SetDirection("mixolydia", Direction.UP) + SetAnimation("mixolydia", "talk") + StartCutscene() + DisplayMessage("* Oh, me, oh, my! We have visitors! `", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + + SetAnimation("mixolydia", "still") + Delay(500) + + SetDirection("mixolydia", Direction.DOWN) + Delay(1000) + + if gamestate.went_in_hot_spring then + SetAnimation("mixolydia", "talk") + DisplayMessage("* ...You people stink.", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + + SetAnimation("mixolydia", "still") + Delay(1000) + end + + FaceTowardSpriteCardinally("mixolydia", "lucas") + ShowExpression("mixolydia", "confusion") + Delay(1000) + + RemoveExpression("mixolydia") + SetAnimation("mixolydia", "talk") + DisplayMessage("* Oh, wait a minute...", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + + SetAnimation("mixolydia", "still") + Delay(1000) + + SetAnimation("mixolydia", "talk") + DisplayMessage("* Are you Lucas?", "Mixolydia", SpeakerType.WOMAN) + ShowChoice("Yes", "No") + WaitForEndOfMessage() + + if GetChoiceSelection() == 1 then + DisplayMessage("* This island really has done a number on you.\n\f* But I'll humor you and listen anyway.", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + end + + if gamestate.went_in_hot_spring then + SetAnimation("mixolydia", "still") + Delay(1000) + + SetAnimation("mixolydia", "talk") + DisplayMessage("* ...Wow, you guys really stink.", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + end + + SetAnimation("mixolydia", "still") + Delay(2000) + + SetAnimation("mixolydia", "talk") + DisplayMessage("* Ionia told me about you. `\n\f* I'm Mixolydia, one of the Magifolk. `\n\f* If that's too hard to remember, ...\n... no, will do just fine. `", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + + SetAnimation("mixolydia", "still") + Delay(2000) + + SetAnimation("mixolydia", "talk") + DisplayMessage("* Okay... Line up here.", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + + SetAnimation("mixolydia", "still") + Delay(1000) + + -- direct everyone to stand in their positions + BreakUpParty("lucas") + MakeSpriteNotSolid("lucas") + MakeSpriteNotSolid("mixolydia") + + UnpauseSprite("lucas") + SetMovementSpeed("lucas", 1) + DirectSpriteToLocation("lucas", "lucas_lineup", PathfindingOptions.CARDINAL_DIRECTIONS_ONLY) + WaitForSpritePath("lucas") + DisableBehaviour("lucas") + SetDirection("lucas", Direction.DOWN) + SetAnimation("lucas", "tired") + PauseSprite("lucas") + SetMovementSpeed("lucas", 2) + Delay(100) + + UnpauseSprite("kuma") + SetMovementSpeed("kuma", 1) + DirectSpriteToLocation("kuma", "kumatora_lineup", PathfindingOptions.CARDINAL_DIRECTIONS_ONLY) + WaitForSpritePath("kuma") + DisableBehaviour("kuma") + SetDirection("kuma", Direction.DOWN) + SetAnimation("kuma", "tired") + PauseSprite("kuma") + SetMovementSpeed("kuma", 0) + Delay(100) + + UnpauseSprite("duster") + SetMovementSpeed("duster", 1) + DirectSpriteToLocation("duster", "duster_lineup", PathfindingOptions.CARDINAL_DIRECTIONS_ONLY) + WaitForSpritePath("duster") + DisableBehaviour("duster") + SetDirection("duster", Direction.DOWN) + SetAnimation("duster", "tired") + PauseSprite("duster") + SetMovementSpeed("duster", 0) + Delay(100) + + UnpauseSprite("boney") + SetMovementSpeed("boney", 1) + DirectSpriteToLocation("boney", "boney_lineup", PathfindingOptions.CARDINAL_DIRECTIONS_ONLY) + WaitForSpritePath("boney") + DisableBehaviour("boney") + SetDirection("boney", Direction.DOWN) + SetAnimation("boney", "tired") + PauseSprite("boney") + SetMovementSpeed("boney", 0) + Delay(100) + + if gamestate.still_has_claus then + UnpauseSprite("join_claus") + SetMovementSpeed("join_claus", 1) + DirectSpriteToLocation("join_claus", "claus_lineup", PathfindingOptions.CARDINAL_DIRECTIONS_ONLY) + WaitForSpritePath("join_claus") + DisableBehaviour("join_claus") + SetDirection("join_claus", Direction.DOWN) + SetAnimation("join_claus", "tired") + PauseSprite("join_claus") + SetMovementSpeed("join_claus", 0) + end + + MakeSpriteSolid("lucas") + Delay(1000) + + if gamestate.went_in_hot_spring then + SetAnimation("mixolydia", "talk") + DisplayMessage("* ...Yuck. What a stench.", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + + SetAnimation("mixolydia", "still") + Delay(1000) + end + + SetAnimation("mixolydia", "talk") + DisplayMessage("* Tanetane Island...\nIt wreaks havoc on a person's mind.\n\f* Every trauma you've suffered is pulled out.\n\f* The things down there tear at your weaknesses and the scars in your heart.\n\f* But I'll bring you back to your senses now. `", "Mixolydia", SpeakerType.WOMAN) + WaitForEndOfMessage() + + SetAnimation("mixolydia", "still") + + -- TODO: rest of scene end -- cgit 1.4.1