summary refs log tree commit diff stats
path: root/res
diff options
context:
space:
mode:
Diffstat (limited to 'res')
-rw-r--r--res/maps/map2.tmx5
-rw-r--r--res/scripts/common.lua24
-rw-r--r--res/scripts/map2.lua9
-rw-r--r--res/sprites/lightning.pngbin0 -> 11405 bytes
-rw-r--r--res/sprites/lightning_anim.txt3
-rw-r--r--res/sprites/lightning_frames.txt14
-rw-r--r--res/sprites/lucas_anim.txt3
7 files changed, 55 insertions, 3 deletions
diff --git a/res/maps/map2.tmx b/res/maps/map2.tmx index 6316ef5..f6d6dd2 100644 --- a/res/maps/map2.tmx +++ b/res/maps/map2.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="6"> 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="7">
3 <tileset firstgid="1" name="fromRom" tilewidth="16" tileheight="16" tilecount="180" columns="10"> 3 <tileset firstgid="1" name="fromRom" tilewidth="16" tileheight="16" tilecount="180" columns="10">
4 <image source="map2_tiles.png" width="160" height="288"/> 4 <image source="map2_tiles.png" width="160" height="288"/>
5 <tile id="61"> 5 <tile id="61">
@@ -657,6 +657,9 @@
657 </properties> 657 </properties>
658 <point/> 658 <point/>
659 </object> 659 </object>
660 <object id="6" name="debugWarp_mailboxes" type="warp" x="598.667" y="420.667">
661 <point/>
662 </object>
660 </objectgroup> 663 </objectgroup>
661 <layer id="1" name="Layer 0" width="64" height="64"> 664 <layer id="1" name="Layer 0" width="64" height="64">
662 <data encoding="csv"> 665 <data encoding="csv">
diff --git a/res/scripts/common.lua b/res/scripts/common.lua index 3db1b26..04f6c5a 100644 --- a/res/scripts/common.lua +++ b/res/scripts/common.lua
@@ -25,6 +25,11 @@ CharacterState = {
25 RUNNING = 3 25 RUNNING = 3
26} 26}
27 27
28SpriteLayer = {
29 NORMAL = 0,
30 ABOVE = 1
31}
32
28function StartCutscene() 33function StartCutscene()
29 local playerId = getPlayerSprite() 34 local playerId = getPlayerSprite()
30 local playerSprite = getSprite(playerId) 35 local playerSprite = getSprite(playerId)
@@ -59,6 +64,12 @@ function HideCutsceneBars()
59 playerSprite.controllable = true 64 playerSprite.controllable = true
60end 65end
61 66
67function GetPosition(spriteName)
68 local spriteId = getSpriteByAlias(spriteName)
69 local sprite = getSprite(spriteId)
70 return sprite.loc
71end
72
62function SetDirection(spriteName, dir) 73function SetDirection(spriteName, dir)
63 local spriteId = getSpriteByAlias(spriteName) 74 local spriteId = getSpriteByAlias(spriteName)
64 animation():setSpriteDirection(spriteId, dir) 75 animation():setSpriteDirection(spriteId, dir)
@@ -137,3 +148,16 @@ function ChangeMap(map, warp)
137 RemoveFadeout(150) 148 RemoveFadeout(150)
138 newPlayerSprite.controllable = true 149 newPlayerSprite.controllable = true
139end 150end
151
152function CreateAnimatedSpriteAtPosition(alias, character, x, y, animName, direction, layer)
153 local spriteId = emplaceSprite(alias)
154 transform():initSprite(spriteId, x, y, layer)
155 animation():initSprite(spriteId, "../res/sprites/" .. character .. "_anim.txt")
156 animation():setSpriteDirection(spriteId, direction)
157 animation():setSpriteAnimation(spriteId, animName)
158end
159
160function DestroyNamedSprite(alias)
161 local spriteId = getSpriteByAlias(alias)
162 destroySprite(spriteId)
163end
diff --git a/res/scripts/map2.lua b/res/scripts/map2.lua index 3bc9eff..1ef1235 100644 --- a/res/scripts/map2.lua +++ b/res/scripts/map2.lua
@@ -29,8 +29,15 @@ function map2.mailbox_lightning()
29 DisplayMessage("* ...?", "", SpeakerType.NONE) 29 DisplayMessage("* ...?", "", SpeakerType.NONE)
30 WaitForEndOfMessage() 30 WaitForEndOfMessage()
31 31
32 local lucasPos = GetPosition("lucas")
33 CreateAnimatedSpriteAtPosition("lightning_from_mailbox", "lightning", lucasPos:x() + 56, lucasPos:y() - 72, "strike", Direction.DOWN_LEFT, SpriteLayer.ABOVE)
34
32 SetDirection("lucas", Direction.DOWN) 35 SetDirection("lucas", Direction.DOWN)
33 SetAnimation("lucas", "electrocute!") 36 SetAnimation("lucas", "lightning_electrocute!")
37 WaitForAnimation("lucas")
38
39 DestroyNamedSprite("lightning_from_mailbox")
40 SetAnimation("lucas", "lightning_collapse!")
34 WaitForAnimation("lucas") 41 WaitForAnimation("lucas")
35 42
36 DisplayMessage("* It was lightning.\n\fAh.", "", SpeakerType.NONE) 43 DisplayMessage("* It was lightning.\n\fAh.", "", SpeakerType.NONE)
diff --git a/res/sprites/lightning.png b/res/sprites/lightning.png new file mode 100644 index 0000000..c456338 --- /dev/null +++ b/res/sprites/lightning.png
Binary files differ
diff --git a/res/sprites/lightning_anim.txt b/res/sprites/lightning_anim.txt new file mode 100644 index 0000000..bafb68d --- /dev/null +++ b/res/sprites/lightning_anim.txt
@@ -0,0 +1,3 @@
1../res/sprites/lightning.png
2../res/sprites/lightning_frames.txt
3strike[down_left]: 0,1,3,2 \ No newline at end of file
diff --git a/res/sprites/lightning_frames.txt b/res/sprites/lightning_frames.txt new file mode 100644 index 0000000..4a8fee5 --- /dev/null +++ b/res/sprites/lightning_frames.txt
@@ -0,0 +1,14 @@
1160,128 cell size
210 frames per row
310 frames
4
5112,128,60,56
6128,128,72,64
7116,128,64,64
8116,128,64,64
988,96,40,96
1088,96,40,96
1180,96,40,96
12160,32,123,83
13160,32,123,91
14160,32,123,91
diff --git a/res/sprites/lucas_anim.txt b/res/sprites/lucas_anim.txt index 12a373e..d03e213 100644 --- a/res/sprites/lucas_anim.txt +++ b/res/sprites/lucas_anim.txt
@@ -32,4 +32,5 @@ run[up]: 71,79,87,95
32run[up_right]: 72,80,88,96 32run[up_right]: 72,80,88,96
33run[right]: 73,81,89,97 33run[right]: 73,81,89,97
34run[down_right]: 74,82,90,98 34run[down_right]: 74,82,90,98
35electrocute![down]: 116,117,118,116,117,118,116,117,118,119,120,121,122 \ No newline at end of file 35lightning_electrocute![down]: 116,117,118,116,117,118,116,117,118,116
36lightning_collapse![down]: 119,120,121,122 \ No newline at end of file