-
-
Save Draknek/e3e444f7c63fb21b6ec0 to your computer and use it in GitHub Desktop.
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 Cyber-Lasso | |
author Alan Hazelden | |
homepage www.draknek.org | |
norepeat_action | |
again_interval 0.05 | |
realtime_interval 0.05 | |
(verbose_logging) | |
flickscreen 11x11 | |
run_rules_on_level_start | |
======== | |
OBJECTS | |
======== | |
Background | |
#dddddd #ffffff | |
11111 | |
10001 | |
10001 | |
10001 | |
11111 | |
ElectricFloor | |
LightBlue White | |
00001 | |
00010 | |
00100 | |
01000 | |
10000 | |
ElectricFloor1 | |
LightBlue White | |
00001 | |
00010 | |
00100 | |
01000 | |
10000 | |
ElectricFloor2 | |
LightBlue | |
Powered | |
LightBlue | |
Unpowered | |
White | |
WasPowered | |
transparent | |
Hole | |
Black | |
Button | |
Red Grey | |
10001 | |
00000 | |
00000 | |
00000 | |
10001 | |
Crate | |
DarkGreen Green | |
..... | |
.111. | |
.101. | |
.111. | |
..... | |
ElectricCrate1 | |
Yellow | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
(ElectricCrate2 | |
Orange | |
..... | |
..... | |
..0.. | |
..... | |
.....) | |
ElectrifyingL | |
Yellow | |
..... | |
..... | |
0.... | |
..... | |
..... | |
ElectrifyingR | |
Yellow | |
..... | |
..... | |
....0 | |
..... | |
..... | |
ElectrifyingU | |
Yellow | |
..0.. | |
..... | |
..... | |
..... | |
..... | |
ElectrifyingD | |
Yellow | |
..... | |
..... | |
..... | |
..... | |
..0.. | |
DisappearingCrate | |
Green | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
DisappearingPlayer | |
#a46422 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
SquashedPlayer | |
#a46422 #493c2b #000000 red | |
....3 | |
.30.. | |
01110 | |
.2.2. | |
3..3. | |
WallNormal | |
DarkGrey | |
DoorUp | |
DarkGrey #5a7bb6 | |
11111 | |
10001 | |
10001 | |
10001 | |
11111 | |
DoorDown | |
#ffffff #dddddd | |
11111 | |
1...1 | |
1.0.1 | |
1...1 | |
11111 | |
UpWhenPowered | |
transparent | |
Walkway | |
#dddddd #9d9e9e | |
11111 | |
10001 | |
10001 | |
10001 | |
11111 | |
WalkwayStartL | |
#9d9e9e | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
WalkwayStartR | |
#9d9e9e | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
WalkwayStartU | |
#9d9e9e | |
..... | |
..... | |
..... | |
..... | |
00000 | |
WalkwayStartD | |
#9d9e9e | |
00000 | |
..... | |
..... | |
..... | |
..... | |
PlayerNormal | |
#a46422 #493c2b #000000 | |
..0.. | |
.111. | |
01110 | |
02220 | |
.2.2. | |
PlayerHoldL | |
#a46422 #493c2b #000000 orange | |
..0.. | |
.111. | |
3330. | |
0222. | |
.2.2. | |
PlayerHoldR | |
#a46422 #493c2b #000000 orange | |
..0.. | |
.111. | |
01110 | |
0222. | |
.2.2. | |
PlayerHoldU | |
#a46422 #493c2b #000000 orange | |
..00. | |
.110. | |
0111. | |
0222. | |
.2.2. | |
PlayerHoldD | |
#a46422 #493c2b #000000 orange | |
..0.. | |
.111. | |
0110. | |
0232. | |
.232. | |
(RopeNextToPlayerR | |
#a46422 | |
..... | |
..... | |
0.... | |
..... | |
.....) | |
PlayerAiming | |
#a46422 #493c2b #000000 | |
..0.0 | |
.1110 | |
0111. | |
0222. | |
.2.2. | |
PlayerDying | |
yellow yellow yellow | |
..0.. | |
.111. | |
01110 | |
02220 | |
.2.2. | |
LassoAboveHead1 | |
brown orange | |
..... | |
..00. | |
.0..0 | |
..001 | |
....1 | |
LassoAboveHead2 | |
brown orange | |
..... | |
.000. | |
0...0 | |
.0001 | |
....1 | |
LassoAboveHead3 | |
brown orange | |
..... | |
.00.. | |
0..0. | |
.00.. | |
...1. | |
LassoAboveHead4 | |
brown orange | |
.00.. | |
0..0. | |
0..0. | |
.00.. | |
...1. | |
LassoAboveHead5 | |
brown orange | |
.00.. | |
0..0. | |
.00.. | |
..1.. | |
...1. | |
LassoAboveHead6 | |
brown orange | |
.000. | |
0...0 | |
.000. | |
..1.. | |
...1. | |
LassoAboveHead7 | |
brown orange | |
..00. | |
.0..0 | |
..00. | |
...1. | |
...1. | |
LassoAboveHead8 | |
brown orange | |
..00. | |
.0..0 | |
.0..0 | |
..00. | |
...1. | |
LassoThrownL | |
brown orange | |
.00.. | |
0..0. | |
0..01 | |
0..0. | |
.00.. | |
LassoThrownR | |
brown orange | |
..00. | |
.0..0 | |
10..0 | |
.0..0 | |
..00. | |
LassoThrownU | |
brown orange | |
.000. | |
0...0 | |
0...0 | |
.000. | |
..1.. | |
LassoThrownD | |
brown orange | |
..1.. | |
.000. | |
0...0 | |
0...0 | |
.000. | |
LassoReturn | |
brown orange | |
.000. | |
0...0 | |
0...0 | |
0...0 | |
.000. | |
LassoCaught | |
brown | |
.000. | |
0...0 | |
0...0 | |
0...0 | |
.000. | |
RopeH | |
orange | |
..... | |
..... | |
00000 | |
..... | |
..... | |
RopeV | |
orange | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
RopeUL | |
orange | |
..0.. | |
..0.. | |
000.. | |
..... | |
..... | |
RopeUR | |
orange | |
..0.. | |
..0.. | |
..000 | |
..... | |
..... | |
RopeDL | |
orange | |
..... | |
..... | |
000.. | |
..0.. | |
..0.. | |
RopeDR | |
orange | |
..... | |
..... | |
..000 | |
..0.. | |
..0.. | |
WireLR | |
#ffffff #dddddd | |
00000 | |
11111 | |
..... | |
11111 | |
00000 | |
WireUD | |
#ffffff #dddddd | |
01.10 | |
01.10 | |
01.10 | |
01.10 | |
01.10 | |
WireUL | |
#ffffff #dddddd | |
01.10 | |
11.10 | |
...10 | |
11110 | |
00000 | |
WireUR | |
#ffffff #dddddd | |
01.10 | |
01.11 | |
01... | |
01111 | |
00000 | |
WireDL | |
#ffffff #dddddd | |
00000 | |
11110 | |
...10 | |
11.10 | |
01.10 | |
WireDR | |
#ffffff #dddddd | |
00000 | |
01111 | |
01... | |
01.11 | |
01.10 | |
WireULR | |
#ffffff #dddddd | |
01.10 | |
11.11 | |
..... | |
11111 | |
00000 | |
WireDLR | |
#ffffff #dddddd | |
00000 | |
11111 | |
..... | |
11.11 | |
01.10 | |
WireUDL | |
#ffffff #dddddd | |
01.10 | |
11.10 | |
...10 | |
11.10 | |
01.10 | |
WireUDR | |
#ffffff #dddddd | |
01.10 | |
01.11 | |
01... | |
01.11 | |
01.10 | |
AndGate | |
Grey Grey Red | |
.000. | |
00000 | |
02020 | |
00000 | |
.000. | |
Power1 | |
Yellow | |
..... | |
..... | |
.0... | |
..... | |
..... | |
Power2 | |
Yellow | |
..... | |
..... | |
.0.0. | |
..... | |
..... | |
Done | |
transparent | |
Here | |
transparent | |
Claimed | |
transparent | |
Changed | |
red | |
Exit | |
transparent | |
CheckpointTrigger | |
transparent | |
ReactorTrigger | |
transparent | |
U | |
red | |
..0.. | |
.0.0. | |
..... | |
..... | |
..... | |
D | |
red | |
..... | |
..... | |
..... | |
.0.0. | |
..0.. | |
L | |
red | |
..... | |
.0... | |
0.... | |
.0... | |
..... | |
R | |
red | |
..... | |
...0. | |
....0 | |
...0. | |
..... | |
WallL | |
DarkRed | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
WallR | |
DarkRed | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
WallU | |
DarkRed | |
00000 | |
..... | |
..... | |
..... | |
..... | |
WallD | |
DarkRed | |
..... | |
..... | |
..... | |
..... | |
00000 | |
WallLR | |
DarkRed | |
0...0 | |
0...0 | |
0...0 | |
0...0 | |
0...0 | |
WallUD | |
DarkRed | |
00000 | |
..... | |
..... | |
..... | |
00000 | |
WallUL | |
DarkRed | |
0.... | |
..... | |
..... | |
..... | |
..... | |
WallUR | |
DarkRed | |
....0 | |
..... | |
..... | |
..... | |
..... | |
WallDL | |
DarkRed | |
..... | |
..... | |
..... | |
..... | |
0.... | |
WallDR | |
DarkRed | |
..... | |
..... | |
..... | |
..... | |
....0 | |
WallDLR | |
DarkRed | |
..... | |
..... | |
..... | |
..... | |
0...0 | |
WallULR | |
DarkRed | |
0...0 | |
..... | |
..... | |
..... | |
..... | |
WallLUD | |
DarkRed | |
0.... | |
..... | |
..... | |
..... | |
0.... | |
WallWireLR | |
DarkGrey #61686c | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
DangerL | |
#be656d | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
DangerR | |
#be656d | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
DangerU | |
#be656d | |
00000 | |
..... | |
..... | |
..... | |
..... | |
DangerD | |
#be656d | |
..... | |
..... | |
..... | |
..... | |
00000 | |
DangerLR | |
#be656d | |
0...0 | |
0...0 | |
0...0 | |
0...0 | |
0...0 | |
DangerUD | |
#be656d | |
00000 | |
..... | |
..... | |
..... | |
00000 | |
Reactor | |
#ffffff #dddddd | |
01.10 | |
11.11 | |
..... | |
11.11 | |
01.10 | |
Warning1 | |
White Black | |
01100 | |
01010 | |
01100 | |
01010 | |
01010 | |
Warning2 | |
White Black | |
11100 | |
10001 | |
11001 | |
10001 | |
11101 | |
Warning3 | |
White Black | |
10001 | |
01010 | |
11010 | |
01010 | |
01001 | |
Warning4 | |
White Black | |
10111 | |
00010 | |
00010 | |
00010 | |
10010 | |
Warning5 | |
White Black | |
00110 | |
01001 | |
01001 | |
01001 | |
00110 | |
Warning6 | |
White Black | |
01100 | |
01010 | |
01100 | |
01010 | |
01010 | |
======= | |
LEGEND | |
======= | |
PlayerHold = PlayerHoldL or PlayerHoldR or PlayerHoldU or PlayerHoldD | |
Player = PlayerNormal or PlayerAiming or PlayerHold or DisappearingPlayer or PlayerDying | |
Direction = U or D or L or R | |
Rope = RopeH or RopeV or RopeUL or RopeUR or RopeDL or RopeDR | |
RopePullsL = RopeH or RopeUR or RopeDR | |
RopePullsR = RopeH or RopeUL or RopeDL | |
RopePullsU = RopeV or RopeDL or RopeDR | |
RopePullsD = RopeV or RopeUL or RopeUR | |
(RopeNextToPlayer = RopeNextToPlayerR) | |
LassoAboveHead = LassoAboveHead1 or LassoAboveHead2 or LassoAboveHead3 or LassoAboveHead4 or LassoAboveHead5 or LassoAboveHead6 or LassoAboveHead7 or LassoAboveHead8 | |
WallWire = WallWireLR | |
Wall = WallNormal or WallWire | |
Solid = Wall or Crate or DoorUp | |
SolidUncatchable = Wall or DoorUp | |
Chain = Rope or LassoCaught or Player | |
LassoThrown = LassoThrownL or LassoThrownR or LassoThrownU or LassoThrownD or LassoReturn | |
WallCoverLR = WallL or WallR or WallLR | |
WallCoverUD = WallU or WallD or WallUD | |
WallCoverCorner = WallUL or WallUR or WallDL or WallDR or WallDLR or WallLUD or WallULR | |
WallCover = WallCoverLR or WallCoverUD or WallCoverCorner | |
DangerBorderLR = DangerL or DangerR or DangerLR | |
DangerBorderUD = DangerU or DangerD or DangerUD | |
DangerBorder = DangerBorderLR or DangerBorderUD | |
WireL = WireLR or WireUL or WireDL or WireUDL or WireULR or WireDLR or WallWireLR | |
WireR = WireLR or WireUR or WireDR or WireUDR or WireULR or WireDLR or WallWireLR | |
WireU = WireUD or WireUL or WireUR or WireUDL or WireUDR or WireULR | |
WireD = WireUD or WireDL or WireDR or WireUDL or WireUDR or WireDLR | |
Wire = WireL or WireR or WireU or WireD | |
Door = DoorUp or DoorDown | |
WalkwayStart = WalkwayStartL or WalkwayStartR or WalkwayStartU or WalkwayStartD | |
PowerTransfer = Button or ElectricFloor or Door or Walkway or WalkwayStart or Reactor | |
Electrified = ElectricCrate1 | |
Electrifiable = Player or Crate | |
ElectrifyingDir = ElectrifyingL or ElectrifyingR or ElectrifyingU or ElectrifyingD | |
ChainUnder = Wire or PowerTransfer or AndGate | |
ChainUnderOver = Button or ElectricFloor | |
ChainOver = Electrifiable or ChainUnderOver | |
Disappearing = DisappearingCrate or DisappearingPlayer | |
Squashed = SquashedPlayer | |
PowerLevel = Power1 or Power2 | |
ElectricFloorCover = ElectricFloor1 or ElectricFloor2 | |
Warning = Warning1 or Warning2 or Warning3 or Warning4 or Warning5 or Warning6 | |
. = Background | |
# = WallNormal | |
P = PlayerNormal and DoorUp | |
* = Crate | |
! = ElectricFloor | |
o = Hole | |
@ = Button | |
_ = DoorDown | |
n = DoorUp | |
% = Button and Crate | |
2 = AndGate | |
& = Crate and ElectricFloor | |
═ = WallWireLR | |
$ = Reactor | |
W = Warning1 | |
X = Exit and DoorUp | |
z = ReactorTrigger and WireUD | |
(ref http://unicode-search.net/unicode-namesearch.pl?term=box%20drawings) | |
- = WireLR | |
| = WireUD | |
┐ = WireDL | |
┤ = WireUDL | |
┘ = WireUL | |
┌ = WireDR | |
├ = WireUDR | |
└ = WireUR | |
┬ = WireDLR | |
┴ = WireULR | |
← = WalkwayStartL and Hole | |
→ = WalkwayStartR and Hole | |
↑ = WalkwayStartU and Hole | |
↓ = WalkwayStartD and Hole | |
======= | |
SOUNDS | |
======= | |
LassoAboveHead create 86845907 | |
PlayerAiming destroy 19629107 | |
sfx0 81428909 (throw lasso) | |
LassoCaught create 1688102 | |
LassoCaught destroy 11489509 | |
Player move 75749507 | |
sfx1 12358709 (bending rope) | |
WasPowered create 56141902 (power on) | |
WasPowered destroy 25196302 (power off) | |
Disappearing create 96367909 | |
PlayerDying create 9797709 | |
PlayerDying destroy 82870709 | |
Undo 77836307 | |
Restart 41565108 | |
EndLevel 42704508 | |
EndGame 10304308 | |
( | |
Todo: | |
tweak electrocution | |
getting crushed | |
power on/off triggers too much | |
ending sound triggers too late | |
) | |
================ | |
COLLISIONLAYERS | |
================ | |
CheckpointTrigger, ReactorTrigger | |
Direction, Done, Here | |
Claimed | |
Background | |
ElectricFloor, UpWhenPowered | |
WasPowered | |
Powered, Unpowered | |
ElectricFloorCover, Warning, Exit | |
Hole, Button, Wire, Door, AndGate, Reactor | |
DangerBorderLR, WalkwayStart, PowerLevel | |
DangerBorderUD, Walkway | |
Player, PlayerDying, Wall, Crate, Disappearing, Squashed | |
WallCoverLR, Electrified | |
WallCoverUD, WallCoverCorner | |
LassoAboveHead | |
LassoThrown, LassoCaught, Rope | |
ElectrifyingL | |
ElectrifyingR | |
ElectrifyingU | |
ElectrifyingD | |
Changed | |
====== | |
RULES | |
====== | |
([ Changed ] -> []) | |
([ RopeNextToPlayer ] -> []) | |
(Lasso aiming animation) | |
[ up Player Exit ] -> [ Player Exit ] win | |
right [ Warning1 | | | | | ] -> [ Warning1 | Warning2 | Warning3 | Warning4 | Warning5 | Warning6 ] | |
late up [ PlayerAiming | no LassoAboveHead ] -> [ PlayerAiming | LassoAboveHead1 ] | |
late up [ no PlayerAiming | LassoAboveHead ] -> [ | ] | |
up [ moving Player | LassoAboveHead ] -> [ moving Player | action LassoAboveHead ] | |
[ stationary LassoAboveHead1 ] -> [ action LassoAboveHead2 ] | |
[ stationary LassoAboveHead2 ] -> [ action LassoAboveHead3 ] | |
[ stationary LassoAboveHead3 ] -> [ action LassoAboveHead4 ] | |
[ stationary LassoAboveHead4 ] -> [ action LassoAboveHead5 ] | |
[ stationary LassoAboveHead5 ] -> [ action LassoAboveHead6 ] | |
[ stationary LassoAboveHead6 ] -> [ action LassoAboveHead7 ] | |
[ stationary LassoAboveHead7 ] -> [ action LassoAboveHead8 ] | |
[ stationary LassoAboveHead8 ] -> [ action LassoAboveHead1 ] | |
(Pressing action) | |
[ action PlayerHold ] [ LassoCaught Crate ] -> [ PlayerHold ] [ LassoReturn action Crate Changed ] again | |
[ action PlayerAiming ] -> [ PlayerNormal ] | |
[ action PlayerNormal ] -> [ PlayerAiming ] | |
(Throwing lasso) | |
left [ > PlayerAiming | no SolidUncatchable ] -> [ PlayerHoldL | L action LassoThrownL ] sfx0 again | |
right [ > PlayerAiming | no SolidUncatchable ] -> [ PlayerHoldR | R action LassoThrownR ] sfx0 again | |
up [ > PlayerAiming | no SolidUncatchable ] -> [ PlayerHoldU | U action LassoThrownU ] sfx0 again | |
down [ > PlayerAiming | no SolidUncatchable ] -> [ PlayerHoldD | D action LassoThrownD ] sfx0 again | |
left [ L stationary LassoThrownL | no SolidUncatchable ] -> [ RopeH | L action LassoThrownL ] again | |
right [ R stationary LassoThrownR | no SolidUncatchable ] -> [ RopeH | R action LassoThrownR ] again | |
up [ U stationary LassoThrownU | no SolidUncatchable ] -> [ RopeV | U action LassoThrownU ] again | |
down [ D stationary LassoThrownD | no SolidUncatchable ] -> [ RopeV | D action LassoThrownD ] again | |
[ LassoThrown stationary Crate no LassoReturn ] -> [ action LassoCaught Crate no Direction ] | |
[ Player | | | | | LassoThrown Direction ] -> [ Player | | | | | action LassoThrown ] | |
([ Player | | | | | | | | LassoThrown Direction ] -> [ Player | | | | | | | | action LassoThrown ]) | |
(Moving while attached) | |
[ > Player | Hole no Walkway ] -> cancel | |
[ > Player Hole no Walkway ] -> cancel | |
[ moving Player ] [ LassoCaught Crate ] [ Rope ] -> [ moving Player action Done ] [ moving LassoCaught action Crate ] [ moving Rope ] | |
[ moving Player | LassoCaught Crate ] -> [ moving Player action Done | moving LassoCaught action Crate ] | |
[ > Player | stationary Solid ] -> cancel | |
startloop | |
(Start loop) | |
left [ action Done | RopePullsL no Done ] -> [ < Done | RopePullsL Here ] | |
right [ action Done | RopePullsR no Done ] -> [ < Done | RopePullsR Here ] | |
up [ action Done | RopePullsU no Done ] -> [ < Done | RopePullsU Here ] | |
down [ action Done | RopePullsD no Done ] -> [ < Done | RopePullsD Here ] | |
[ action Done | LassoCaught no Done ] -> [ < Done | LassoCaught Here ] | |
(Check for collisions) | |
[ stationary Here > Chain | stationary Solid ] -> [ action Here > Chain | Solid ] sfx1 (set 'action Here' on collision) | |
[ < Done | action Here > Chain ] -> cancel | |
[ action Here ] [ Done > Chain | moving Done ] -> cancel | |
[ action Here ] [ moving Done ] [ Chain no Done ] -> [ action Here ] [ moving Done ] [ moving Chain ] (update movement of future parts of the chain) | |
(Handle movement) | |
left [ moving Done down RopeUL | action Here ] -> cancel | |
left [ moving Done up RopeDL | action Here ] -> cancel | |
left [ moving Done down RopeH | action Here ] -> [ moving Done down RopeUR | action Here ] | |
left [ moving Done down RopeDL | action Here ] -> [ moving Done down RopeV | action Here ] | |
left [ moving Done up RopeH | action Here ] -> [ moving Done up RopeDR | action Here ] | |
left [ moving Done up RopeUL | action Here ] -> [ moving Done up RopeV | action Here ] | |
left [ moving Done down Chain | action Here < RopeH ] -> [ moving Done down Chain | action Here < RopeDL ] | |
left [ moving Done down Chain | action Here < RopeUR ] -> [ moving Done down Chain | action Here < RopeV ] | |
left [ moving Done up Chain | action Here < RopeH ] -> [ moving Done up Chain | action Here < RopeUL ] | |
left [ moving Done up Chain | action Here < RopeDR ] -> [ moving Done up Chain | action Here < RopeV ] | |
right [ moving Done down RopeUR | action Here ] -> cancel | |
right [ moving Done up RopeDR | action Here ] -> cancel | |
right [ moving Done down RopeH | action Here ] -> [ moving Done down RopeUL | action Here ] | |
right [ moving Done down RopeDR | action Here ] -> [ moving Done down RopeV | action Here ] | |
right [ moving Done up RopeH | action Here ] -> [ moving Done up RopeDL | action Here ] | |
right [ moving Done up RopeUR | action Here ] -> [ moving Done up RopeV | action Here ] | |
right [ moving Done down Chain | action Here < RopeH ] -> [ moving Done down Chain | action Here < RopeDR ] | |
right [ moving Done down Chain | action Here < RopeUL ] -> [ moving Done down Chain | action Here < RopeV ] | |
right [ moving Done up Chain | action Here < RopeH ] -> [ moving Done up Chain | action Here < RopeUR ] | |
right [ moving Done up Chain | action Here < RopeDL ] -> [ moving Done up Chain | action Here < RopeV ] | |
up [ moving Done left RopeUR | action Here ] -> cancel | |
up [ moving Done right RopeUL | action Here ] -> cancel | |
up [ moving Done left RopeV | action Here ] -> [ moving Done left RopeDR | action Here ] | |
up [ moving Done left RopeUL | action Here ] -> [ moving Done left RopeH | action Here ] | |
up [ moving Done right RopeV | action Here ] -> [ moving Done right RopeDL | action Here ] | |
up [ moving Done right RopeUR | action Here ] -> [ moving Done right RopeH | action Here ] | |
up [ moving Done left Chain | action Here < RopeV ] -> [ moving Done left Chain | action Here < RopeUL ] | |
up [ moving Done left Chain | action Here < RopeDR ] -> [ moving Done left Chain | action Here < RopeH ] | |
up [ moving Done right Chain | action Here < RopeV ] -> [ moving Done right Chain | action Here < RopeUR ] | |
up [ moving Done right Chain | action Here < RopeDL ] -> [ moving Done right Chain | action Here < RopeH ] | |
down [ moving Done left RopeDR | action Here ] -> cancel | |
down [ moving Done right RopeDL | action Here ] -> cancel | |
down [ moving Done left RopeV | action Here ] -> [ moving Done left RopeUR | action Here ] | |
down [ moving Done left RopeDL | action Here ] -> [ moving Done left RopeH | action Here ] | |
down [ moving Done right RopeV | action Here ] -> [ moving Done right RopeUL | action Here ] | |
down [ moving Done right RopeDR | action Here ] -> [ moving Done right RopeH | action Here ] | |
down [ moving Done left Chain | action Here < RopeV ] -> [ moving Done left Chain | action Here < RopeDL ] | |
down [ moving Done left Chain | action Here < RopeUR ] -> [ moving Done left Chain | action Here < RopeH ] | |
down [ moving Done right Chain | action Here < RopeV ] -> [ moving Done right Chain | action Here < RopeDR ] | |
down [ moving Done right Chain | action Here < RopeUL ] -> [ moving Done right Chain | action Here < RopeH ] | |
[ Here > Chain | Claimed ] -> cancel | |
[ Here > Chain | ] -> [ Here > Chain | Claimed ] | |
[ moving Done ] -> [ Done ] | |
[ Here ] -> [ action Done ] | |
(End loop) | |
endloop | |
[ Claimed ] -> [] | |
[ Here ] -> [] | |
[ Done ] -> [] | |
late [ Player Rope ] -> cancel | |
late [ Player LassoCaught ] -> cancel | |
([ left Chain ] -> [ L action Chain ] | |
[ right Chain ] -> [ R action Chain ] | |
[ up Chain ] -> [ U action Chain ] | |
[ down Chain ] -> [ D action Chain ] | |
[ Direction moving Crate ] -> [ Direction Crate ]) | |
[ moving LassoCaught Crate ] -> [ moving LassoCaught moving Crate ] | |
(Pull the end of the lasso towards the player by one tile) | |
[ stationary LassoThrown Direction ] -> [ LassoThrown ] again | |
left [ stationary LassoThrown | RopePullsL ] -> [ > LassoThrown | ] again | |
right [ stationary LassoThrown | RopePullsR ] -> [ > LassoThrown | ] again | |
up [ stationary LassoThrown | RopePullsU ] -> [ > LassoThrown | ] again | |
down [ stationary LassoThrown | RopePullsD ] -> [ > LassoThrown | ] again | |
[ stationary LassoThrown | Player ] -> [ | PlayerNormal no Direction ] | |
[ LassoThrown Player ] -> [ PlayerNormal ] | |
[ > Player | ] -> [ > Player Changed | Changed ] | |
[ > LassoCaught | ] -> [ > LassoCaught Changed | Changed ] | |
(Holes) | |
late [ Disappearing ] -> [] again | |
late [ Crate Hole no Walkway no LassoCaught ] -> [ DisappearingCrate Hole ] again | |
late [ DisappearingCrate ] [ LassoReturn ] -> [ Crate ] [ LassoReturn ] | |
late [ Player Hole no Walkway no PlayerHold ] -> [ DisappearingPlayer Hole ] | |
(Squashing) | |
late [ Player DoorUp Changed ] -> [ SquashedPlayer DoorUp ] | |
(Add graphics) | |
late left [ PlayerHold | RopePullsL ] -> [ Claimed PlayerHoldL | RopePullsL ] | |
late right [ PlayerHold | RopePullsR ] -> [ Claimed PlayerHoldR | RopePullsR ] | |
late up [ PlayerHold | RopePullsU ] -> [ Claimed PlayerHoldU | RopePullsU ] | |
late down [ PlayerHold | RopePullsD ] -> [ Claimed PlayerHoldD | RopePullsD ] | |
late left [ PlayerHold no Claimed | LassoCaught ] -> [ PlayerHoldL | LassoCaught ] | |
late right [ PlayerHold no Claimed | LassoCaught ] -> [ PlayerHoldR | LassoCaught ] | |
late up [ PlayerHold no Claimed | LassoCaught ] -> [ PlayerHoldU | LassoCaught ] | |
late down [ PlayerHold no Claimed | LassoCaught ] -> [ PlayerHoldD | LassoCaught ] | |
late [ Claimed ] -> [] | |
(Draw wall edges) | |
left [ Wall no WallCoverLR | no Wall ] -> [ Wall WallL | ] | |
right [ Wall no WallCoverLR | no Wall ] -> [ Wall WallR | ] | |
right [ Wall WallL | no Wall ] -> [ Wall WallLR | ] | |
up [ Wall no WallCoverUD | no Wall ] -> [ Wall WallU | ] | |
down [ Wall no WallCoverUD | no Wall ] -> [ Wall WallD | ] | |
down [ Wall WallU | no Wall ] -> [ Wall WallUD | ] | |
left [ Wall no WallCoverCorner no WallUD | WallUD ] -> [ Wall WallLUD | WallUD ] | |
up [ Wall no WallCoverCorner no WallLR | WallLR ] -> [ Wall WallULR | WallLR ] | |
right [ WallD | Wall no WallCover ] -> [ WallD | Wall WallDL ] | |
left [ WallD | Wall no WallCover ] -> [ WallD | Wall WallDR ] | |
right [ WallU | Wall no WallCover ] -> [ WallU | Wall WallUL ] | |
left [ WallU | Wall no WallCover ] -> [ WallU | Wall WallUR ] | |
(Draw electric floor) | |
left [ ElectricFloor no DangerBorderLR | no ElectricFloor ] -> [ ElectricFloor DangerL | ] | |
right [ ElectricFloor no DangerBorderLR | no ElectricFloor ] -> [ ElectricFloor DangerR | ] | |
right [ ElectricFloor DangerL | no ElectricFloor ] -> [ ElectricFloor DangerLR | ] | |
up [ ElectricFloor no DangerBorderUD | no ElectricFloor ] -> [ ElectricFloor DangerU | ] | |
down [ ElectricFloor no DangerBorderUD | no ElectricFloor ] -> [ ElectricFloor DangerD | ] | |
down [ ElectricFloor DangerU | no ElectricFloor ] -> [ ElectricFloor DangerUD | ] | |
[ ElectricFloor no Powered ] -> [ ElectricFloor no ElectricFloorCover ] | |
[ Player no Changed ] [ ElectricFloor Powered no ElectricFloorCover no Claimed ] -> [ Player ] [ ElectricFloor Powered ElectricFloor1 Claimed ] | |
[ Player no Changed ][ ElectricFloor Powered ElectricFloor1 no Claimed ] -> [ Player ] [ ElectricFloor Powered ElectricFloor2 Claimed ] | |
[ Player no Changed ][ ElectricFloor Powered ElectricFloor2 no Claimed ] ->[ Player ] [ ElectricFloor Powered no ElectricFloor Claimed ] | |
late [ Claimed ] -> [] | |
(Power flow) | |
late [ Changed no ChainUnderOver ] -> [] | |
late [ Changed Electrifiable | no Changed Electrifiable ] -> [ Changed Electrifiable | Changed Electrifiable ] | |
+ late [ Changed ChainUnder | no Changed ChainUnder ] -> [ Changed ChainUnder | Changed ChainUnder ] | |
late [ Changed Powered ] -> [ Changed ] | |
late [ Changed Walkway ] -> [ Changed ] | |
late [ PowerLevel ] -> [] | |
late [ Changed Electrified ] -> [ Changed ] | |
late [ Changed ElectrifyingDir ] -> [ Changed ] | |
late [ Button Crate ] -> [ Button Crate Powered ] | |
late [ Button Player ] -> [ Button Player Powered ] | |
startloop | |
late left [ WireL no Powered | Powered ] -> [ WireL Powered | Powered ] | |
late right [ WireR no Powered | Powered ] -> [ WireR Powered | Powered ] | |
late up [ WireU no Powered | Powered ] -> [ WireU Powered | Powered ] | |
late down [ WireD no Powered | Powered ] -> [ WireD Powered | Powered ] | |
late left [ WireL Powered no Claimed | AndGate no Claimed ] -> [ WireL Powered Claimed | AndGate Claimed ] | |
late right [ WireR Powered no Claimed | AndGate no Claimed ] -> [ WireR Powered Claimed | AndGate Claimed ] | |
late up [ WireU Powered no Claimed | AndGate no Claimed ] -> [ WireU Powered Claimed | AndGate Claimed ] | |
late down [ WireD Powered no Claimed | AndGate no Claimed ] -> [ WireD Powered Claimed | AndGate Claimed ] | |
late left [ WireL Powered | no Powered no AndGate ] -> [ WireL Powered | Powered ] | |
late right [ WireR Powered | no Powered no AndGate ] -> [ WireR Powered | Powered ] | |
late up [ WireU Powered | no Powered no AndGate ] -> [ WireU Powered | Powered ] | |
late down [ WireD Powered | no Powered no AndGate ] -> [ WireD Powered | Powered ] | |
late [ AndGate Power1 Claimed ] -> [ AndGate Power2 Powered ] | |
late [ AndGate no PowerLevel Claimed ] -> [ AndGate Power1 no Powered ] | |
late [ AndGate Claimed ] -> [ AndGate no Powered ] | |
late [ PowerTransfer Powered | PowerTransfer no Powered ] -> [ PowerTransfer Powered | PowerTransfer Powered ] | |
late left [ WalkwayStartL Powered | Hole no WalkwayStart ] -> [ WalkwayStartL Powered | WalkwayStartL Hole ] | |
late right [ WalkwayStartR Powered | Hole no WalkwayStart ] -> [ WalkwayStartR Powered | WalkwayStartR Hole ] | |
late up [ WalkwayStartU Powered | Hole no WalkwayStart ] -> [ WalkwayStartU Powered | WalkwayStartU Hole ] | |
late down [ WalkwayStartD Powered | Hole no WalkwayStart ] -> [ WalkwayStartD Powered | WalkwayStartD Hole ] | |
late [ WalkwayStart Powered ] -> [ WalkwayStart Walkway Powered ] | |
late [ Electrifiable no Electrified ElectricFloor Powered ] -> [ Electrifiable Electrified ElectricFloor Powered ] | |
late [ Electrifiable Electrified | Electrifiable no Electrified ] -> [ Electrifiable Electrified | Electrifiable Electrified ] | |
late [ Electrifiable Electrified ElectricFloor no Powered ] -> [ Electrifiable Electrified ElectricFloor Powered ] | |
late [ Electrified LassoCaught ] [ Player ] -> [ Electrified LassoCaught ] [ Player Electrified ] | |
late [ LassoCaught ] [ Electrified Player ] -> [ Electrified LassoCaught ] [ Player Electrified ] | |
endloop | |
late [ Claimed ] -> [] | |
late [ Door Powered no UpWhenPowered no CheckpointTrigger ] [ Player no Button no PlayerHold ] -> [ Door Powered CheckpointTrigger ] [ Player ] checkpoint | |
late [ WalkwayStart Powered no CheckpointTrigger ] [ Player no Button no PlayerHold ] -> [ WalkwayStart Powered CheckpointTrigger ] [ Player ] checkpoint | |
late left [ Hole | WalkwayStartL ] -> [ Hole | ] | |
late right [ Hole | WalkwayStartR ] -> [ Hole | ] | |
late up [ Hole | WalkwayStartU ] -> [ Hole | ] | |
late down [ Hole | WalkwayStartD ] -> [ Hole | ] | |
late [ Wire no Powered ] -> [ Wire Unpowered ] | |
late [ PowerTransfer no Powered ] -> [ PowerTransfer Unpowered ] | |
late [ Door Powered UpWhenPowered ] -> [ DoorUp Powered UpWhenPowered ] | |
late [ Door no Powered UpWhenPowered ] -> [ DoorDown UpWhenPowered ] | |
late [ Door Powered no UpWhenPowered ] -> [ DoorDown Powered ] | |
late [ Door no Powered no UpWhenPowered ] -> [ DoorUp ] | |
(Electrocute) | |
late left [ Electrified | Electrified ] -> [ Electrified ElectrifyingL | Electrified ElectrifyingR ] | |
late up [ Electrified | Electrified ] -> [ Electrified ElectrifyingU | Electrified ElectrifyingD ] | |
late [ PlayerDying Electrified no Claimed ] -> [ PlayerNormal Electrified Claimed ] | |
late [ Player Electrified no Claimed ] -> [ PlayerDying Electrified Claimed ] | |
late [ Player Electrified ] -> [ Player ] | |
late [ Player Claimed ] -> again | |
late [ Claimed ] -> [] | |
late [ Player DoorUp no Changed no SquashedPlayer ] -> [ Player DoorDown ] | |
late [ Changed ] -> [] | |
late [ Powered Reactor ] -> win | |
late [ ReactorTrigger Player ] [ ReactorTrigger ] -> checkpoint | |
late [ ReactorTrigger Player ] [ ReactorTrigger ] -> message The reactor core! I have to take it down by any means necessary. | |
late [ ReactorTrigger Player ] [ ReactorTrigger no Player ] -> [ ReactorTrigger Player ] [] | |
late [ ReactorTrigger Player ] -> [ Player ] | |
late [ Powered no WasPowered ] -> [ Powered WasPowered ] | |
late [ no Powered WasPowered ] -> [] | |
============== | |
WINCONDITIONS | |
============== | |
(all button on Crate | |
no LassoCaught | |
no Rope | |
no LassoReturn) | |
======= | |
LEVELS | |
======= | |
(############################################ | |
#.........##.........##..!......##.........# | |
#...!!!!..##.......┌-----!......##.........# | |
#....*|...##.......|.##..!......##.........# | |
#.!.!!!!!!##!!!!!!!!!##.........##.........# | |
#.!--┘.|..##.|..|....##.!!!.....##.........# | |
#.&...!!!!##.!..|....##..|...!!!##.........# | |
#.*.....└----!..├-@..##..|...!..##.........# | |
#!&!......##.!..|....##..└-┐.!..##.........# | |
#.........##....|....##....|.!..##.........# | |
################n##########n#!..############ | |
################n##########n#!..############ | |
############....|....##....|.!......oo.....# | |
############@---2---@##.@..|.!-----┐oo.....# | |
############.........##.|..|.!.....└!!--%..# | |
############@---┬---@##.2--┘.!!!##..oo..|..# | |
############...o↓o...##.|.......##..oo..|..# | |
############ooooooooooo.|.oo#...##..oooo↓oo# | |
############oo.....oooo.|.oo#!!!##..ooooooo# | |
############oo.....oooo.|.oo#.|.##.........# | |
############oo.....ooooo↓ooo#.|.##.........# | |
################.ooooooooooo##|##########.## | |
################.ooooooooooo##|##########.## | |
#....@----------┐oooooooooooo.|.##┌----!...# | |
#.oooooooooooooo↓oooooo...ooo.├---┘...o!...# | |
#[email protected]!&!##....o!┐..# | |
#.oo...oooooooo...ooooo.|.ooo...####..oo|### | |
#*oo.#.ooooooo←[email protected]|oooo...####..oo|### | |
#.oo...oooooooo...ooo##o|o##########..oo|### | |
#.oooooooooooooo.oooo##.|.......##....o!┘..# | |
#.oooooooooooooo.....nn-┴-------nn┐...o!.*.# | |
#.ooooooooooooooooooo##.........##└----!-┐.# | |
###########################n#############n## | |
###########################n#############n## | |
#.........##.........##....|....##w........# | |
#.......*.##.........##..@-2-@..##.........# | |
#.........##......┌--nn-┐.......##o!!!o!!!o# | |
#.........##...%..|..##.|.......##o!%ooo%!o# | |
#p...┌--@.##...|..|..##!!!!#!!!!##o!!!!!!!o# | |
#....|....##!!!!!!!!!##....#.|..##.........# | |
#....|....##.........##.%--═-┘..##.!!!-!!!.# | |
#....|....##.........##....#..*.##.!%!-!%!.# | |
#....|....##.........##....#....##.!!!-!!!.# | |
#####n########n##############..###.|||.|||.# | |
#####n########n##############..###.|||.|||.# | |
#.........##..|..oo..##...ooo...##.!!!-!!!.# | |
#....*....##..|..oo..##...ooo...##.!%!-!%!.# | |
#.........##..└@.oo..##...ooo...##.!!!-!!!.# | |
#.........##.....oo..##...ooo.@.##.|||.|||.# | |
#.........##.....oo..##...ooo.|.##.|||.|||.# | |
#oooooooooooooooooo.......oo←-┘.##.!!!-!!!.# | |
#oooooo↑oooooo↑oooo.......oo←...##.!%!-!%!.# | |
#..@---┘......|..oo..##...ooo...##.!!!┬!!!.# | |
#[email protected]..##...ooo...##...|||...# | |
#################oo##################|||#### | |
#####################################|||#### | |
#.........##.........##.........##@%!┴┴┘...# | |
#.........##.........##.........##%@!......# | |
#.........##.........##.........##@%!.*.*..# | |
#.........##.........##.........##!!!......# | |
#.........##.........##.........##ooooooooo# | |
#.........##.........##.........##ooooooooo# | |
#.........##.........##.........##oo!!!!!oo# | |
#.........##.........##.........##oo!┴┬┴!oo# | |
#.........##.........##.........##oo!┬$┬!oo# | |
##################################oo!┤|├!oo#) | |
###########################x##### | |
#.........##.........##....|....# | |
#.......*.##.........##..@-2-@..# | |
#.........##......┌--nn-┐.......# | |
#.........##...%..|..##.|.......# | |
p....┌--@.##...|..|..##!!!!#!!!!# | |
#....|....##!!!!!!!!!##....#.|..# | |
#....|....##.........##.%--═-┘..# | |
#....|....##.........##....#..*.# | |
#....|....##.........##....#....# | |
#####n########n##############..## | |
#####n########n##############..## | |
#.........##..|..oo..##...ooo...# | |
#....*....##..|..oo..##...ooo...# | |
#.........##..└@.oo..##...ooo...# | |
#.........##.....oo..##...ooo.@.# | |
#.........##.....oo..##...ooo.|.# | |
#oooooooooooooooooo.......oo←-┘.# | |
#oooooo↑oooooo↑oooo.......oo←...# | |
#..@---┘......|..oo..##...ooo...# | |
#[email protected]..##...ooo...# | |
#################oo############## | |
####################################################### | |
#.........##.........##..!......##.........##.........# | |
#...!!!!!.##.......┌-----!......##.........##.........# | |
#....*|...##.......|.##..!......##.........##.........# | |
#.!.!!!!!!##!!!!!!!!!##.........##.........##.........# | |
#.!--┘.|..##.|..|....##.!!!.....##.........##.........# | |
#.&..!!!!!##.!..|....##..|...!!!##.........##.........# | |
#.*.....├----!..├-@..##..|...!..##.........##.........# | |
#!&!..!!!!##.!..|....##..└-┐.!..##.........##.........# | |
#.........##....|....##....|.!..##.........##.........# | |
################n##########n#!..####################### | |
################n##########n#!..####################### | |
############....|....##....|.!......oo.....##.........# | |
############@---2---@##.@..|.!-----┐oo.....##.........# | |
############.........##.|..|.!.....└!!--%..##.........# | |
############@---┬---@##.2--┘.!!!##..oo..|..##.........# | |
############...o↓o...##.|.......##..oo..|..##.........# | |
############ooooooooooo.|.oo#...##..oooo↓oo#═.........# | |
############oo.....oooo.|.oo#!!!##..ooooooo##.........# | |
############oo.....oooo.|.oo#.|.##.........##.........# | |
############oo.....ooooo↓ooo#.|.##.........##.........# | |
################.ooooooooooo##|##########.#######n##### | |
################.ooooooooooo##|##########.#######x##### | |
#....@----------┐oooooooooooo.|.##┌----!...##%!--┘..!%# | |
#.oooooooooooooo↓oooooo...ooo.├---┘...o!...##!!!!!..!!# | |
#[email protected]!&!##....o!┐..##!.|.!..|.# | |
#.oo...oooooooo...ooooo.|.ooo...####..oo|####!.!.!.!|.# | |
#*oo.#.ooooooo←[email protected]|oooo...####..oo|####!.!.!-!!!# | |
#.oo...oooooooo...ooo##o|o##########..oo|####!.!.!.!..# | |
#.oooooooooooooo.oooo##.|.......##....o!┘..##!.!...|..# | |
#.oooooooooooooo.....nn-┴-------nn┐...o!.*┌nn..!!!!!!!# | |
#.ooooooooooooooooooo##.........##└----!--┘##!!!....!%# | |
###########################p########################### | |
###################### | |
#....................# | |
#....................# | |
#oooooooooooo!!!o!!!oo | |
#ooo↑oooooooo!%ooo%!oo | |
#oo.|.ooooooo!!!!!!!oo | |
#oo.|.oooo##.........# | |
#o!!!!!!!o##.!!!-!!!.# | |
#o!....@!o##.!%!-!%!.# | |
#o!!!!!!!o##.!!!-!!!.# | |
#oooo...oo##.|||.|||.# | |
#oooo...oo##.|||.|||.# | |
#oo┌--┐...##.!!!-!!!.# | |
#oo@..|...##.!%!-!%!.# | |
#oo###n#####.!!!-!!!.# | |
#oo.......##.|||.|||.# | |
#oo.......##.|||.|||.# | |
#oo..*.*..##.!!!-!!!.# | |
#oo.......##.!%!-!%!.# | |
#oo.......##.!!!┬!!!.# | |
#oo.......##...|||...# | |
######p########|||#### | |
######n########zzz#### | |
#%!---┘.!%##@%!┴┴┘...# | |
#!!!!!..!!##%@!......# | |
#!.|.!..|.##@%!.*.*..# | |
#!.!.!.!|.##!!!......# | |
#!.!.!-!!!##ooooooooo# | |
#!.!.!.!..##ooooooooo# | |
#!.!...|..##oo!!!!!oo# | |
n..!!!!!!!##oo!┴┬┴!oo# | |
#!!!....!%##oo!┬$┬!oo# | |
############oo!┤|├!oo# | |
(####################################################### | |
#.........##.....!...##.........##...#.....##.........# | |
#...!!!!!.##.....!-┬-nn.........##...#.....##.........# | |
#....*|...##...┌-!.|.##.........##.*.#...@.##.........# | |
#.!.!!!!!!##...|.##|.##.........##...#...|.##.........# | |
#.!-┬┘.|..##...@.##|.##.!!!.....##.@[email protected].##.........# | |
#.&.|!!!!!##.!...##|.##..|...!!!##...#...|.##.........# | |
#.*.|...├----!...!.|.##..|...!..##.*.#...@.##.........# | |
#!!!┘.!!!!##.!--┐!-┘.##..└┐..!..##...#.....##.........# | |
#.........##....|!...##...|..!..##...#.....##.........# | |
################n#########n##!..#######################) | |
message BOOM | |
message You will be remembered as a hero |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment