summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--res/maps/hallucination_hot_spring.tmx5
-rw-r--r--res/maps/hallucination_interior.tmx5
-rw-r--r--res/scripts/common.lua19
-rw-r--r--res/scripts/time_passage.lua7
-rw-r--r--res/scripts/time_passage_antechamber.lua5
-rw-r--r--res/scripts/underwater.lua14
-rw-r--r--res/scripts/underwater_start.lua5
-rw-r--r--res/sfx/exit_area.wavbin0 -> 15116 bytes
8 files changed, 58 insertions, 2 deletions
diff --git a/res/maps/hallucination_hot_spring.tmx b/res/maps/hallucination_hot_spring.tmx index d750a2b..7a8adf9 100644 --- a/res/maps/hallucination_hot_spring.tmx +++ b/res/maps/hallucination_hot_spring.tmx
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="32" height="16" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="5"> 2<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="32" height="16" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="6">
3 <properties> 3 <properties>
4 <property name="music" value="red_green_yellow_yellow"/> 4 <property name="music" value="red_green_yellow_yellow"/>
5 </properties> 5 </properties>
@@ -45,6 +45,9 @@
45 <property name="script" value="enter_hot_spring"/> 45 <property name="script" value="enter_hot_spring"/>
46 </properties> 46 </properties>
47 </object> 47 </object>
48 <object id="5" name="exit_area_from_underwater" type="warp" x="304" y="176">
49 <point/>
50 </object>
48 </objectgroup> 51 </objectgroup>
49 <layer id="1" name="Upper (most)" width="32" height="16"> 52 <layer id="1" name="Upper (most)" width="32" height="16">
50 <properties> 53 <properties>
diff --git a/res/maps/hallucination_interior.tmx b/res/maps/hallucination_interior.tmx index 734b113..6d3b88a 100644 --- a/res/maps/hallucination_interior.tmx +++ b/res/maps/hallucination_interior.tmx
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="64" height="64" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="4"> 2<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="64" height="64" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="5">
3 <properties> 3 <properties>
4 <property name="music" value="red_green_yellow_yellow"/> 4 <property name="music" value="red_green_yellow_yellow"/>
5 </properties> 5 </properties>
@@ -145,6 +145,9 @@
145 </properties> 145 </properties>
146 <point/> 146 <point/>
147 </object> 147 </object>
148 <object id="4" name="exit_area_from_time_passage" type="warp" x="144" y="592">
149 <point/>
150 </object>
148 </objectgroup> 151 </objectgroup>
149 <layer id="1" name="Upper" width="64" height="64"> 152 <layer id="1" name="Upper" width="64" height="64">
150 <properties> 153 <properties>
diff --git a/res/scripts/common.lua b/res/scripts/common.lua index 36ccc46..b0e555b 100644 --- a/res/scripts/common.lua +++ b/res/scripts/common.lua
@@ -522,3 +522,22 @@ function SetMovementSpeed(spriteName, speed)
522 local sprite = getSprite(spriteId) 522 local sprite = getSprite(spriteId)
523 sprite.movementSpeed = speed 523 sprite.movementSpeed = speed
524end 524end
525
526--- Performs the beginning of the exit area transition.
527-- This does the circle effect and plays the sound effect. The circle effect
528-- then gets removed and replaced with a screen fade.
529function ExitAreaTransition()
530 DisablePlayerControl()
531 --character():halt(getPlayerSprite())
532 coroutine.yield()
533 PlaySound("exit_area.wav")
534 FadeoutMusic(679)
535 effect():circleTransition(679, 1.0)
536 while not effect():isCircleTransitionComplete() do
537 coroutine.yield()
538 end
539 character():halt(getPlayerSprite())
540 FadeToBlack(1)
541 effect():circleTransition(1, 0.0)
542 Delay(1000)
543end
diff --git a/res/scripts/time_passage.lua b/res/scripts/time_passage.lua index 11d51a8..e91a1cc 100644 --- a/res/scripts/time_passage.lua +++ b/res/scripts/time_passage.lua
@@ -1,5 +1,12 @@
1time_passage = {} 1time_passage = {}
2 2
3function time_passage.exit_area()
4 ExitAreaTransition()
5 ChangeMap("hallucination_interior", "exit_area_from_time_passage", ChangeMapOptions.DO_NOT_FADE)
6 RemoveFadeout(1000)
7 EnablePlayerControl()
8end
9
3function time_passage.off_bottom() 10function time_passage.off_bottom()
4 ChangeMap("time_passage_antechamber", "fromTop") 11 ChangeMap("time_passage_antechamber", "fromTop")
5end 12end
diff --git a/res/scripts/time_passage_antechamber.lua b/res/scripts/time_passage_antechamber.lua index 5ccc3d4..73f4b0f 100644 --- a/res/scripts/time_passage_antechamber.lua +++ b/res/scripts/time_passage_antechamber.lua
@@ -1,5 +1,10 @@
1time_passage_antechamber = {} 1time_passage_antechamber = {}
2 2
3function time_passage_antechamber.exit_area()
4 loadMapScripts("time_passage")
5 time_passage.exit_area()
6end
7
3function time_passage_antechamber.enter_door() 8function time_passage_antechamber.enter_door()
4 CreateAnimatedSpriteAtWarpPoint("entryway", "entryway", "entryway_appear", "time_passage", Direction.DOWN, SpriteLayer.NORMAL) 9 CreateAnimatedSpriteAtWarpPoint("entryway", "entryway", "entryway_appear", "time_passage", Direction.DOWN, SpriteLayer.NORMAL)
5 PlaySound("door_open.wav") 10 PlaySound("door_open.wav")
diff --git a/res/scripts/underwater.lua b/res/scripts/underwater.lua index 0b62ff5..f0dd29f 100644 --- a/res/scripts/underwater.lua +++ b/res/scripts/underwater.lua
@@ -12,6 +12,20 @@ function underwater.leave()
12 SetAnimationSlowdown("lucas", 1) 12 SetAnimationSlowdown("lucas", 1)
13end 13end
14 14
15function underwater.exit_area()
16 ExitAreaTransition()
17 underwater.leave()
18 ChangeMap("hallucination_hot_spring", "exit_area_from_underwater", ChangeMapOptions.DO_NOT_FADE)
19 MoveSpriteToWarp("kuma", "exit_area_from_underwater")
20 MoveSpriteToWarp("duster", "exit_area_from_underwater")
21 MoveSpriteToWarp("boney", "exit_area_from_underwater")
22 character():addSpriteToParty(getPlayerSprite(), getSpriteByAlias("kuma"))
23 character():addSpriteToParty(getPlayerSprite(), getSpriteByAlias("duster"))
24 character():addSpriteToParty(getPlayerSprite(), getSpriteByAlias("boney"))
25 RemoveFadeout(1000)
26 EnablePlayerControl()
27end
28
15function underwater.fish2() 29function underwater.fish2()
16 StartCutscene() 30 StartCutscene()
17 DisplayMessage("* What are you complaining about?\nYou're so powerful now...\n\fYou owe it all to her.", "Fish", SpeakerType.BOY) 31 DisplayMessage("* What are you complaining about?\nYou're so powerful now...\n\fYou owe it all to her.", "Fish", SpeakerType.BOY)
diff --git a/res/scripts/underwater_start.lua b/res/scripts/underwater_start.lua index 7259d05..7f8ab62 100644 --- a/res/scripts/underwater_start.lua +++ b/res/scripts/underwater_start.lua
@@ -5,6 +5,11 @@ function underwater_start.init()
5 underwater.make_lucas_underwater() 5 underwater.make_lucas_underwater()
6end 6end
7 7
8function underwater_start.exit_area()
9 loadMapScripts("underwater")
10 underwater.exit_area()
11end
12
8function underwater_start.talk_to_fish1() 13function underwater_start.talk_to_fish1()
9 StartCutscene() 14 StartCutscene()
10 DisplayMessage("* You deserved what she did to you.", "Fish", SpeakerType.BOY) 15 DisplayMessage("* You deserved what she did to you.", "Fish", SpeakerType.BOY)
diff --git a/res/sfx/exit_area.wav b/res/sfx/exit_area.wav new file mode 100644 index 0000000..6de3b80 --- /dev/null +++ b/res/sfx/exit_area.wav
Binary files differ