summary refs log tree commit diff stats
path: root/res/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'res/scripts')
-rw-r--r--res/scripts/hallucination_interior.lua84
-rw-r--r--res/scripts/switched_interior.lua1
2 files changed, 81 insertions, 4 deletions
diff --git a/res/scripts/hallucination_interior.lua b/res/scripts/hallucination_interior.lua index dafe1fc..6679bab 100644 --- a/res/scripts/hallucination_interior.lua +++ b/res/scripts/hallucination_interior.lua
@@ -25,7 +25,7 @@ function hallucination_interior.talk_to_magic()
25 SetMovementSpeed("magic_dcmc", 1) 25 SetMovementSpeed("magic_dcmc", 1)
26 DirectSpriteToLocation("magic_dcmc", "magic_walkaway", PathfindingOptions.CARDINAL_DIRECTIONS_ONLY) 26 DirectSpriteToLocation("magic_dcmc", "magic_walkaway", PathfindingOptions.CARDINAL_DIRECTIONS_ONLY)
27 WaitForSpritePath("magic_dcmc") 27 WaitForSpritePath("magic_dcmc")
28 28
29 DisableSprite() 29 DisableSprite()
30 30
31 HideCutsceneBars() 31 HideCutsceneBars()
@@ -263,6 +263,10 @@ function hallucination_interior.switch_claus_attention()
263 263
264 RemoveExpression("switch_claus") 264 RemoveExpression("switch_claus")
265 265
266 if gamestate.switch_claus_map_change then
267 return
268 end
269
266 if gamestate.switch_claus_lost_interest then 270 if gamestate.switch_claus_lost_interest then
267 SetMovementSpeed("switch_claus", 1) 271 SetMovementSpeed("switch_claus", 1)
268 StartWandering("switch_claus") 272 StartWandering("switch_claus")
@@ -276,6 +280,10 @@ function hallucination_interior.switch_claus_attention()
276 WaitForSpritePath("switch_claus") 280 WaitForSpritePath("switch_claus")
277 end 281 end
278 282
283 if gamestate.switch_claus_map_change then
284 return
285 end
286
279 if gamestate.switch_claus_lost_interest then 287 if gamestate.switch_claus_lost_interest then
280 SetMovementSpeed("switch_claus", 1) 288 SetMovementSpeed("switch_claus", 1)
281 StartWandering("switch_claus") 289 StartWandering("switch_claus")
@@ -314,6 +322,9 @@ function hallucination_interior.lets_switch_places()
314 HideCutsceneBars() 322 HideCutsceneBars()
315 323
316 SetAnimation("switch_claus", "still") 324 SetAnimation("switch_claus", "still")
325
326 -- Just so we can get away, for now.
327 hallucination_interior.switch_claus_lose_interest()
317 else 328 else
318 DisplayMessage("* Huh? Why not?\n\f* You say I'm not real? I'm not Claus?\n\f* Oh, Lucas...", "Claus", SpeakerType.MAN) 329 DisplayMessage("* Huh? Why not?\n\f* You say I'm not real? I'm not Claus?\n\f* Oh, Lucas...", "Claus", SpeakerType.MAN)
319 WaitForEndOfMessage() 330 WaitForEndOfMessage()
@@ -330,8 +341,73 @@ function hallucination_interior.lets_switch_places()
330 WaitForEndOfMessage() 341 WaitForEndOfMessage()
331 342
332 -- TODO: let's switch places 343 -- TODO: let's switch places
333 end 344 ShakeCamera(100)
345 Delay(50)
346
347 gamestate.switch_claus_map_change = true
348
349 FadeToBlack(1)
350 ReturnCamera(1)
351 ChangeMap("switched_interior", "lucas_start", ChangeMapOptions.DO_NOT_FADE | ChangeMapOptions.DO_NOT_CHANGE_MUSIC)
352 DisablePlayerControl()
353 BreakUpParty("lucas")
354 MoveSpriteToWarp("kuma", "kuma_start")
355 MoveSpriteToWarp("duster", "duster_start")
356 MoveSpriteToWarp("boney", "boney_start")
357 SetDirection("lucas", Direction.RIGHT)
358 SetDirection("switch_claus", Direction.LEFT)
359 SetDirection("kuma", Direction.UP)
360 SetDirection("duster", Direction.UP)
361 SetDirection("boney", Direction.UP)
362 SetAnimation("lucas", "frozen")
363 SetAnimation("switch_claus", "frozen")
364 SetAnimation("kuma", "frozen")
365 SetAnimation("duster", "frozen")
366 SetAnimation("boney", "frozen")
367 FadeMap(1, 0.0)
368 StopShakingCamera()
369 RemoveFadeout(1)
370 Delay(1000)
371
372 SetAnimation("switch_claus", "talk")
373 DisplayMessage("* Look how much this is getting to you!\n\f* That's the thing about you.\nYou feel too much!\n\f* You think you're so strong but you're nothing like me.", "Claus", SpeakerType.MAN)
374 WaitForEndOfMessage()
375
376 SetAnimation("switch_claus", "frozen")
377 ShowExpression("kuma", "surprise")
378 Delay(500)
379
380 SetAnimation("kuma", "talk")
381 DisplayMessage("* What are we doing just standing around listening to smack talk from a nightmare?", "Kumatora", SpeakerType.WOMAN)
382 Delay(250)
334 383
335 -- Just so we can get away, for now. 384 RemoveExpression("kuma")
336 hallucination_interior.switch_claus_lose_interest() 385 WaitForEndOfMessage()
386
387 SetAnimation("kuma", "frozen")
388 SetAnimation("duster", "talk")
389 DisplayMessage("* It's not fair that the forest is doing this to you.\n\f* We'll get through this together, I promise.", "Duster", SpeakerType.MAN)
390 WaitForEndOfMessage()
391
392 SetAnimation("duster", "frozen")
393 Delay(2000)
394
395 SetAnimation("switch_claus", "talk")
396 DisplayMessage("* I'm going away now.\n\f* I hope you're happy.", "Claus", SpeakerType.MAN)
397 WaitForEndOfMessage()
398
399 SetAnimation("switch_claus", "frozen")
400 Delay(1000)
401
402 SetMovementSpeed("switch_claus", 1)
403
404 local switchClausId = getSpriteByAlias("switch_claus")
405 character():addSpriteToParty(switchClausId, getSpriteByAlias("kuma"))
406 character():addSpriteToParty(switchClausId, getSpriteByAlias("duster"))
407 character():addSpriteToParty(switchClausId, getSpriteByAlias("boney"))
408
409 UnpauseSprite("switch_claus")
410 DirectSpriteToLocation("switch_claus", "out_of_sight", PathfindingOptions.CARDINAL_DIRECTIONS_ONLY)
411 WaitForSpritePath("switch_claus")
412 end
337end 413end
diff --git a/res/scripts/switched_interior.lua b/res/scripts/switched_interior.lua new file mode 100644 index 0000000..3967515 --- /dev/null +++ b/res/scripts/switched_interior.lua
@@ -0,0 +1 @@
switched_interior = {}