Created
August 10, 2017 14:35
-
-
Save anonymous/4d8e47dff3fe7828d76382ec22816530 to your computer and use it in GitHub Desktop.
title
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in http://www.puzzlescript.net/editor.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title Lumberjack Island with teleporters | |
author doggo garden | |
noaction | |
run_rules_on_level_start | |
verbose_logging | |
======== | |
OBJECTS | |
======== | |
Background | |
Blue | |
Land | |
Yellow | |
Quicksave | |
#f7de4d | |
..... | |
.0.0. | |
..0.. | |
.0.0. | |
..... | |
PlayerNormal | |
Orange Red Brown LightGrey | |
..0.. | |
.111. | |
02223 | |
.1133 | |
.0.0. | |
PlayerBalancingTop | |
Orange Red Brown LightGrey | |
..... | |
..... | |
..... | |
..0.. | |
.111. | |
PlayerBalancing | |
Orange Red Brown LightGrey | |
02223 | |
.1133 | |
.0.0. | |
..... | |
..... | |
TreeTop | |
Brown LightGreen | |
..... | |
...1. | |
1.1.. | |
.111. | |
110.1 | |
Tree | |
Brown LightGreen | |
100.. | |
.00.. | |
.00.. | |
.00.. | |
..... | |
TreeStump | |
Brown LightBrown LightGreen | |
...2. | |
21122 | |
211.. | |
.00.. | |
..22. | |
LogV | |
Brown LightBrown | |
.00.. | |
.00.. | |
.00.. | |
.00.. | |
.00.. | |
LogVOnTreeStumpTop | |
Brown LightBrown | |
..... | |
..... | |
..... | |
..... | |
.00.. | |
LogVOnTreeStump | |
Brown LightBrown | |
.00.. | |
.00.. | |
.00.. | |
.00.. | |
..... | |
LogH | |
Brown | |
..... | |
..... | |
00000 | |
00000 | |
..... | |
LogHOnTreeStump | |
Brown #844f15 | |
..... | |
00000 | |
00000 | |
.11.. | |
..... | |
LogStanding | |
Brown LightBrown | |
.11.. | |
.00.. | |
.00.. | |
.00.. | |
..... | |
LogStandingTop | |
Brown LightBrown | |
..... | |
..... | |
..... | |
..... | |
.11.. | |
LogStandingOnTreeStump | |
Brown #844f15 | |
.00.. | |
.00.. | |
.00.. | |
.11.. | |
..... | |
LogStandingOnTreeStumpTop | |
Brown LightBrown | |
..... | |
..... | |
..... | |
.11.. | |
.11.. | |
RaftVOnLand | |
Brown LightBrown DarkBrown | |
00.00 | |
22222 | |
00.00 | |
22222 | |
00.00 | |
(11.11 | |
11211) | |
RaftHOnLand | |
Brown LightBrown DarkBrown | |
02020 | |
02020 | |
.2.2. | |
02020 | |
02020 | |
LogVInWater | |
DarkBrown Brown | |
.00.. | |
.00.. | |
.00.. | |
.00.. | |
.00.. | |
LogHInWater | |
DarkBrown | |
..... | |
..... | |
00000 | |
00000 | |
..... | |
RaftV | |
DarkBrown darkblue | |
00.00 | |
11111 | |
00.00 | |
11111 | |
00.00 | |
RaftH | |
DarkBrown darkblue | |
01010 | |
01010 | |
.1.1. | |
01010 | |
01010 | |
Rock | |
DarkGrey DarkBlue | |
..... | |
.00.. | |
0001. | |
1011. | |
..... | |
MoveLogUp | |
Transparent | |
..0.. | |
.000. | |
0.0.0 | |
..0.. | |
..0.. | |
MoveLogDown | |
Transparent | |
..0.. | |
..0.. | |
0.0.0 | |
.000. | |
..0.. | |
MoveLogLeft | |
Transparent | |
..0.. | |
.0... | |
00000 | |
.0... | |
..0.. | |
MoveLogRight | |
Transparent | |
..0.. | |
...0. | |
00000 | |
...0. | |
..0.. | |
MoveRaftUp | |
Transparent | |
..0.. | |
.000. | |
0.0.0 | |
..0.. | |
..0.. | |
MoveRaftDown | |
Transparent | |
..0.. | |
..0.. | |
0.0.0 | |
.000. | |
..0.. | |
MoveRaftLeft | |
Transparent | |
..0.. | |
.0... | |
00000 | |
.0... | |
..0.. | |
MoveRaftRight | |
Transparent | |
..0.. | |
...0. | |
00000 | |
...0. | |
..0.. | |
Target | |
DarkBrown | |
..... | |
.0.0. | |
..0.. | |
.0.0. | |
..... | |
Teleporter | |
white | |
..... | |
.000. | |
.000. | |
.000. | |
..... | |
TeleportLineH | |
White | |
..... | |
..... | |
00000 | |
..... | |
..... | |
TeleportLineV | |
White | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
ShallowWater | |
#3566f3 | |
======= | |
LEGEND | |
======= | |
Player = PlayerNormal or PlayerBalancing | |
Log = LogV or LogVOnTreeStump or LogH or LogHOnTreeStump or LogStanding or LogStandingOnTreeStump | |
LogOnTreeStump = LogVOnTreeStump or LogHOnTreeStump or LogStandingOnTreeStump | |
Raft = RaftV or RaftH | |
RaftOnLand = RaftVOnLand or RaftHOnLand | |
TreeObstacle = Tree or Rock or LogVOnTreeStump or LogHOnTreeStump | |
LogObstacle = Tree or TreeStump or Log or Rock or RaftOnLand | |
ImmovableLogObstacle = Tree or TreeStump or Rock | |
RaftOnLandObstacle = Tree or TreeStump or Log or Rock or RaftOnLand | |
Standable = Land or LogVInWater or LogHInWater or RaftV or RaftH | |
Balanceable = TreeStump or LogV or LogH or RaftHOnLand or RaftVOnLand | |
PushAgainst = Rock or Tree or Log or RaftOnLand or Teleporter | |
PushAgainstOnLand = Rock or Tree or LogStanding or Teleporter or LogStandingOnTreeStump | |
MoveLog = MoveLogUp or MoveLogDown or MoveLogLeft or MoveLogRight | |
MoveRaft = MoveRaftUp or MoveRaftDown or MoveRaftLeft or MoveRaftRight | |
TeleportLine = TeleportLineH or TeleportLineV | |
Solid = PushAgainstOnLand or TreeStump | |
Pushable = RaftOnLand or Teleporter or LogH or LogV or LogStanding | |
Obstacle = Solid | |
. = Background | |
~ = ShallowWater | |
# = Land | |
p = PlayerNormal and Land | |
t = Tree and Land | |
m = Rock and Land | |
x = Target and Land | |
o = TreeStump and Land | |
- = LogH and Land | |
l = LogV and Land | |
i = LogStanding and Land | |
w = LogHInWater and Background | |
z = LogVInWater and Background | |
* = RaftVOnLand and Land | |
u = RaftH and Background | |
c = Quicksave and Land | |
! = Teleporter and Land | |
======= | |
SOUNDS | |
======= | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
ShallowWater | |
Standable | |
Target, TreeStump, Quicksave | |
Log, RaftOnLand | |
Player, Tree, Rock | |
Teleporter | |
TeleportLine | |
TreeTop, LogVOnTreeStumpTop, LogStandingTop, LogStandingOnTreeStumpTop, PlayerBalancingTop | |
MoveLog, MoveRaft | |
====== | |
RULES | |
====== | |
[TeleportLine] -> [] | |
(teleport - start) | |
[ > Player | Pushable | Teleporter ] -> [ > Player | > Pushable | > Teleporter ] | |
[ > Player | Teleporter ] -> [ > Player | > Teleporter ] | |
horizontal [ > Teleporter ] -> [ action Teleporter > TeleportLineH ] | |
vertical [ > Teleporter ] -> [ action Teleporter > TeleportLineV ] | |
[ > TeleportLine | no Solid ] -> [ TeleportLine | > TeleportLine ] | |
[ > TeleportLine | Teleporter ] -> [ TeleportLine | action Teleporter ] | |
(teleport - cancel) | |
[ > TeleportLine ] -> [ action TeleportLine ] | |
[ > Player | Pushable | action Teleporter | ... | action Teleporter | Solid ] -> [ Player | Pushable | Teleporter | ... | Teleporter action TeleportLineH | Solid ] | |
[ > Player | action Teleporter | ... | action Teleporter | Obstacle ] -> [ Player | Teleporter | ... | Teleporter action TeleportLineH | Obstacle ] | |
[ > Player | action Teleporter | ... | action Teleporter | Pushable | Solid ] -> [ Player | Teleporter | ... | Teleporter action TeleportLineH | Pushable | Solid ] | |
[ stationary TeleportLine | action TeleportLine ] -> [ action TeleportLine | ] | |
[ action TeleportLine ] -> [] | |
(teleport - use) | |
[ > Player | Pushable | action Teleporter | ... | action Teleporter | no Pushable ] -> [ > Player | | Teleporter | ... | Teleporter | Pushable ] | |
[ > Player | action Teleporter | ... | action Teleporter | Pushable ] -> [ | Teleporter | ... | Teleporter | Player > Pushable ] | |
[ > Player | action Teleporter | ... | action Teleporter | ] -> [ | Teleporter | ... | Teleporter | Player ] | |
(teleport - push teleporter onto object) | |
horizontal [ > Player | Teleporter | Pushable ] -> [ > Player | action Teleporter < TeleportLineH | Pushable ] | |
vertical [ > Player | Teleporter | Pushable ] -> [ > Player | action Teleporter < TeleportLineV | Pushable ] | |
[ > TeleportLine | no Solid ] -> [ TeleportLine | > TeleportLine ] | |
[ > TeleportLine | Teleporter ] -> [ TeleportLine | action Teleporter ] | |
(teleport - cancel) | |
[ > TeleportLine ] -> [ action TeleportLine ] | |
[ Solid | action Teleporter | ... | > Player | action Teleporter | Pushable ] -> [ Solid | Teleporter action TeleportLineH | ... | Player | Teleporter | Pushable ] | |
[ stationary TeleportLine | action TeleportLine ] -> [ action TeleportLine | ] | |
[ action TeleportLine ] -> [] | |
(teleport - use) | |
[ no Solid | action Teleporter | ... | > Player | action Teleporter | Pushable ] -> [ Pushable | Teleporter | ... | | Player | Teleporter ] again | |
(teleport - final cleanup) | |
[ TeleportLine Teleporter ] -> [ stationary Teleporter ] again | |
[ action Teleporter ] -> [ stationary Teleporter ] again | |
( Push against things to move on raft ) | |
[ > PlayerNormal Raft | PushAgainst ] -> [ > PlayerNormal < Raft | PushAgainst ] | |
( Push against things to move on log on land ) | |
vertical [ > PlayerBalancing LogH | Tree ] -> [ PlayerBalancing < LogH | Tree ] | |
horizontal [ > PlayerBalancing LogV | Tree ] -> [ PlayerBalancing < LogV | Tree ] | |
vertical [ > PlayerBalancing LogH | PushAgainstOnLand ] -> [ > PlayerBalancing < LogH | PushAgainstOnLand ] | |
horizontal [ > PlayerBalancing LogV | PushAgainstOnLand ] -> [ > PlayerBalancing < LogV | PushAgainstOnLand ] | |
( Stop when you can't walk somewhere ) | |
[ > Player | no Standable ] -> cancel | |
vertical [ > Player | LogHInWater ] -> cancel | |
horizontal [ > Player | LogVInWater ] -> cancel | |
( Clear move tokens ) | |
[ orthogonal Player ] [ MoveLog ] -> [ orthogonal Player ] [ ] | |
[ orthogonal Player ] [ MoveRaft ] -> [ orthogonal Player ] [ ] | |
( Chop trees ) | |
vertical [ > Player | Tree ] -> [ Player | > Tree ] | |
horizontal [ > Player | Tree ] -> [ Player | > Tree ] | |
( Cancel chop if an obstacle in the way ) | |
[ > Tree | TreeObstacle ] -> [ TreeStump LogStandingOnTreeStump | TreeObstacle ] | |
( Turn trees into logs ) | |
[ > Tree ] -> [ TreeStump > LogStandingOnTreeStump ] | |
( Push logs ) | |
[ > PlayerNormal | Log ] -> [ > PlayerNormal | > Log ] | |
vertical [ > PlayerBalancing | LogH ] -> [ > PlayerBalancing | > LogH ] | |
horizontal [ > PlayerBalancing | LogV ] -> [ > PlayerBalancing | > LogV ] | |
( Kick over standing log from balancing ) | |
[ > PlayerBalancing | LogStanding ] -> [ > PlayerBalancing | > LogStanding ] | |
[ > PlayerBalancing | LogStandingOnTreeStump ] -> [ > PlayerBalancing | > LogStandingOnTreeStump ] | |
( Push logs on rafts ) | |
[ > PlayerNormal | LogStanding Raft ] -> [ > PlayerNormal | LogStanding > Raft ] | |
[ > PlayerNormal | Log Raft ] -> [ > PlayerNormal | Log > Raft ] | |
( Push rafts on land ) | |
[ > PlayerNormal | RaftOnLand ] -> [ > PlayerNormal | > RaftOnLand ] | |
( Push rafts on rafts ) | |
[ > PlayerNormal | RaftOnLand Raft ] -> [ > PlayerNormal | RaftOnLand > Raft ] | |
( Keep raft moving ) | |
[ MoveRaftUp Raft ] -> [ up Raft ] | |
[ MoveRaftDown Raft ] -> [ down Raft ] | |
[ MoveRaftLeft Raft ] -> [ left Raft ] | |
[ MoveRaftRight Raft ] -> [ right Raft ] | |
( Raft can't float over shallow water ) | |
[ moving Raft ShallowWater ] -> [ Raft ShallowWater ] | |
( Keep rolling around axis ) | |
[ MoveLogUp LogH ] -> [ MoveLogUp up LogH ] | |
[ MoveLogDown LogH ] -> [ MoveLogDown down LogH ] | |
[ MoveLogLeft LogV ] -> [ MoveLogLeft left LogV ] | |
[ MoveLogRight LogV ] -> [ MoveLogRight right LogV ] | |
( Rafts always move standing logs ) | |
[ stationary LogStanding > Raft ] -> [ > LogStanding > Raft ] | |
( Stop raft when it hits something standable ) | |
[ > Raft | Raft ] -> [ Raft | > Raft ] | |
[ > Raft | Standable ] -> [ Raft | Standable ] | |
( Rafts move non-standing logs unless they hit something ) | |
[ stationary LogV > Raft ] -> [ > LogV > Raft ] | |
[ stationary LogH > Raft ] -> [ > LogH > Raft ] | |
( Rafts move carried rafts unless they hit something ) | |
[ stationary RaftOnLand > Raft ] -> [ > RaftOnLand > Raft ] | |
startloop | |
( Rolling logs move rafts on the same axis ) | |
vertical [ > LogH no MoveLog stationary Raft ] -> [ > LogH > Raft ] | |
horizontal [ > LogV no MoveLog stationary Raft ] -> [ > LogV > Raft ] | |
( Rolling logs shift their momentum onto logs on rafts ) | |
vertical [ > LogH | LogStanding Raft ] -> [ LogH | > LogStanding > Raft ] | |
horizontal [ > LogV | LogStanding Raft ] -> [ LogV | > LogStanding > Raft ] | |
vertical [ > LogH | LogV Raft ] -> [ LogH | > LogV > Raft ] | |
horizontal [ > LogV | LogH Raft ] -> [ LogV | > LogH > Raft ] | |
( Rolling logs push standing logs ) | |
vertical [ > LogH | LogStanding ] -> [ LogH | > LogStanding ] | |
horizontal [ > LogV | LogStanding ] -> [ LogV | > LogStanding ] | |
( Rolling logs push standing logs on tree stumps ) | |
(vertical [ > LogH | LogStandingOnTreeStump ] -> [ LogH | > LogStandingOnTreeStump ] | |
horizontal [ > LogV | LogStandingOnTreeStump ] -> [ LogV | > LogStandingOnTreeStump ]) | |
( Rolling logs push parallel logs ) | |
vertical [ > LogH Background | LogH ] -> [ LogH > Background | > LogH ] | |
horizontal [ > LogV Background | LogV ] -> [ LogV > Background | > LogV ] | |
( Standing logs knock over other standing logs ) | |
[ > LogStanding | LogStanding ] -> [ LogStanding | > LogStanding ] | |
[ > LogStanding | LogStandingOnTreeStump ] -> [ LogStanding | > LogStandingOnTreeStump ] | |
[ > LogStandingOnTreeStump | LogStanding ] -> [ LogStandingOnTreeStump | > LogStanding ] | |
horizontal [ > LogStanding | LogV ] -> [ LogStanding | > LogV ] | |
horizontal [ > LogStandingOnTreeStump | LogV ] -> [ LogStandingOnTreeStump | > LogV ] | |
vertical [ > LogStanding | LogH ] -> [ LogStanding | > LogH ] | |
vertical [ > LogStandingOnTreeStump | LogH ] -> [ LogStandingOnTreeStump | > LogH ] | |
(Can pick up ) | |
( Rolling a log off a tree stump into a parallel log starts the parallel log rolling ) | |
vertical [ > LogHOnTreeStump Background | LogH ] -> [ LogHOnTreeStump > Background | > LogH ] | |
horizontal [ > LogVOnTreeStump Background | LogV ] -> [ LogVOnTreeStump > Background | > LogV ] | |
endloop | |
( Clear leftover move log tokens ) | |
[ MoveLog ] -> [ ] | |
( A standing log falling onto a parallel log makes a raft ) | |
(vertical [ > LogStanding | stationary LogV ] -> [ | RaftVOnLand ] | |
horizontal [ > LogStanding | stationary LogH ] -> [ | RaftHOnLand ]) | |
vertical [ > LogStandingOnTreeStump | stationary LogV ] -> [ | RaftVOnLand ] | |
horizontal [ > LogStandingOnTreeStump | stationary LogH ] -> [ | RaftHOnLand ] | |
( Stop logs that are trying to move into obstacles ) | |
[ > Log | stationary LogObstacle ] -> [ Log | LogObstacle ] | |
( A log lying on a tree stump rolling into a parallel log makes a raft ) | |
vertical [ > LogHOnTreeStump | stationary LogH ] -> [ | RaftHOnLand ] | |
horizontal [ > LogVOnTreeStump | stationary LogV ] -> [ | RaftVOnLand ] | |
( Player rolling on log should end up on the raft on land ) | |
vertical [ stationary LogH > Background Player | stationary LogH ] -> [ LogH > Background > Player | LogH ] | |
horizontal [ stationary LogV > Background Player | stationary LogV ] -> [ LogV > Background > Player | LogV ] | |
( A log rolling into a stationary parallel log forms a raft on land ) | |
vertical [ stationary LogH > Background | stationary LogH ] -> [ Background | RaftHOnLand ] | |
horizontal [ stationary LogV > Background | stationary LogV ] -> [ Background | RaftVOnLand ] | |
( A log rolling from a stump into a stationary parallel log forms a raft on land ) | |
vertical [ stationary LogHOnTreeStump > Background | stationary LogH ] -> [ Background | RaftHOnLand ] | |
horizontal [ stationary LogVOnTreeStump > Background | stationary LogV ] -> [ Background | RaftVOnLand ] | |
vertical [ stationary LogHOnTreeStump > Background ] -> [ > LogHOnTreeStump Background ] | |
horizontal [ stationary LogVOnTreeStump > Background ] -> [ > LogVOnTreeStump Background ] | |
( Logs always roll off stumps ) | |
[ orthogonal Background ] -> [ Background ] | |
( Stop rafts on land that are trying to move into obstacles ) | |
[ > RaftOnLand | stationary RaftOnLandObstacle ] -> [ RaftOnLand | RaftOnLandObstacle ] | |
( Stop raft when it hits something standable ) | |
[ > Raft | Raft ] -> [ Raft | > Raft ] | |
[ > Raft | Standable ] -> [ Raft | Standable ] | |
( Stop raft if log can't move ) | |
[ stationary Log > Raft ] -> [ Log Raft ] | |
( Don't push logs upright while on a moving raft ) | |
vertical [ > PlayerNormal < Raft | > LogV ] -> [ > PlayerNormal < Raft | LogV ] | |
horizontal [ > PlayerNormal < Raft | > LogH ] -> [ > PlayerNormal < Raft | LogH ] | |
( Don't push logs upright while on a perpendicular log in water ) | |
vertical [ > PlayerNormal LogHInWater | > LogV ] -> [ > PlayerNormal LogHInWater | LogV ] | |
horizontal [ > PlayerNormal LogVInWater | > LogH ] -> [ > PlayerNormal LogVInWater | LogH ] | |
( Don't push rafts on land while on a moving raft ) | |
[ > PlayerNormal < Raft | > RaftOnLand ] -> [ > PlayerNormal < Raft | RaftOnLand ] | |
( Don't push rafts on land while on a perpendicular log in water ) | |
vertical [ > PlayerNormal LogHInWater | > RaftOnLand ] -> [ > PlayerNormal LogHInWater | RaftOnLand ] | |
horizontal [ > PlayerNormal LogVInWater | > RaftOnLand ] -> [ > PlayerNormal LogVInWater | RaftOnLand ] | |
( Stand-up and knock over log ) | |
vertical [ > LogStandingOnTreeStump stationary Standable stationary Background ] -> [ > LogV Standable action Background ] | |
horizontal [ > LogStandingOnTreeStump stationary Standable stationary Background ] -> [ > LogH Standable action Background ] | |
vertical [ > LogStanding stationary Standable stationary Background ] -> [ > LogV Standable action Background ] | |
horizontal [ > LogStanding stationary Standable stationary Background ] -> [ > LogH Standable action Background ] | |
vertical [ > PlayerNormal | > LogV stationary Background | Standable ] -> [ > PlayerNormal | > LogStanding action Background | Standable ] | |
horizontal [ > PlayerNormal | > LogH stationary Background | Standable ] -> [ > PlayerNormal | > LogStanding action Background | Standable ] | |
vertical [ > PlayerNormal stationary Standable | LogV stationary Background | TreeStump no LogOnTreeStump ] -> [ > PlayerNormal stationary Standable | > LogStandingOnTreeStump action Background | TreeStump ] | |
horizontal [ > PlayerNormal stationary Standable | LogH stationary Background | TreeStump no LogOnTreeStump ] -> [ > PlayerNormal stationary Standable | > LogStandingOnTreeStump action Background | TreeStump ] | |
( Push logs sideways onto tree stumps ) | |
vertical [ > Player | LogStanding | TreeStump no Log ] -> [ > Player | > LogVOnTreeStump | TreeStump ] | |
horizontal [ > Player | LogStanding | TreeStump no Log ] -> [ > Player | > LogHOnTreeStump | TreeStump ] | |
vertical [ > Player | LogStandingOnTreeStump stationary Background | TreeStump no Log ] -> [ > Player | > LogVOnTreeStump action Background | TreeStump ] | |
horizontal [ > Player | LogStandingOnTreeStump stationary Background | TreeStump no Log ] -> [ > Player | > LogHOnTreeStump action Background | TreeStump ] | |
( Push logs off tree stumps and stand them up ) | |
vertical [ > Player | LogVOnTreeStump TreeStump | Standable no LogObstacle ] -> [ > Player | > LogStanding TreeStump | Standable ] | |
horizontal [ > Player | LogHOnTreeStump TreeStump | Standable no LogObstacle ] -> [ > Player | > LogStanding TreeStump | Standable ] | |
vertical [ > Player | LogVOnTreeStump TreeStump | no Standable no LogObstacle ] -> [ > Player | > LogV TreeStump | ] | |
horizontal [ > Player | LogHOnTreeStump TreeStump | no Standable no LogObstacle ] -> [ > Player | > LogH TreeStump | ] | |
( Push logs onto adjacent tree stumps and stand them up ) | |
vertical [ > Player | LogVOnTreeStump TreeStump stationary Background | TreeStump no LogOnTreeStump ] -> [ > Player | > LogStandingOnTreeStump TreeStump action Background | TreeStump ] | |
horizontal [ > Player | LogHOnTreeStump TreeStump stationary Background | TreeStump no LogOnTreeStump ] -> [ > Player | > LogStandingOnTreeStump TreeStump action Background | TreeStump ] | |
( Push logs off tree stumps and start them rolling ) | |
vertical [ > Player | LogHOnTreeStump TreeStump | no LogObstacle ] -> [ > Player | > LogH TreeStump | no LogObstacle ] | |
horizontal [ > Player | LogVOnTreeStump TreeStump | no LogObstacle ] -> [ > Player | > LogV TreeStump | no LogObstacle ] | |
[ action Background ] -> [ Background ] | |
( Keep raft moving ) | |
[ up Raft ] -> [ up MoveRaftUp up Raft ] again | |
[ down Raft ] -> [ down MoveRaftDown down Raft ] again | |
[ left Raft ] -> [ left MoveRaftLeft left Raft ] again | |
[ right Raft ] -> [ right MoveRaftRight right Raft ] again | |
( Keep rolling ) | |
up [ > LogH no MoveRaft ] -> [ > MoveLogUp > LogH ] again | |
down [ > LogH no MoveRaft ] -> [ > MoveLogDown > LogH ] again | |
left [ > LogV no MoveRaft ] -> [ > MoveLogLeft > LogV ] again | |
right [ > LogV no MoveRaft ] -> [ > MoveLogRight > LogV ] again | |
( Player moves atop raft ) | |
[ PlayerNormal orthogonal Raft ] -> [ orthogonal PlayerNormal orthogonal Raft ] | |
( Player rolls atop logs ) | |
[ PlayerBalancing orthogonal LogV no LogVInWater ] -> [ orthogonal PlayerBalancing orthogonal LogV ] | |
[ PlayerBalancing orthogonal LogH no LogHInWater ] -> [ orthogonal PlayerBalancing orthogonal LogH ] | |
( Stop player if going to move atop a log from ground ) | |
[ > PlayerNormal | stationary Log ] -> [ PlayerNormal | Log ] | |
( Stop player if going to move atop a standing log from balancing ) | |
[ > PlayerBalancing | stationary LogStanding ] -> [ PlayerBalancing | LogStanding ] | |
( Stop player if going to move atop a log from a direction perpendicular to its axis ) | |
vertical [ > PlayerBalancing | stationary LogH ] -> [ PlayerBalancing | LogH ] | |
horizontal [ > PlayerBalancing | stationary LogV ] -> [ PlayerBalancing | LogV ] | |
( Stop player if going to move atop another log from a log perpendicular to its axis ) | |
vertical [ > PlayerBalancing LogH | stationary Log ] -> [ PlayerBalancing LogH | Log ] | |
horizontal [ > PlayerBalancing LogV | stationary Log ] -> [ PlayerBalancing LogV | Log ] | |
( REPLACES ABOVE TWO LINES: Stop player if going to move from a log perpendicular to its axis ) | |
(vertical [ > PlayerBalancing LogH ] -> [ PlayerBalancing LogH ] | |
horizontal [ > PlayerBalancing LogV ] -> [ PlayerBalancing LogV ]) | |
( Stop player if going to move atop a raft on land from ground ) | |
[ > PlayerNormal | stationary RaftOnLand ] -> [ PlayerNormal | RaftOnLand ] | |
( Stop player if going to move into water when raft moves away ) | |
[ > Player | > Raft ] -> [ Player | > Raft ] | |
[ > Player | Teleporter | Standable ] -> [ > Player | > Teleporter | Standable ] | |
( Two logs make rafts ) | |
late [ LogV LogVInWater ] -> again | |
late [ LogH LogVInWater no MoveLog ] -> again | |
late [ LogStanding LogVInWater ] -> again | |
late [ LogH LogHInWater ] -> again | |
late [ LogV LogHInWater no MoveLog ] -> again | |
late [ LogStanding LogHInWater ] -> again | |
[ LogV LogVInWater ] -> [ RaftV ] | |
[ LogH LogVInWater no MoveLog ] -> [ RaftV ] | |
[ LogStanding LogVInWater ] -> [ RaftV ] | |
[ LogH LogHInWater ] -> [ RaftH ] | |
[ LogV LogHInWater no MoveLog ] -> [ RaftH ] | |
[ LogStanding LogHInWater ] -> [ RaftH ] | |
( Logs fall to the ground when they're no longer atop a stump ) | |
late [ LogVOnTreeStump no TreeStump ] -> [ LogV ] | |
late [ LogHOnTreeStump no TreeStump ] -> [ LogH ] | |
( Logs in water become standable ) | |
late [ LogV no Standable ] -> [ LogVInWater ] | |
late [ LogH no Standable ] -> [ LogHInWater ] | |
( Rafts in water become standable ) | |
late [ RaftVOnLand no Standable ] -> [ RaftV ] | |
late [ RaftHOnLand no Standable ] -> [ RaftH ] | |
( Don't walk off log perpendicularly ) | |
vertical [ > Player LogHInWater ] -> [ Player LogHInWater ] | |
horizontal [ > Player LogVInWater ] -> [ Player LogVInWater ] | |
( Create log tops ) | |
late [ LogVOnTreeStumpTop ] -> [ ] | |
late up [ LogVOnTreeStump | ] -> [ LogVOnTreeStump | LogVOnTreeStumpTop ] | |
late [ LogStandingTop ] -> [ ] | |
late up [ LogStanding | ] -> [ LogStanding | LogStandingTop ] | |
late [ LogStandingOnTreeStumpTop ] -> [ ] | |
late up [ LogStandingOnTreeStump | ] -> [ LogStandingOnTreeStump | LogStandingOnTreeStumpTop ] | |
( Create tree tops ) | |
late [ TreeTop ] -> [ ] | |
late up [ Tree | ] -> [ Tree | TreeTop ] | |
( Set correct player animation ) | |
late [ PlayerNormal Balanceable ] -> [ PlayerBalancing Balanceable ] | |
late [ PlayerBalancing no Balanceable ] -> [ PlayerNormal ] | |
late [ PlayerBalancingTop ] -> [ ] | |
late up [ PlayerBalancing | ] -> [ PlayerBalancing | PlayerBalancingTop ] | |
(Checkpoint) | |
late [ Player Quicksave ] -> [ Player ] checkpoint | |
( NOTES | |
Consider revising interaction when standing log on raft bumps into another raft | |
) | |
============== | |
WINCONDITIONS | |
============== | |
Some Player | |
Some Target | |
All Player on Target | |
======= | |
LEVELS | |
======= | |
.......................... | |
......###...##............ | |
.......#########.......... | |
.......#####!####......... | |
.........#####............ | |
....##.................... | |
...##.................##.. | |
...###..............####.. | |
....####............#####. | |
....#!###..###.......!###. | |
..#######..####.......##.. | |
.########...!##........... | |
..##...##..#####...##..#.. | |
.....!......####...######. | |
.##.###.....####..####!##. | |
.#p###.......##..##x####.. | |
..###............####..... | |
.......................... | |
(.......................... | |
.......................... | |
.......................... | |
.......................... | |
....................#..... | |
..####.............###.... | |
.##p###...........#####... | |
.####!#...........!###.... | |
..#####.....#.....#####... | |
...###.....####....#####.. | |
..##*#....###!#....##.##.. | |
..#.......#*#............. | |
.........#####.......##... | |
.........###*##.....####.. | |
..........#.###....##x###. | |
............#.....#####.#. | |
....................##.... | |
..........................) | |
.......................... | |
...........##.#........... | |
....##....#####........... | |
...#####.######........... | |
...##!#...####............ | |
..####.....#.............. | |
..#####..........#.###.... | |
..##p##..........##!##.... | |
...#####.........######... | |
....###...........##*##... | |
...................###.... | |
...........##............. | |
.........###!#............ | |
.........#x###............ | |
........####.............. | |
.........##............... | |
.......................... | |
.......................... | |
.......................... | |
....##.........##......... | |
...####....#.####......... | |
...#####...#######........ | |
..######....###*#......... | |
..###!##u....###.......... | |
....####......##.......... | |
....###......####......... | |
....##.......#!##......... | |
..............##.......##. | |
..............#......###.. | |
....................###... | |
.....!.......###....###... | |
.#.####...#######...##x#.. | |
.#p####....#####....####.. | |
.#####.......###.....#.... | |
..##.#.................... | |
.......................... | |
.......................... | |
.........#####............ | |
........##*####........... | |
.........###!###.......... | |
..........####............ | |
...........u.............. | |
.......................... | |
...###.................... | |
...####.............####.. | |
...####.......#....##x#m.. | |
..###!##....###.....##m##. | |
..#######..###.......!###. | |
...######...###.......##.. | |
....####....!##........... | |
............####...##..#.. | |
.....!m......###...######. | |
.##.###.....####..##!####. | |
.#p###.......##..#######.. | |
..###............####..... | |
.......................... | |
.......................... | |
.......................... | |
.......................... | |
.......................... | |
....................#..... | |
..####.............###.... | |
.##p###...........#####... | |
.####!#...........!###.... | |
..#####.....#.....#####... | |
...###.....####....#####.. | |
..##*#....!###.....##.##.. | |
..##......##.............. | |
...#.....##*##.......##... | |
.........####*#.....####.. | |
..........#.###....##x###. | |
............#.....#####.#. | |
....................##.... | |
.......................... | |
.......................... | |
...##.............#.#..... | |
..#x###..........#####.... | |
..######........######.... | |
..#..##!........##..##.... | |
......#..........#........ | |
...........#.............. | |
.....##...###..#.......... | |
..##.###..###.###....##... | |
..#####...u#####....###... | |
...#!#......!#.......!##.. | |
..####......###.....###... | |
..#p...............u####.. | |
..##..............#######. | |
...##.............######.. | |
...................###.... | |
.......................... | |
.......................... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment