Created
June 3, 2014 14:56
-
-
Save anonymous/1727420d3cc78d3f3384 to your computer and use it in GitHub Desktop.
title
This file contains hidden or 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 hidden or 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 | |
verbose_logging | |
======== | |
OBJECTS | |
======== | |
Background | |
LIGHTGREEN GREEN | |
11111 | |
01111 | |
11101 | |
11111 | |
10111 | |
Crate | |
DarkBlue | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
Wall | |
BROWN DARKBROWN | |
00010 | |
11111 | |
01000 | |
11111 | |
00010 | |
PlayerNormal | |
DarkBrown Orange White Blue | |
.000. | |
.000. | |
22222 | |
.333. | |
.3.3. | |
PlayerAiming | |
DarkBrown Yellow White Blue | |
.000. | |
.0001 | |
22222 | |
.333. | |
.3.3. | |
LassoAboveHead | |
Orange Yellow | |
..... | |
.000. | |
0...0 | |
.000. | |
..1.. | |
..... | |
Lasso | |
Orange | |
.000. | |
0...0 | |
0...0 | |
0...0 | |
.000. | |
RopeH | |
Yellow | |
..... | |
..... | |
00000 | |
..... | |
..... | |
RopeV | |
Yellow | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
RopeUL | |
Yellow | |
..0.. | |
..0.. | |
000.. | |
..... | |
..... | |
RopeUR | |
Yellow | |
..0.. | |
..0.. | |
..000 | |
..... | |
..... | |
RopeDL | |
Yellow | |
..... | |
..... | |
000.. | |
..0.. | |
..0.. | |
RopeDR | |
Yellow | |
..... | |
..... | |
..000 | |
..0.. | |
..0.. | |
Done | |
transparent | |
Here | |
transparent | |
U | |
transparent | |
D | |
transparent | |
L | |
transparent | |
R | |
transparent | |
(U | |
red | |
..0.. | |
.0.0. | |
..... | |
..... | |
..... | |
D | |
red | |
..... | |
..... | |
..... | |
.0.0. | |
..0.. | |
L | |
red | |
..... | |
.0... | |
0.... | |
.0... | |
..... | |
R | |
red | |
..... | |
...0. | |
....0 | |
...0. | |
.....) | |
======= | |
LEGEND | |
======= | |
Player = PlayerNormal or PlayerAiming | |
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 | |
Solid = Wall or Crate | |
Chain = Rope or Lasso or Player | |
. = Background | |
# = Wall | |
P = PlayerNormal | |
* = Crate | |
======= | |
SOUNDS | |
======= | |
Crate MOVE 36772507 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
Player, Wall, Crate | |
LassoAboveHead | |
Lasso, Rope | |
Direction, Done, Here | |
====== | |
RULES | |
====== | |
[ LassoAboveHead ] -> [] | |
(Pressing action) | |
[ action PlayerNormal ] [ Lasso Crate ] -> [ PlayerNormal ] [ Lasso action Crate ] again | |
[ action PlayerAiming ] -> [ PlayerNormal ] | |
[ action PlayerNormal ] -> [ PlayerAiming ] | |
(Throwing lasso) | |
left [ > PlayerAiming | no Wall ] -> [ PlayerNormal | L action Lasso ] again | |
right [ > PlayerAiming | no Wall ] -> [ PlayerNormal | R action Lasso ] again | |
up [ > PlayerAiming | no Wall ] -> [ PlayerNormal | U action Lasso ] again | |
down [ > PlayerAiming | no Wall ] -> [ PlayerNormal | D action Lasso ] again | |
left [ L stationary Lasso | no Wall ] -> [ RopeH | L action Lasso ] again | |
right [ R stationary Lasso | no Wall ] -> [ RopeH | R action Lasso ] again | |
up [ U stationary Lasso | no Wall ] -> [ RopeV | U action Lasso ] again | |
down [ D stationary Lasso | no Wall ] -> [ RopeV | D action Lasso ] again | |
[ Lasso stationary Crate ] -> [ action Lasso Crate no Direction ] | |
(Moving while attached) | |
[ moving Player ] [ Lasso Crate ] [ Rope ] -> [ moving Player action Done ] [ moving Lasso action Crate ] [ moving Rope ] | |
[ moving Player | Lasso Crate ] -> [ moving Player action Done | moving Lasso 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 | Lasso no Done ] -> [ < Done | Lasso Here ] | |
(Check for collisions) | |
[ stationary Here > Chain | stationary Solid ] -> [ action Here > Chain | Solid ] (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) | |
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 ] | |
[ moving Done ] -> [ Done ] | |
[ Here ] -> [ action Done ] | |
(End loop) | |
endloop | |
[ Here ] -> [] | |
[ Done ] -> [] | |
([ 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 Lasso action Crate ] -> [ moving Lasso moving Crate ] | |
(Pull the end of the lasso towards the player by one tile) | |
[ stationary Lasso Direction ] -> [ Lasso ] again | |
left [ stationary Lasso | RopePullsL ] -> [ > Lasso | ] again | |
right [ stationary Lasso | RopePullsR ] -> [ > Lasso | ] again | |
up [ stationary Lasso | RopePullsU ] -> [ > Lasso | ] again | |
down [ stationary Lasso | RopePullsD ] -> [ > Lasso | ] again | |
[ stationary Lasso | Player ] -> [ | Player no Direction ] | |
[ moving Lasso stationary Crate ] -> [ moving Lasso moving Crate ] | |
[ Lasso Player ] -> [ Player ] | |
(Add graphics) | |
late up [ PlayerAiming | ] -> [ PlayerAiming | LassoAboveHead ] | |
============== | |
WINCONDITIONS | |
============== | |
======= | |
LEVELS | |
======= | |
########## | |
#........# | |
#.*......# | |
#......*.# | |
#....p...# | |
#........# | |
#.*....*.# | |
#........# | |
#........# | |
########## |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment