Skip to content

Instantly share code, notes, and snippets.

Created August 10, 2017 14:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/4d8e47dff3fe7828d76382ec22816530 to your computer and use it in GitHub Desktop.
Save anonymous/4d8e47dff3fe7828d76382ec22816530 to your computer and use it in GitHub Desktop.
title
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
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