diff options
Diffstat (limited to 'res/scripts')
-rw-r--r-- | res/scripts/hallucination_interior.lua | 84 | ||||
-rw-r--r-- | res/scripts/switched_interior.lua | 1 |
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 | ||
337 | end | 413 | end |
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 = {} | |||