summary refs log tree commit diff stats
path: root/scripts
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2018-05-17 15:55:37 -0400
committerGitHub <noreply@github.com>2018-05-17 15:55:37 -0400
commit90aadf3844386824140a20d7fbb847bc16009a94 (patch)
tree6f83fce90e71abb22b1a8f3e09c79963b2a34d5d /scripts
parentbc63fa57ced1c7329f7fdcfd168eaf7e290158bc (diff)
parent86f0106d0523825549f1e74b835688c78a10cf6c (diff)
downloadtherapy-90aadf3844386824140a20d7fbb847bc16009a94.tar.gz
therapy-90aadf3844386824140a20d7fbb847bc16009a94.tar.bz2
therapy-90aadf3844386824140a20d7fbb847bc16009a94.zip
Merge pull request #7 from hatkirby/es-rewrite
The ECS rewrite exceeds the original branch in functionality, so it is time to merge it in.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/checkpoint.lua19
-rw-r--r--scripts/common.lua21
-rw-r--r--scripts/movplat.lua8
3 files changed, 48 insertions, 0 deletions
diff --git a/scripts/checkpoint.lua b/scripts/checkpoint.lua new file mode 100644 index 0000000..04cf357 --- /dev/null +++ b/scripts/checkpoint.lua
@@ -0,0 +1,19 @@
1checkpoint = {}
2
3function checkpoint.OnTouch(id, player)
4 curMap = entity.new(realizing().activeMap)
5
6 if not player:playable().checkpointMapObject or
7 not curMap:mappable().mapId == player:playable().checkpointMapId or
8 not id:prototypable().mapObjectIndex ==
9 player:playable().checkpointMapObjectIndex then
10
11 player:playable().checkpointMapObject = true
12 player:playable().checkpointMapId = curMap:mappable().mapId
13 player:playable().checkpointMapObjectIndex =
14 id:prototypable().mapObjectIndex
15 player:playable().checkpointPos = player:transformable().pos
16
17 playSound("res/Pickup_Coin23.wav", 0.25)
18 end
19end
diff --git a/scripts/common.lua b/scripts/common.lua new file mode 100644 index 0000000..d84d97d --- /dev/null +++ b/scripts/common.lua
@@ -0,0 +1,21 @@
1function waitForTick()
2 return coroutine.yield()
3end
4
5function moveLeft(id, len, speed)
6 local remaining = len / speed
7
8 while (remaining > 0) do
9 id:ponderable().vel.x = -speed
10 remaining = remaining - waitForTick()
11 end
12end
13
14function moveRight(id, len, speed)
15 local remaining = len / speed
16
17 while (remaining > 0) do
18 id:ponderable().vel.x = speed
19 remaining = remaining - waitForTick()
20 end
21end
diff --git a/scripts/movplat.lua b/scripts/movplat.lua new file mode 100644 index 0000000..21cc61a --- /dev/null +++ b/scripts/movplat.lua
@@ -0,0 +1,8 @@
1movplat = {}
2
3function movplat.Behavior(id)
4 while true do
5 moveRight(id, 90, 30)
6 moveLeft(id, 90, 30)
7 end
8end