title The Legend of Zokoban
author Joshua Minor
homepage pixelverse.org
flickscreen 9x7

========
OBJECTS
========

Background
yellow orange
00000
01000
00001
00100
10000

Water
blue lightblue
00000
01000
00001
00100
10000

Cave
DarkBlue
00000
00000
00000
00000
00000

Goal
DarkBlue Red
00000
00000
00100
00000
00000

RockWall
BROWN Orange
01110
10000
10010
10000
00100

StoneWall
darkgrey grey
01110
10000
10010
10000
00100

PlayerWithoutSword
GREEN lightgreen
.00..
00000
.000.
.111.
00.00

PlayerWithSword
GREEN lightgreen white grey
.002.
00020
.0222
.110.
00.00

Sword
grey white
..1..
..1..
.111.
..0..
.....

Block
BROWN Orange darkgrey
.111.
10001
10002
10002
.222.

EasyBaddie
white red
.111.
10101
11111
11111
11.11

Money
white lightblue
..1..
.001.
10111
.111.
..1..

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

Wall = StoneWall or RockWall
Solid = Wall or Block or Water
Player = PlayerWithoutSword or PlayerWithSword
Obstacle = Wall or Block or Player or Water
Baddie = EasyBaddie

. = Background
# = RockWall
S = StoneWall
P = PlayerWithoutSword
* = Block
@ = Block and Cave
O = Cave
w = Water
1 = EasyBaddie
+ = Sword
G = Goal

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

StartLevel 40430108 (music-ish)
SFX0 16358103 (power up)
SFX1 84057304 (push)
SFX2 74654508 (stairs)
SFX3 21293301 (fight)
SFX4 49521903 (hurt)
SFX5 47598700 (money)
ShowMessage 82693708 (you win!)

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

Background
Cave, Goal
Player, Wall, Block, Water, EasyBaddie
Sword, Money

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

(baddies move at random)
[ Stationary Baddie ] -> [ RandomDir Baddie ]

(player can push blocks)
[ > Player | Block ] -> [ > Player | > Block ] SFX1

(blocks pushed into water become land)
[ > Block | Water ] -> [ | ]

(baddies can attack the player w/o sword)
[ > Baddie | Player No Sword ] -> SFX4

(player can pick up sword)
([ > Player | Sword ] -> [ | Player Sword ] SFX0)
[ PlayerWithoutSword Sword ] -> [ PlayerWithSword ] SFX0

(player with sword can kill baddies & leave money)
[ > PlayerWithSword | Baddie ] -> [ PlayerWithSword | Money ] SFX3
(sword moves with player)
([ > Player Sword ] -> [ > Player > Sword ])
(sword doesn't move into obstacles)
([ > Sword | Stationary Obstacle ] -> [ Sword | Stationary Obstacle ])

(player can pick up money)
[ > Player | Money ] -> [ | Player ] SFX5

(blocks pushed into caves, teleport to other end of cave)
random [ Moving Block Cave | ... | Cave ] -> [ Cave | ... | Block Cave ]
(blocks sitting on cave exits will roll aside to let player follow them)
late random [ Block Cave | No Obstacle ] -> [ Cave | Block ]
(players can enter caves - teleporting to orthogonally matching cave)
late random [ Player Cave | ... | Cave ] -> [ Cave | ... | Player Cave ] SFX2
(sword follows player through the cave)
(late random [ Sword Cave | ... | Cave ] -> [ Cave | ... | Sword Cave ])


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

All Player on Goal

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

sssssssss#################wwwwwwwwww
ss.s1s..s#1#####.##..1..1.wwwwww..ww
s.......s#.#####.##.#.#.#.wwwww..*.w
s..*....o#.##o##.............ww....w
s.s....ss#..........#.*.#....ww..1.w
sss.s.sss##...............wwwwww..ww
sssssssss#####..#####.....wwwwwwwwww
sssssssss#####..#####.....wwwwwwwwww
ss1...sss#####..####.....wwww.....ww
s......os##o#....##...#.1www..s.s..w
s..+...ss#.......##*......ww...g...w
ss.....ss#...p..........#.ww..s.s.1w
ssss..sss##.....###..#.1..www..1..ww
sssssssss#################wwwwwwwwww

message Congratulations!

