Title Princess of Isometria v0.9
realtime_interval 0.09
key_repeat_interval 0.09
throttle_movement
run_rules_on_level_start
text_color darkgreen
noundo
homepage http://iotxt.net/isometria/
(Updated: Sun 14.12.2014)

========
OBJECTS
========
(
Player P
black
GoU
green
GoD
brown
GoL
rHero
GoR
blue
Act
white

Top
blue
CU
white
CD
black
C5
transparent
C4
transparent
C3
green
C2
yellow
C1
orange
C0
rHero
)
Player P
transparent
GoU
transparent
GoD
transparent
GoL
transparent
GoR
transparent
Act
transparent

(
W32
yellow
W16
yellow
W8
yellow
W4
yellow
W2
yellow
W1
yellow
)

W32
transparent
W16
transparent
W8
transparent
W4
transparent
W2
transparent
W1
transparent
CD
transparent

Background .
black
Safezone SZ
transparent
(Seinäpikselit oikeelle ylös vielä tästä ylöspäin ^)

WallN #
darkblue darkgreen darkgrey grey black
33213
11111
21333
21332
11111
WallL
darkblue darkgreen darkgrey grey black
...13
...11
...13
...13
...11
WallLC
darkblue darkgreen darkgrey grey black
...13
...11
.....
.....
.....
EdgeR
darkblue darkgreen darkgrey grey #111922
0....
0....
0....
0....
4....
EdgeC
darkblue darkgreen darkgrey grey black
0....
0....
0....
0....
.....
WallTR
darkblue darkgreen darkgrey grey #111922
22221
11110
21310
21210
11110

WallR
darkblue darkgreen darkgrey grey #111922
33214
11110
21310
21210
11110
WallRC
darkblue darkgreen darkgrey grey black
33211
11111
21333
21332
11111
WallT
darkblue darkgreen darkgrey grey black
22221
11111
21333
21332
11111
WallTL
darkblue darkgreen darkgrey grey black
....1
...11
...13
...13
...11
FloorN
darkblue darkgreen darkgrey grey black
.....
.....
.....
.....
12222
FloorR
darkblue darkgreen darkgrey grey black
.....
.....
.....
.....
1....
FloorL
darkblue darkgreen darkgrey grey black
.....
.....
.....
.....
12222

Pillar |
darkblue darkgreen darkgrey grey black
31...
31...
21...
10...
31...
PillarBase
darkblue darkgreen darkgrey grey black
31...
.....
.....
.....
.....
PillarB
darkblue darkgreen darkgrey grey #111922
...04
...10
...10
...10
...10
PillarBBase
darkblue darkgreen darkgrey grey #111922
...04
...10
...10
...10
.....
Tiles1 ,
#111922
.....
.00.0
.....
0.00.
.....
Tiles2 ;
#111922
.00.0
.....
0.00.
.....
...00

Abyss _
transparent

ButtonT
darkblue darkgreen darkgrey grey black
.....
.....
.....
.....
.3333

ButtonB
darkblue darkgreen darkgrey grey black
3333.
.....
.....
.....
.....


DoorTop
brown darkbrown darkblue darkgreen darkgrey grey #111922
..22.
..26.
..61.
..10.
..00.
DoorMiddle
brown darkbrown darkblue darkgreen darkgrey grey
..012
..10.
..00.
..01.
..10.
DoorBottom
brown darkbrown
..0..
.....
.....
.....
.....

DoorTopOpen
brown darkbrown darkblue darkgreen darkgrey grey #111922
..22.
..26.
..61.
..1..
.....

DoorOpening
brown darkbrown darkblue darkgreen darkgrey grey
..012
..10.
..0..
.....
.....

DoorOpen
transparent
DoorLeft
transparent
DoorRight
transparent
DoorClick
transparent
DoorPress
transparent
ClickOpen +
transparent
PressOpen -
transparent

SpikeFdown
darkblue
.0...
.....
.....
.....
.....
SpikeBdown "
darkblue
.....
.....
.....
.....
...0.
SpikeFUp
white
.0...
.....
.....
.....
.....
SpikeFUp2
white lightgrey grey
.....
.....
.2...
.1...
.0...
SpikeBUp
white lightgrey grey
.....
...2.
...1.
...0.
...0.

Gem *
white lightgreen green
.....
.....
.201.
.100.
.212.

Torch1 !
darkgreen darkblue yellow lightbrown
.....
..3..
..2..
.101.
..1..
Torch2
darkgreen darkblue lightbrown orange
.....
..3..
..2..
.101.
..1..
Torch3
darkgreen darkblue orange brown
.....
..3..
..2..
.101.
..1..

ETemp
transparent

HeroR1 H
brown orange purple darkbrown
..00.
..01.
..02.
..13.
..22.
HeroR2
brown orange purple darkbrown
0....
1....
2....
1....
22...
HeroRTail
brown orange purple darkbrown
....0
....0
....0
....3
...22
HeroR3
brown orange purple darkbrown
...00
...01
...02
...31
..222
HeroR1P
brown orange purple darkbrown
..00.
..01.
..021
..33.
.2222
HeroR2P
brown orange purple darkbrown
00...
01...
021..
33...
22...
HeroRH
brown orange purple darkbrown
..001
..01.
..02.
.2232
..222
HeroRJ1
brown orange purple darkbrown
..00.
..01.
..021
.1322
.22..
HeroRJ2
brown orange purple darkbrown
..00.
.001.
.1221
.2222
.....
HeroRFall
brown orange purple darkbrown
.00..
.000.
.201.
.1221
..222
HeroRK
brown orange purple darkbrown
.....
..00.
..01.
..02.
.2221
HeroRT
brown orange purple darkbrown
..00.
..11.
..22.
.1231
..22.
HeroL1
brown orange purple darkbrown
.00..
.10..
.20..
.31..
.22..
HeroL2
brown orange purple darkbrown
....0
....1
....2
....1
...22
HeroLTail
brown orange purple darkbrown
0....
0....
0....
3....
22...
HeroL3
brown orange purple darkbrown
00...
10...
20...
13...
222..
HeroL1P
brown orange purple darkbrown
.00..
.10..
120..
.33..
2222.
HeroL2P
brown orange purple darkbrown
...00
...10
..120
...33
...22
HeroLH
brown orange purple darkbrown
100..
.10..
.20..
2322.
222..
HeroLJ1
brown orange purple darkbrown
.00..
.10..
120..
2231.
..22.
HeroLJ2
brown orange purple darkbrown
.00..
.100.
1221.
2222.
.....
HeroLFall
brown orange purple darkbrown
..00.
.000.
.102.
1221.
222..
HeroLK
brown orange purple darkbrown
.....
.00..
.10..
.20..
1222.
HeroLT
brown orange purple darkbrown
.00..
.00..
.00..
1321.
.22..
HeroDeadL
brown orange purple darkred
.....
.....
.....
23310
31000
HeroDeadR
brown orange purple darkred
.....
.....
.....
01332
00013

HeroExit
brown orange purple darkbrown
..00.
..00.
..00.
.1321
..22.

Crate o
darkblue darkgreen  darkgrey green #111922
.1231
00123
01012
40101
04004
CrateRL
darkblue darkgreen  darkgrey green #111922
...01
...00
...01
...40
...04
CrateRR
darkblue darkgreen  darkgrey green #111922
231..
123..
012..
101..
004..
CrateLL
darkblue darkgreen  darkgrey green #111922
..012
..001
..010
..401
..040
CrateLR
darkblue darkgreen  darkgrey green #111922
31...
23...
12...
01...
04...

ExitTL
darkblue black darkgrey grey
.....
33333
21111
21111
21111
ExitTR
darkblue black darkgrey grey
.....
333..
112..
112..
112..
ExitBL X
#111922 black darkgrey grey
21010
20101
20010
20000
.....
ExitBR
#111922 black darkgrey grey
102..
012..
102..
002..
.....

WindowT
black darkgreen darkblue darkgrey #111922
.....
42224
20102
21012
20102
WindowB z
black darkgreen darkblue darkgrey
21012
20102
21012
22222
.....

Zero 0
darkgrey darkgreen darkblue
.1012
.0202
.0202
.0202
.1012
One 1
darkgrey darkgreen darkblue
..02.
.102.
..02.
..02.
.1012
Two 2
darkgrey darkgreen darkblue
.1012
.0202
...12
..12.
.0002
Three 3
darkgrey darkgreen darkblue
.1012
...02
..012
...02
.1012
Four 4
darkgrey darkgreen darkblue
...02
..102
.1202
.0001
...02
Five 5
darkgrey darkgreen darkblue
.0002
.12..
.1012
...02
.1012
Six 6
darkgrey darkgreen darkblue
.1012
.02..
.011.
.0.02
.1012
Seven 7
darkgrey darkgreen darkblue
.0002
...12
..12.
..12.
.12..
Eight 8
darkgrey darkgreen darkblue
.1012
.0202
.1012
.0202
.1012
Nine 9
darkgrey darkgreen darkblue
.1012
.0202
.2102
...02
.1012

=======
LEGEND
=======

Wall = WallN or WallT or WallR or WallTR or WallRC
FWall = WallL or WallTL or WallLC
Floor = FloorN or FloorL or FloorR
Top = WallT or WallTR

Block = Wall or Crate

Door = DoorTop or DoorMiddle or DoorTopOpen or DoorOpening
DoorType = DoorLeft or DoorRight or DoorClick or DoorPress

Torch = Torch1 or Torch2 or Torch3

Go = GoU or God or GoL or GoR or Act
ActOrUp = GoU or Act

W = W1 or W2 or W4 or W8 or W16 or W32

HeroR  = HeroR1 or HeroR2 or HeroR3 or HeroRH
HeroL  = HeroL1 or HeroL2 or HeroL3 or HeroLH
HeroK  = HeroRK or HeroLK
HeroP  = HeroR1P or HeroR2P or HeroL1P or HeroL2P
HeroRStat = HeroRJ1 or HeroRJ2 or HeroRFall or HeroRK or HeroRT or HeroR1P or HeroR2P
HeroLStat = HeroLJ1 or HeroLJ2 or HeroLFall or HeroLK or HeroLT or HeroL1P or HeroL2P
HeroFall = HeroLFall or HeroRFall

HeroRAny = HeroR or HeroRStat
HeroLAny = HeroR or HeroRStat

Hero   = HeroR or HeroL or HeroRStat or HeroLStat or HeroExit

HeroDead = HeroDeadL or HeroDeadR

Weight = Hero or Crate

L = DoorMiddle and DoorLeft
R = DoorMiddle and DoorRight
C = DoorMiddle and DoorClick
E = DoorMiddle and DoorPress

i = Pillar and SpikeBDown
§ = Pillar and crate
& = Pillar and Gem
¶ = crate and SpikeBDown
ö = Gem and SpikeBDown

Trigger = PressOpen or ClickOpen
Button = ButtonT or ButtonB

SpikeB = SpikeBDown or SpikeBUp
SpikeF = SpikeFDown or SpikeFUp or SpikeFUp2
Spike = SpikeB or SpikeF

Exit = ExitTL or ExitTR or ExitBL or ExitBR

Num = 0 or 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9

=======
SOUNDS
=======

sfx0 72578308
sfx1 11877904
sfx2 39362308

sfx9 90100108 (Fire crcakles)

Gem destroy 16347500
HeroK create 68940704
HeroRH create 64893504
HeroLH create 64893504
DoorOpening create 73647308
DoorMiddle create 66562904

SpikeFUp create 7253707

HeroDead create 72578308
HeroDeadL create 63924504
HeroDeadR create 63924504

CrateRL create 62210304
CrateLR create 62210304

restart 87001708
endlevel 45035308

(76555308 dunggg diungggg)
(45286708 distant helicopter)
(85688508 bwobab)
(90992708 computer says maybe...)
(56793908 ...or maybe not)
(87982108 OK gun)
(8969508 brrrwuum)
(8139308 giant beetle)

================
COLLISIONLAYERS
================

Background
Player
Go
Safezone
Exit
Tiles1 Tiles2 Torch WindowT WindowB Num
EdgeR EdgeC
Floor Abyss
PillarB PillarBBase
SpikeB
Gem
ButtonT
CrateLR CrateRL
HeroR HeroL HeroRTail HeroLTail HeroRStat HeroLStat HeroExit Wall HeroRH Door Crate CrateRR CrateLL
HeroDead
ButtonB
SpikeF
Pillar PillarBase
DoorBottom DoorOpen
DoorType Trigger
FWall
ETemp
W1
W2
W4
W8
W16
W32
CD

======
RULES
======

( Environment )
(-------------)

( Walls, safezones )

up    [ Wall  | no Wall ]  -> [ WallT | FloorN ]
up    [ Block | no Block ] -> [ Block | SZ ]

down  [ SZ | no Block ] -> [ | no Top ]
left  [ WallN | no Wall ] -> [ WallN | WallL ]
left  [ WallT | no Wall ] -> [ WallT | WallTL ]
right [ WallN | no Wall ] -> [ WallR | ]
right [ WallT | no Wall ] -> [ WallTR | ]


left  [ WallN | WallT ] -> [ WallN | WallT WallLC ]
left  [ WallR | WallT ] -> [ WallR | WallT WallLC ]
right [ WallN | WallT ] -> [ WallRC | WallT ]
right [ WallN | WallTR ] -> [ WallRC | WallTR ]

right [ FloorN | no Floor ] -> [ FloorN | FloorR ]
left  [ FloorN | no FloorN no FloorL] -> [ FloorL | ]

right [ Wall | no Wall ] -> [ Wall | EdgeR ]

down [ EdgeR | no EdgeR no EdgeC ] -> [ EdgeC | ]

( Torches )
[ stationary P ][ Torch ] -> [ P ][ action Torch ]
[ stationary P ][ action Torch ] -> [ P ][ random Torch ]

[ stationary P ][ Torch1 | Hero ] -> [ P ][ Torch1 | Hero ] sfx9

( Exit )
right [ ExitBL | no Exit ] -> [ ExitBL | ExitBR ]
up    [ ExitBL | no Exit ] -> [ ExitBL | ExitTL ]
up    [ ExitBR | no Exit ] -> [ ExitBR | ExitTR ]

( Window )
up [ WindowB | ] -> [ WindowB | WindowT ]


( Spikes )
(--------)

( Spikes go down )
(
up [ stationary P ][ SpikeBUp no Hero | ... | no Hero ] -> [ P ][ SpikeBDown| ... | ]
up [ stationary P ][ SpikeFUp no Hero | ... | no Hero ] -> [ P ][ SpikeFDown | ... | ]
)

( Spikes come up )
up [ stationary P ][ SpikeBDown | ... | Hero ] -> [ P ][ SpikeBUp | ... | Hero ]
up [ stationary P ][ SpikeFDown | ... | Hero ] -> [ P ][ SpikeFUp | ... | Hero ]

up [ stationary P ][ SpikeBDown Hero ] -> [ P ][ SpikeBUp Hero ]
up [ stationary P ][ SpikeFDown Hero ] -> [ P ][ SpikeFUp Hero ]

( Make sure both front and back spikes change )
down [ SpikeBDown | no SpikeFDown ] -> [ SpikeBDown | SpikeFDown ]
up   [ SpikeFup | no SpikeFup2 ] -> [ SpikeFUp | SpikeFUp2 ]
up   [ no SpikeFup | SpikeFUp2 ] -> [ |  ]


( Doors )
(-------)

[ stationary P ][ DoorOpening no W ] -> [ P ][ DoorOpen ]

down [ stationary P ][ DoorTop | no DoorMiddle no DoorOpening ] -> [ P ][ DoorTopOpen | ]

( One way doors )
right [ stationary P ][ Hero | DoorMiddle DoorRight ] -> [ P ][ Hero | DoorOpening DoorRight W2 ]
right [ stationary P ][ no Hero | DoorRight DoorOpen no Hero ] -> [ P ][ | DoorRight DoorMiddle ]
left [ stationary P ][ Hero | DoorMiddle DoorLeft ] -> [ P ][ Hero | DoorOpening DoorLeft W2 ]
left [ stationary P ][ no Hero | DoorLeft no Hero ] -> [ P ][ | DoorLeft DoorMiddle ]

( Click-to-open doors )
[ stationary P ][ Weight ClickOpen ] [ DoorMiddle DoorClick ] -> [ P ][ Weight ] [ DoorOpening DoorClick ] sfx2

( Press-to-open doors )
[ stationary P ][ Weight PressOpen ] [ DoorMiddle DoorPress ] -> [ P ][ Weight PressOpen] [ DoorOpening DoorPress ] sfx2
[ stationary P ][ no Weight PressOpen ] [ DoorOpen DoorPress ] -> [ P ][ PressOpen ] [ DoorMiddle DoorPress ] sfx2



up [ stationary P ][ DoorBottom | no DoorMiddle ] -> [ P ][ | ]
[ stationary P ][ DoorMiddle ] -> [ P ][ DoorMiddle Pillar ]
down [ stationary P ][ | DoorMiddle | ] -> [ P ][ DoorTop | DoorMiddle | DoorBottom ]

( Buttons )
(---------)

      [ stationary P ][ Trigger ]   -> [ P ][ Trigger ButtonT ]
down  [ stationary P ][ ButtonT | ] -> [ P ][ ButtonT | ButtonB ]

      [ stationary P ][ no Trigger ]   -> [ P ][ no ButtonT ]
down  [ stationary P ][ no ButtonT | ] -> [ P ][ | no ButtonB ]


( Pillars )
(---------)

up   [ Pillar | no Pillar no Wall ] -> [ Pillar | Pillar ]
     [ Pillar ] -> [ Pillar PillarB ]
down [ Pillar Floor | ] -> [ Pillar Floor PillarBBase| PillarBase ]


( "Player" )
(----------)

[ up     P ] -> [ up P GoU ]
[ down   P ] -> [ up P GoD ]
[ left   P ] -> [ up P GoL ]
[ right  P ] -> [ up P GoR ]
[ action P ] -> [ up P Act ]

( Hero )
(------)


( Pushing crates, crates falling )
right [ stationary P ][ HeroR2P CrateRL no W | CrateRR ]  -> [ P ][ HeroR1P W8 | Crate ]
right [ stationary P GoR ][ HeroR1P no W | Crate | no Block ] -> [ P ][ | HeroR2P W2 CrateRL SZ | CrateRR ]
right [ stationary P GoR ][ HeroR1 no W | Crate ] -> [ P ][ HeroR1P W8 | Crate ]
      [ stationary P Go no GoR ][ HeroR1P no W ] -> [ P ][ HeroR1 ]

left  [ stationary P ][ HeroL2P CrateLR no W | CrateLL ]  -> [ P ][ HeroL1P W8 | Crate ]
left  [ stationary P GoL ][ HeroL1P no W | Crate | no Block ] -> [ P ][ | HeroL2P W2 CrateLR SZ | CrateLL ]
left  [ stationary P GoL ][ HeroL1 no W | Crate ] -> [ P ][ HeroL1P W8 | Crate ]
      [ stationary P Go no GoL ][ HeroL1P no W ] -> [ P ][ HeroL1 ]


[ stationary P ][ Crate Abyss ] -> [ P ][ Abyss ]
[ stationary P ][ Crate no SZ ] -> [ P ][ down Crate ]
down [ stationary P ][ > Crate | SZ ] -> [ P ][ > Crate | SZ ] sfx1


right [ stationary P ][ HeroR1P | no Crate ] -> [ P ][ HeroR1 W8 | ]
left  [ stationary P ][ HeroL1P | no Crate ] -> [ P ][ HeroL1 W8 | ]


( Grabbing the ledge )

right [ stationary P ][ HeroRJ1   no SZ | Top ] -> [ P ][ HeroRH W4 W2 | Top ]
right [ stationary P ][ HeroRFall no SZ | Top ] -> [ P ][ HeroRH W4 W2 | Top ]

left  [ stationary P ][ HeroLJ1   no SZ | Top ] -> [ P ][ HeroLH W4 W2 | Top ]
left  [ stationary P ][ HeroLFall no SZ | Top ] -> [ P ][ HeroLH W4 W2 | Top ]


( Falling off)
[ stationary P ][ HeroFall Abyss ] -> [ stationary P ][ Abyss ] sfx0

( Falling )
[ stationary P ][ HeroR  no HeroRH  no SZ ] -> [ P ][      HeroRFall ]
[ stationary P GoL ][ HeroRFall no SZ ] -> [ P ][ down HeroLFall ]
down [ stationary P ][ HeroRFall no SZ | SpikeB ] -> [ P ][ down HeroDeadR | SpikeB ]
[ stationary P ][ HeroRFall no SZ  ] -> [ P ][ down HeroRFall ]
[ stationary P ][ HeroRFall SZ     ] -> [ P ][ HeroRK W4 ]

[ stationary P ][ HeroL no HeroLH    no SZ ] -> [ P ][      HeroLFall ]
[ stationary P GoR ][ HeroLFall no SZ ] -> [ P ][ down HeroRFall ]
down [ stationary P ][ HeroLFall no SZ | SpikeB ] -> [ P ][ down HeroDeadL | SpikeB ]
[ stationary P ][ HeroLFall no SZ ] -> [ P ][ down HeroLFall ]
[ stationary P ][ HeroLFall SZ    ] -> [ P ][      HeroLK W4 ]

( Getting up )
[ stationary P ][ Go ][ HeroRK no W ] -> [ P ][ ][    HeroR1 ]
[ stationary P ][ Go ][ HeroLK no W ] -> [ P ][ ][    HeroL1 ]

( Turning )
[ stationary P     ][ HeroLT ]   -> [ P ][ HeroL1 ]
[ stationary P     ][ HeroRT ]   -> [ P ][ HeroR1 ]
[ stationary P GoR ][ HeroL3 ]   -> [ P ][ HeroRT ]
[ stationary P GoL ][ HeroR3 ]   -> [ P ][ HeroLT ]
[ stationary P GoR ][ HeroExit ] -> [ P ][ HeroR2 ]
[ stationary P GoL ][ HeroExit ] -> [ P ][ HeroL2 ]

[ stationary P GoR ][ HeroL no HeroLH ] -> [ P ][ HeroRT ]
[ stationary P GoL ][ HeroR no HeroRH ] -> [ P ][ HeroLT ]

( Exiting )
[ stationary P GoU ][ Hero SZ ExitBL ] -> [ P ][ HeroExit SZ ExitBL ]



( Jumping )
   [ stationary P ]       [ HeroRJ2 no SZ   ] -> [ P ]   [ right HeroRFall ]
   [ stationary P ]       [ HeroRJ2 SZ      ] -> [ P ]   [       HeroRK W4 ]
   [ stationary P ]       [ HeroRJ1         ] -> [ P ]   [ right HeroRJ2   ]
up [ stationary P ][ GoU ][ HeroR no W ] -> [ P ][ ][ up    HeroRJ1 ]
right [ stationary P ][ Act ][ HeroR no W | no Block ] -> [ P ][ ][ right    HeroRJ1 | ]

   [ stationary P ]       [ HeroLJ2 no SZ   ] -> [ P ]   [ left  HeroLFall ]
   [ stationary P ]       [ HeroLJ2 SZ      ] -> [ P ]   [       HeroLK W4 ]
   [ stationary P ]       [ HeroLJ1         ] -> [ P ]   [ left  HeroLJ2   ]
up [ stationary P ][ GoU ][ HeroL no W ] -> [ P ][ ][ up    HeroLJ1 ]
left [ stationary P ][ Act ][ HeroL no W | no Block ] -> [ P ][ ][ left    HeroLJ1 | ]

( Jumping one block )
right [ stationary P ][ GoR ][ HeroR1 | Top ] -> [ P ][ ][ up HeroRJ1 | Top ]
left  [ stationary P ][ GoL ][ HeroL1 | Top ] -> [ P ][ ][ up HeroLJ1 | Top ]

( Walking )
right [ stationary P GoR ][ HeroR1 no W | no SZ no Block ] -> [ P ][ HeroR3 | ]
      [ stationary P     ][ HeroR2      ] -> [ P ][ HeroR1 ]
right [ stationary P GoR ][ HeroR1 no W | no Block no Door ] -> [ P ][ right HeroR2 | W2 W1  ]
      [ stationary P GoR ][ HeroR3 ] -> [ P ][ right HeroR2 ]

left [ stationary P GoL ][ HeroL1 no W | no SZ no Block ] -> [ P ][ HeroL3 | ]
     [ stationary P     ][ HeroL2      ] -> [ P ][ HeroL1 ]
left [ stationary P GoL ][ HeroL1 no W | no Block no Door ] -> [ P ][ left HeroL2 | W2 W1 ]
     [ stationary P GoL ][ HeroL3      ] -> [ P ][ left  HeroL2 ]

[ HeroRTail ] -> [ ]
[ HeroLTail ] -> [ ]

late right [ | HeroR2 ] -> [ HeroRTail | HeroR2 ]
late left  [ | HeroL2 ] -> [ HeroLTail | HeroL2 ]


( Letting go )
[ stationary P GoR ][ HeroLH no W ] -> [ P ][ HeroRFall ]
[ stationary P GoL ][ HeroRH no W ] -> [ P ][ HeroLFall ]

[ stationary P GoD ][ HeroLH no W ] -> [ P ][ down HeroLFall ]
[ stationary P GoD ][ HeroRH no W ] -> [ P ][ down HeroRFall ]


[ stationary P ][ Act ][ HeroLH no W ] -> [ P ][ ][ right HeroRFall ]
[ stationary P ][ Act ][ HeroRH no W ] -> [ P ][ ][ left HeroLFall ]


[ stationary P ][ GoL ][ HeroLH no W  ] -> [ P ][ ][ up HeroLJ1 ]
[ stationary P ][ GoR ][ HeroRH no W  ] -> [ P ][ ][ up HeroRJ1 ]

left  [ stationary P GoD ][ no Block no SZ | HeroL no W ] -> [ P ][ | right HeroLFall ]
right [ stationary P GoD ][ no Block no SZ | HeroR no W ] -> [ P ][ | left  HeroRFall ]


( Getting gems )
[ stationary P ][ > Hero  | Gem ] -> [ P ][ > Hero | ]


(Clear movement tokens)
[ stationary P ][ Go ] -> [ P ][ ]


( Misc late rules )
(-----------------)

( Waiting )
late [ W ] -> [ W CD ]
late [ W1 CD ] -> [ ]
late [ W2 CD no W1 ] -> [ W1 ]
late [ W4 CD no W2 no W1 ] -> [ W2 W1 ]
late [ W8 CD no W4 no W2 no W1 ] -> [ W4 W2 W1 ]
late [ W16 CD no W8 no W4 no W2 no W1 ] -> [ W8 W4 W2 W1  ]
late [ W32 CD no W16 no W8 no W4 no W2 no W1 ] -> [ W16 W8 W4 W2 W1 ]

==============
WINCONDITIONS
==============

No gem
All ExitBL on HeroExit

=======
LEVELS
=======

message Find the Gems and escape the Dungeon.
message Use arrows to move, R to restart level.


######..##....#########...
P..;......................
.....,........!.....!.....
H........*.......x.......*
######..###....######...,#
######..##......###.......
........|...........|..#..
..|.....#.......,...#..#..
*.#..|..#..,.....|..#.*#..
#########..###..#####.####
#########.###...#####.####
,.#..#..#..#.....#..#..#..
.;#..#..#..#..;..#..#..#..
__#__#__#__#_____#__#__#__

message Press X to make a long jump.

####....;.#######..###...#
P.......................*#
.....x........|........###
*...####...#####...##....;
#...#####....##....###..,.
.......................|..
..............|.;......#..
H.|..|..|..,..#.....|..#..
###########...#....######.
##########....#..######...
..#.;#..#..#........#....,
,.#..#..#..#..|..;..#.....
.;#..#..#..#..#..*..#..#..
__#__#__#__#__#__#__#__#__


(..........................
..........................
..........................
..........................
..........................
..........................
..........................
..........................
..........................
..........................
..........................
..........................
..........................
__________________________)



message Push and climb on rocks.

...;.............#........
.................#.......,
*........o...,.*.#.x......
#......#####..########....
..............#.....#.....
.o......|..|..#.o|..#..#..
#####...##########.....#..
...........|..#.....|..#.#
P.|..#.....#..#.....#.....
H.#..#.....#.....|..|..|.o
########...#..|..#########
##########.#;.|..#########
..#..#..#..#..#,.*..#..#..
__#__#__#__#__#__#__#__#__



P....,....................
........|*.|..|o.........#
,...,..#####..###.......##
..........................
.o.o..........|...........
####.##.....####...,.....#
######..|....####...;.....
........#.....;...........
........#.................
H.|o.|..#...,o|*........x.
#######.#...####,...######
######..|,.#####......####
..#..#..|..#..#........#..
__#__#__#__#__#__#__#__#__


message Don't fall on spikes.

p.#.......................
..#*|.........|........x..
########....ö"##.....#####
#####......#####...#######
.......................#..
..............|..#..ö..#..
H.o.".........#".#..#..#..
#######.......###########.
######.......###########..
..#..#...........#.....#..
..#..#.".".o.....#..#..#..
..#..#.#######..ö#..#.,#..
..#..#.######.",##..#.,#..
__#__#__#__#__#__#__#__#__


message You can turn while falling.

P..................;......
H.........................
###......x................
..|.....####.,.#####.....#
..|......#................
..|".....#.,#......,......
####....*|""#..|..........
..|.....######.##.....;...
;.|......|..;..|..|.......
.*|."....#.....|..#.......
#####....#""...|..#"""...*
;.#.....####...#######..##
..#......#.....#..#..#..#.
..#______#_____#..#..#__#.

message Doors can work in different ways

;.....######...######....#
.,.#....#.............;...
.............,............
.o......L........x........
###.#######.....####....o.
###.,#######....###...####
........#........#.....#..
P.............#.....#.....
H..-....c.....#..e..#....*
####...#####....#####..|.#
###....######...######.#.#
.....#..#..#..|....;#..#..
,.+..#..#..#..#..&..#..#.;
__#__#__#__#__#__#__#__#__


P.,.##.,..!.....,.;.......
..........;...............
H...R.................,...
#########..###.####..!....
...;##......##...........*
.!..........##..........##
,...L......*##............
########,..##...io.""-....
....##...."##...######...|
..........###.""######,.##
.x..E.....###.########"...
########......#########..|
....##..."|.|.#########.*|
....##...####_#########_##

message Floating pillars

......................
....*........x.....#..
....#.......###....#..
....,.........,....;..
.#.......#.........#..
;#...#...#...#........
.,...#.......#......*.
...".#....#..#......#.
...#.,....#.........#.
...#...#...".....¶..,.
..,#...#...#....###;..
..*;.#.#...#.....,....
.,#..#.#...#.#........
..#....#...#.;........
..,...,.......#...."*.
.P...#.....*.,#....##.
H....#.....#..;....;;.
###..#.#...#..........
###..,.#...;..,##.....
###___________________


(
P.!.....!....,.....,......
.....x.o..,.;.............
...######.............,...
...............####.......
#...E.|..,..##.##........*
#..#####....##..........##
...........###..........##
H...|.R....##...io.""-....
##.######..##...######...|
##..####..###.""######..##
##"*####..###.#########...
#########.....#########.*|
#########.|.|.#########.##
#############_#########_##
)



(
P.....................;...
....................,.....
H.........................
######......x.............
..|..|.....#####,.........
..|..|......#.......###...
..|..|".....#.,.#.....,...
#######..."*#*""#.".......
..|..|....#######.##......
..|..|......|..;..|..|....
..|..|."....#.....|..#....
########....#""...|..#"""*
,.#.;#.....####...########
__#__#______#_____#__#__#_
)

(
#*.,........,......#######
##.........;......*#...,.#
##...##....,...o..##.*..,#
##...######...##...#.#,..#
##.######..........#.#...#
...###.....#.......#.##..#
*..,##*|...|..|o.........#
#.,.####...######......#.#
#..*##*|...........|.|...#
#..#####...|..|...####...#
P.........#####...####.|.#
.......|...#...........#.#
H.oo|..#...#......|..|.#..
#####..#.*.#..|..,####.|.*
#####..#####*.#.,.####.|.#
#####__######.#___####_#_#
)