From 254ecd9527c105a8e15174bbddf13dc1fb4f554a Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Mon, 22 Feb 2021 18:26:46 -0500 Subject: Re-dumped hallucination map/tileset The hallucination cliff area and the hot spring map have also been dumped now, but they have not been tested and likely need work because they use a third layer, which is not yet supported. However these all share a tileset now, yay! I added collision and run sounds back to the tiles and hopefully it matches up with what it was before. Also the maps have nicer names now. i.e. big change with no noticeable effects --- res/scripts/hallucination_interior.lua | 185 +++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 res/scripts/hallucination_interior.lua (limited to 'res/scripts/hallucination_interior.lua') diff --git a/res/scripts/hallucination_interior.lua b/res/scripts/hallucination_interior.lua new file mode 100644 index 0000000..f0716dc --- /dev/null +++ b/res/scripts/hallucination_interior.lua @@ -0,0 +1,185 @@ +hallucination_interior = {} + +function hallucination_interior.off_left() + ChangeMap("hallucination_beach", "fromRight") +end + +function hallucination_interior.mailbox1() + StartCutscene() + DisplayMessage("* The mailbox lid is open...\n* Peek inside?", "", SpeakerType.NONE) + ShowChoice("Yes", "No") + WaitForEndOfMessage() + + if GetChoiceSelection() == 0 then + DisplayMessage("* There are lots of postcards inside.\n* Read them?", "", SpeakerType.NONE) + ShowChoice("Yes", "No") + WaitForEndOfMessage() + + if GetChoiceSelection() == 0 then + DisplayMessage("* The boy named Lucas is crying at a grave.\n\f* The boy named Lucas and his dog are loitering in the forest.\n\f* The boy named Lucas is getting into trouble in the mountains.\n\f* The boy named Lucas stole Beanoff from our garden.\n\f* The boy named Lucas is bullying animals.\n\f* The boy named Lucas learned some bad magic.\n\f* The boy named Lucas ......\n\f* The boy named Lucas ......\n\f* The boy named Lucas ......\n\f* The boy named Lucas .........\n\f* The mailbox let out a tremendous scream.", "", SpeakerType.NONE) + WaitForEndOfMessage() + end + end + + HideCutsceneBars() +end + +function hallucination_interior.join_claus() + StartCutscene() + SetAnimation("join_claus", "talk") + DisplayMessage("* Say, Lucas. Whatcha up to?\n\f* It looks so fun! Let me join you!", "Claus", SpeakerType.MAN) + ShowChoice("Yes", "No") + WaitForEndOfMessage() + + if GetChoiceSelection() == 0 then + DisplayMessage("* Yes!\n\f* Okay, then I'll be at the very end!\n* Thanks!", "Claus", SpeakerType.MAN) + WaitForEndOfMessage() + + local clausId = getSpriteByAlias("join_claus") + character():addSpriteToParty(getPlayerSprite(), clausId) + transform():undoCollision(clausId) + + local clausSprite = getSprite(clausId) + clausSprite.persistent = true + else + DisplayMessage("* You won't let me join in?\nWhy not? Why not?\n\f* Why won't you let me join in?", "Claus", SpeakerType.MAN) + WaitForEndOfMessage() + end + + SetAnimation("join_claus", "still") + HideCutsceneBars() +end + +function hallucination_interior.mailbox_lightning() + StartCutscene() + DisplayMessage("* The mailbox lid is open...\n* Peek inside?", "", SpeakerType.NONE) + ShowChoice("Yes", "No") + WaitForEndOfMessage() + + if GetChoiceSelection() == 1 then + HideCutsceneBars() + return + end + + FadeMap(500, 0.5) + WaitForMapFade() + + DisplayMessage("* ...?", "", SpeakerType.NONE) + WaitForEndOfMessage() + + PlaySound("lightning_crackle.wav") + Delay(1196) + + local lucasPos = GetPosition("lucas") + CreateAnimatedSpriteAtPosition("lightning_from_mailbox", "lightning", lucasPos:x() + 56, lucasPos:y() - 72, "strike", Direction.DOWN_LEFT, SpriteLayer.ABOVE) + + ShakeCamera(66) + PlaySound("lightning_explosion.wav") + SetDirection("lucas", Direction.DOWN) + SetAnimation("lucas", "lightning_electrocute!") + WaitForAnimation("lucas") + + StopShakingCamera() + DestroyNamedSprite("lightning_from_mailbox") + SetAnimation("lucas", "lightning_collapse!") + WaitForAnimation("lucas") + + FadeMap(500, 0.0) + WaitForMapFade() + + DisplayMessage("* It was lightning.\n\fAh.", "", SpeakerType.NONE) + WaitForEndOfMessage() + HideCutsceneBars(CutsceneOptions.DO_NOT_CHANGE_ANIMATION) +end + +function hallucination_interior.approach_doria() + if gamestate.approached_doria then + return + end + + gamestate.approached_doria = true + + StartCutscene() + SetDirection("boney", Direction.LEFT) + SetAnimation("boney", "barking") + local barkingNoise = LoopSound("barking_at_hallucination.wav") + Delay(200) + + ShowExpression("lucas", "surprise") + SetDirection("lucas", Direction.LEFT) + Delay(100) + + ShowExpression("kuma", "surprise") + ShowExpression("duster", "surprise") + SetDirection("kuma", Direction.LEFT) + SetDirection("duster", Direction.LEFT) + Delay(1000) + + PanToSprite("doria", 2000) + Delay(500) + + RemoveExpression("lucas") + RemoveExpression("kuma") + RemoveExpression("duster") + WaitForPan() + + SetDirection("doria", Direction.DOWN_RIGHT) + SetAnimation("doria", "talk") + ShowExpression("doria", "surprise") + DisplayMessage("* Oh my!\n\f* Is that our little Kumatora I spy? `", "Doria", SpeakerType.MAN) + Delay(1000) + + RemoveExpression("doria") + WaitForEndOfMessage() + + SetAnimation("doria", "still") + ReturnCamera(2000) + Delay(1000) + SetAnimation("kuma", "talk") + DisplayMessage("* Doria...?\n\f* What the hell... You're still alive?", "Kumatora", SpeakerType.WOMAN) + WaitForEndOfMessage() + + SetAnimation("boney", "crouch") + StopSound(barkingNoise) + PlaySound("boney_growl.wav") + SetAnimation("kuma", "frozen") + Delay(1000) + + SetAnimation("doria", "talk") + DisplayMessage("* It is! It is her!\n\f* Such style! Such swagger!\nWhy, just as if she were Magifolk herself! `\n* When Ionia showed us the human she was looking after, I hardly knew what to think.", "Doria", SpeakerType.MAN) + WaitForEndOfMessage() + + SetDirection("doria", Direction.DOWN) + SetAnimation("doria", "hearts") + DisplayMessage("* But what a lovely lady you've become!\n\f* You've made this old girl cry with pride! `", "Doria", SpeakerType.MAN) + WaitForEndOfMessage() + + SetDirection("doria", Direction.DOWN_RIGHT) + SetAnimation("doria", "talk") + DisplayMessage("* Now I shudder to think how I'll move on once your short human life is over.\n* Ooh, get another one, I suppose!\nYes, we'll just get another human. `\nAnd the new Kumatora will be just as good, no, better than the last one!", "Doria", SpeakerType.MAN) + WaitForEndOfMessage() + + SetDirection("doria", Direction.DOWN) + SetAnimation("doria", "hairflip!") + WaitForAnimation("doria") + + SetAnimation("doria", "still") + Delay(1000) + + SetAnimation("kuma", "talk") + DisplayMessage("* H-hey, what do you mean ?", "Kumatora", SpeakerType.WOMAN) + WaitForEndOfMessage() + + HideCutsceneBars() +end + +function hallucination_interior.talk_to_ionia() + Halt("ionia") + StartCutscene() + SetAnimation("ionia", "talk") + DisplayMessage("* Kumatora!", "Ionia", SpeakerType.MAN) + WaitForEndOfMessage() + + SetAnimation("ionia", "still") + HideCutsceneBars() +end -- cgit 1.4.1