Advertisement
Guest User

cutscene code

a guest
Feb 25th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. local vector2 = require("#microsoft.xna.framework.vector2")
  2. local calc = require("#Monocle.Calc")
  3.  
  4. local function dummyFloatTo(dummy, x, y)
  5. coroutine.yield(dummy:FloatTo(vector2(x, y)))
  6. end
  7.  
  8. local dummy
  9.  
  10. function onBegin()
  11. player.ForceCameraUpdate = true
  12. walk(240, false, 1.4, false)
  13. wait(0.4)
  14. run(24, true)
  15. say("CS_encounter")
  16. walk(-16, true, 1.4, false)
  17. wait(0.2)
  18. say("CS_encounterA")
  19. walk(-24, false, 1, false)
  20. player.DummyAutoAnimate = false
  21. player.Sprite:Play("sitDown", true)
  22. wait(0.2)
  23. say("CS_encounterB")
  24. wait(0.5)
  25. say("CS_encounterC")
  26. wait(0.6)
  27.  
  28. dummy = celeste.BadelineDummy(vector2(player.Position.X + 240, player.Position.Y - 8))
  29. playMusic("event:/new_content/music/lvl10/reconciliation")
  30. engine.Scene:Add(dummy)
  31. dummyFloatTo(dummy, player.Position.X + 80, player.Position.Y - 8)
  32. say("CS_appear")
  33. dummyFloatTo(dummy, player.Position.X + 40, player.Position.Y - 8)
  34. wait(0.2)
  35. say("CS_appearA")
  36. wait(0.3)
  37. dummyFloatTo(dummy, player.Position.X - 17, player.Position.Y - 5)
  38. wait(0.1)
  39. dummyFloatTo(dummy, player.Position.X - 16, player.Position.Y- 2)
  40. say("CS_appearB")
  41. wait(0.2)
  42. player.DummyAutoAnimate = false
  43. player.Sprite:Play("idle")
  44. wait(0.7)
  45. walk(25, false, 1.4, false)
  46. say("CS_appearC")
  47. walk(-5, false, 1, false)
  48. say("CS_appearD")
  49. dummyFloatTo(dummy, player.Position.X - 16, player.Position.Y - 2)
  50. say("CS_appearE")
  51. engine.Scene:NextColorGrade("none")
  52. wait(0.7)
  53. say("CS_appearF")
  54. wait(0.5)
  55. engine.Scene:Flash(calc.HexToColor("ffffff"), false)
  56. wait(0.2)
  57. walk(5, false, 1, false)
  58. player.DummyAutoAnimate = false
  59. player.Sprite:Play("shaking", true)
  60. say("CS_continue")
  61. wait(0.3)
  62. engine.Scene:Flash(calc.HexToColor("ffffff"), false)
  63. wait(0.2)
  64. engine.Scene:Flash(calc.HexToColor("ffffff"), false)
  65. for _, entity in ipairs(getEntities("CrumbleWallOnRumble")) do
  66. entity:Break()
  67. end
  68.  
  69. wait(0.3)
  70. player.DummyAutoAnimate = false
  71. player.Sprite:Play("idle")
  72. say("CS_continueA")
  73. walk(-5, false, 1, false)
  74. say("CS_continueB")
  75. dummyFloatTo(dummy, player.Position.X + 25, player.Position.Y - 2)
  76. walk(5, false, 1, false)
  77. say("CS_continueC")
  78. walk(8, false, 1.4, false)
  79. wait(0.2)
  80. dummyFloatTo(dummy, player.Position.X + 16, player.Position.Y - 2)
  81. wait(0.1)
  82. say("CS_continueD")
  83. dummy:Vanish()
  84.  
  85. player.DummyAutoAnimate = true
  86. enableMovement()
  87. end
  88.  
  89. function onEnd(level, wasSkippped)
  90. player.ForceCameraUpdate = false
  91. if wasSkipped then
  92. enableMovement()
  93. engine.Scene:SnapColorGrade("none")
  94. player.DummyAutoAnimate = true
  95.  
  96. if dummy then
  97. dummy:RemoveSelf()
  98. end
  99. for _, entity in ipairs(getEntities("CrumbleWallOnRumble")) do
  100. entity:Break()
  101. end
  102. playMusic("event:/new_content/music/lvl10/reconciliation")
  103. end
  104. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement