Skip to content

Instantly share code, notes, and snippets.

@Ragzouken
Forked from anonymous/readme.txt
Last active August 29, 2015 14:01
Show Gist options
  • Select an option

  • Save Ragzouken/5f8b385fc4cd16c8139f to your computer and use it in GitHub Desktop.

Select an option

Save Ragzouken/5f8b385fc4cd16c8139f to your computer and use it in GitHub Desktop.
http://www.puzzlescript.net/play.html?p=5f8b385fc4cd16c8139f
title harpoon
author mark wonnacott
homepage http://twitter.com/ragzouken
again_interval 0.1
========
OBJECTS
========
MoveUp
white
MoveDown
white
MoveLeft
white
MoveRight
white
Grabbed
orange
Fired
red
Pulling
yellow
EraseChain
white
Background
black darkblue
00010
00000
00000
01000
00000
Floor
darkblue darkgreen
00000
01000
00010
00001
00100
Dirt
black darkbrown darkblue
01112
21212
02121
20021
00010
Wall
darkgreen grey darkgrey
01112
21212
02121
20021
00010
HarpoonU
grey darkgrey darkgreen
..0..
.101.
.100.
21101
22100
HarpoonR
grey darkgrey darkgreen
01...
0001.
10000
1111.
12...
HarpoonD
grey darkgrey darkgreen
21100
21101
.210.
.211.
..1..
HarpoonL
grey darkgrey darkgreen
...10
.1000
11111
.2211
...22
ChainV
grey darkgrey
..1..
.010.
.0.0.
.010.
..1..
ChainH
grey darkgrey
.....
.000.
11.11
.000.
.....
Player
black darkgrey yellow
..1..
.111.
.212.
00100
00000
=======
LEGEND
=======
. = Background
, = Floor
# = Dirt
x = Wall
U = HarpoonU and Floor
HarpoonV = HarpoonU or HarpoonD
HarpoonH = HarpoonL or HarpoonR
Harpoon = HarpoonV or HarpoonH
Chain = ChainV or ChainH
Movement = MoveUp or MoveDown or MoveLeft or MoveRight
(Moveable = Harpoon)
Moveable = HarpoonU or HarpoonD or HarpoonL or HarpoonR or Player
HarpoonState = Grabbed or Fired or Pulling
@ = Player and Floor
=======
SOUNDS
=======
sfx0 42134702 (harpoon embed)
sfx1 47981307 (fininish pulling)
sfx2 24680901 (fall)
Chain create 51709100
Chain destroy 51709100
Dirt destroy 25748707
================
COLLISIONLAYERS
================
HarpoonState EraseChain
Movement
Background
Floor
Chain
Player Wall Dirt Harpoon
======
RULES
======
(player, harpoon falls)
late [ Player no Floor | Harpoon no Pulling ] -> [ | Harpoon ] sfx2
late [ Chain | Harpoon no Floor no Pulling no Fired ] -> [ Chain EraseChain | ]
late [ Harpoon no Floor no Pulling no Fired ] -> [ ] sfx2
(don't walk off the edge)
[ > Player | no Floor ] -> [ Player | ]
(cancel chain)
[ orthogonal Player | ... | Chain ] -> [ orthogonal Player | ... | ]
[ Chain no EraseChain | Chain stationary EraseChain ] -> [ Chain action EraseChain | ] again
[ Chain stationary EraseChain ] -> [ ]
([ Chain ] -> [ action Chain ]
[ Player | ... | Chain ] -> [ Player | ... | > Chain ]
[ > Chain | ... | Harpoon ] -> [ Chain | ... | Harpoon ]
[ moving Chain ] -> [ ])
(pull towards chain)
[ action Player | Chain | ... | Harpoon ] -> [ Player | Chain | ... | Harpoon Pulling ]
(pull player)
[ Player Chain ] -> [ Player ]
[ Player | ... | Harpoon Pulling ] -> [ > Player | ... | Harpoon Pulling ] again
[ Player | Harpoon Pulling ] -> [ Player | Harpoon ] sfx1 again
([ Player | Harpoon Pulling ] -> [ Player | Harpoon ] sfx1 again)
(push/pull harpoon)
[ HarpoonU ] -> [ up HarpoonU ]
[ HarpoonD ] -> [ down HarpoonD ]
[ HarpoonL ] -> [ left HarpoonL ]
[ HarpoonR ] -> [ right HarpoonR ]
[ > Player | Harpoon ] -> [ > Player | > Harpoon > Grabbed ]
[ < Player | > Harpoon ] -> [ < Player | < Harpoon < Grabbed ]
[ ^ Player | > Harpoon ] -> [ ^ Player | < Harpoon < Grabbed MoveRight ]
[ v Player | > Harpoon ] -> [ v Player | < Harpoon < Grabbed MoveLeft ]
[ orthogonal Harpoon no Grabbed ] -> [ Harpoon ]
[ moving HarpoonU Grabbed MoveRight ] -> [ moving HarpoonR ]
[ moving HarpoonD Grabbed MoveRight ] -> [ moving HarpoonL ]
[ moving HarpoonL Grabbed MoveRight ] -> [ moving HarpoonU ]
[ moving HarpoonR Grabbed MoveRight ] -> [ moving HarpoonD ]
[ moving HarpoonU Grabbed MoveLeft ] -> [ moving HarpoonL ]
[ moving HarpoonD Grabbed MoveLeft ] -> [ moving HarpoonR ]
[ moving HarpoonL Grabbed MoveLeft ] -> [ moving HarpoonD ]
[ moving HarpoonR Grabbed MoveLeft ] -> [ moving HarpoonU ]
[ Grabbed ] -> [ ]
(fire harpoon)
up [ action Player | HarpoonU ] -> [ Player | Fired HarpoonU ]
down [ action Player | HarpoonD ] -> [ Player | Fired HarpoonD ]
left [ action Player | HarpoonL ] -> [ Player | Fired HarpoonL ]
right [ action Player | HarpoonR ] -> [ Player | Fired HarpoonR ]
up [ Fired HarpoonU ] -> [ > Fired > HarpoonU ]
down [ Fired HarpoonD ] -> [ > Fired > HarpoonD ]
left [ Fired HarpoonL ] -> [ > Fired > HarpoonL ]
right [ Fired HarpoonR ] -> [ > Fired > HarpoonR ]
[ > Fired > Harpoon | Wall ] -> [ Harpoon | Wall ] sfx0 again
vertical [ > Fired > Harpoon ] -> [ > Fired > Harpoon ChainV ]
horizontal [ > Fired > Harpoon ] -> [ > Fired > Harpoon ChainH ]
[ > Harpoon > Fired | Dirt ] -> [ > Harpoon | Floor ]
[ > Harpoon | Dirt ] -> [ > Harpoon | Floor ]
[ > Fired > Harpoon ] -> [ > Fired > Harpoon ] again
late [ Chain Harpoon ] -> [ Harpoon ]
==============
WINCONDITIONS
==============
=======
LEVELS
=======
xxxxxxxxxxxxxxx
x....,,,......x
x..,,,,,,,,...x
x.,,,,,u,,,...x
x.,@,,,,,,....x
x..,,,,.......x
x,,,,,......,,x
x,,,,......,,,x
x,,,.......,,,x
x.,.........#,x
x...........#,x
x......,,...,,x
x.,,###,,...,,x
x,######,.....x
x#,,,,,,......x
xxxxxxxxxxxxxxx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment