puzzlescript
Version:
Play PuzzleScript games in your terminal!
511 lines (445 loc) • 10.3 kB
Plain Text
title Atlas Shrank
author James Noeckel
run_rules_on_level_start
flickscreen 18x11
========
OBJECTS
========
Background
0e193f #202a4c #20324a #1f3649 #00003d
00004
13210
04000
10111
00032
Exit
d0691d #9a521d #7b441c #ad5a1d #8e4c1c yellow
.222.
23140
23140
25140
23140
DoorO
cf732f
0...0
0...0
0...0
0...0
0...0
Switch
ec5656 #ec3232 #b31313
01.01
1...2
.....
0...2
12.22
Door
d0691d #9a521d #7b441c #ad5a1d #8e4c1c
03412
04132
03112
01142
04112
ShadowDoor
black
ShadowDoorO
black
WallUD
697490 #485b76 #8083ba #646f8a #6d7b96
23041
23041
23041
23041
23041
WallRL
697490 #485b76 #8083ba #646f8a #6d7b96
22222
33333
00000
44444
11111
WallR
697490 #485b76 #8083ba #646f8a #6d7b96
40401
03401
40031
03001
00001
WallL
697490 #485b76 #8083ba #646f8a #6d7b96
20404
20430
23004
20030
20000
WallU
697490 #485b76 #8083ba #646f8a #6d7b96
22222
00000
40300
03044
40430
WallD
697490 #485b76 #8083ba #646f8a #6d7b96
04030
03400
04004
30304
11111
WallM
697490 #485b76 #8083ba #646f8a #6d7b96
03040
34430
43340
44303
30030
Wallsolo
697490 #485b76 #8083ba #a7aae3 #2d425e #646f8a #6d7b96
32220
20651
25561
26601
01114
PlayerS
ffb173 #ff6464 #d7d7d7 #d74629
.000.
.101.
02220
03230
.0.0.
PlayerL
ffb173 #ff6464 #d7d7d7 #d74629
.000.
.100.
.223.
.233.
.0.0.
PlayerR
ffb173 #ff6464 #d7d7d7 #d74629
.000.
.001.
.322.
.332.
.0.0.
PlayerLH
ffb173 #ff6464 #d7d7d7 #d74629
.0.0.
.100.
.220.
.233.
.0.0.
PlayerRH
ffb173 #ff6464 #d7d7d7 #d74629
.0.0.
.001.
.022.
.332.
.0.0.
Crate
9f7666 #c8917c #945a50 #8b4c42
.000.
00113
01123
01223
.333.
Heldcrate
9f7666 #c8917c #945a50 #8b4c42
.000.
00113
01123
01223
.333.
Shadowcrate
black
H_pickup
red
.....
.....
..0..
.....
.....
H_drop
red
.....
.....
..0..
.....
.....
H_grav
gray
.....
.....
..0..
.....
.....
H_step
yellow
.....
.....
..0..
.....
.....
=======
LEGEND
=======
. = Background
= Wallsolo
P = PlayerS
* = Crate
O = Exit
X = Door
T = Switch
@ = Switch and Crate
Wall = WallUD or WallRL or WallR or WallL or WallM or Wallsolo or WallU or WallD
Player = PlayerL or PlayerR or PlayerS or PlayerRH or PlayerLH
Solid = Player or Crate or Wall or Heldcrate or Door or Shadowcrate or Shadowdoor
Massive = Crate
Helpers = H_pickup or H_drop or H_grav or H_step
Weight = Player or Crate
=======
SOUNDS
=======
SFX1 87921103
SFX2 82865707
SFX3 70226500
SFX4 68263307
SFX5 60968508
SFX6 358900
================
COLLISIONLAYERS
================
Background
Exit
Player, Solid
Helpers
DoorO, ShadowdoorO, Switch
======
RULES
======
(Wallify)
Vertical [ Wall | Wallsolo | Wall ] -> [ Wall | WallUD | Wall ]
Horizontal [ Wall | Wallsolo | Wall ] -> [ Wall | WallRL | Wall ]
Horizontal [ Wall | WallUD | Wall ] -> [ Wall | WallM | Wall ]
Left [ WallUD | Wall ] -> [ WallR | Wall ]
Right [ WallUD | Wall ] -> [ WallL | Wall ]
Up [ WallRL | Wall ] -> [ WallD | Wall ]
Down [ WallRL | Wall ] -> [ WallU | Wall ]
(steps)
up [ Player | no Solid ] -> [ Player | H_step ]
up [ Player | Heldcrate no H_step ] -> [ Player | Heldcrate H_step ]
[ Moving Player ] [ H_step ] -> [ Moving Player ] [ Moving H_step ]
(gravity)
down [ Player no H_grav | no Solid ] -> [ Player H_grav | ]
down [ Player ] [ H_grav ] -> [ > Player ] [ H_grav ] again
Down [ Massive ] -> [ down Massive ] again
[ up Player ] -> cancel
(movement/pushing)
Right [ > Player ] -> [ > PlayerR ]
Left [ > Player ] -> [ > PlayerL ]
Horizontal [ > Player | Crate | no Solid ] -> [ > Player | > Crate | ] SFX2
(picking up and holding crates)
Horizontal [ Crate | Action PlayerS | Crate ] -> message I am paralyzed with indecision!
Right [ Action PlayerR | Crate ] [Player no H_pickup ] -> [ Player | Shadowcrate ] [ Player H_pickup ] SFX1
Left [ Action PlayerL | Crate ] [Player no H_pickup ] -> [ Player | Shadowcrate ] [ Player H_pickup ] SFX1
([ Moving Player ] [ Heldcrate ] -> [ Moving Player ] [ Moving Heldcrate ])
([ > Player | no Solid ] [ Heldcrate ] -> [ > Player | ] [ > Heldcrate ])
(late Up [ Player | no Solid ] [ Heldcrate ] -> [ Player | Heldcrate ] [ ])
(putting down)
(Left [ Action Heldcrate | no Solid ] [ PlayerLH ] -> [ | Crate ] [ PlayerL ]
Right [ Action Heldcrate | no Solid ] [ PlayerRH ] -> [ | Crate ] [ PlayerR ])
Right [ Heldcrate | no Solid ] [ Action PlayerRH ] -> [ Heldcrate | H_drop ] [ PlayerR ]
Left [ Heldcrate | no Solid ] [ Action PlayerLH ] -> [ Heldcrate | H_drop ] [ PlayerL ]
(steps late)
late [ H_step ] [H_grav ] -> [ ] [ H_grav ]
late Down [ H_step | Player ] -> [ | Player ]
late up [ H_step no Solid | no Solid ] [ Heldcrate ] -> [ H_step | Heldcrate ] [ ]
late [ H_step no Solid ] [ Player ] -> [ Player ] [ ] SFX4
(crate rules)
late [ Heldcrate ] [ H_drop ] -> [ ] [ Crate ]
late up [ Player | no Solid ] [ Heldcrate ] -> [ Player | Heldcrate ] [ ]
late Up [ H_pickup | no Solid ] [ Shadowcrate ] -> [ | Heldcrate ] [ ]
late [ Shadowcrate ] -> [ Crate ]
late Down [ Heldcrate | no Player ] -> [ Crate | ]
late up [ PlayerR ] [ Heldcrate ] -> [ PlayerRH ] [ Heldcrate ]
late up [ PlayerL ] [ Heldcrate ] -> [ PlayerLH ] [ Heldcrate ]
(cleanup)
late [ H_pickup ] -> [ ]
late [ H_grav ] -> [ ]
late [ H_step ] -> [ ]
late [ Player Exit ] -> SFX3
(doors)
late [ Door ] -> [ Shadowdoor ]
late [ DoorO ] -> [ ShadowDoorO ]
late [ ShadowdoorO no Solid ] [ ShadowdoorO Solid ] -> [ DoorO ] [ ShadowdoorO Solid ]
late [ Switch no Weight ] [ ShadowDoorO no Solid ] -> [ Switch ] [ Door ] SFX5
late [ Switch no Weight ] [ Shadowdoor ] -> [ Switch ] [ Door ]
late [ Shadowdoor ] -> [ DoorO ] SFX6
late [ ShadowdoorO ] -> [ DoorO ]
==============
WINCONDITIONS
==============
all Exit on Player
=======
LEVELS
=======
message Demoted again
##############
.......O.....#
.......#.....#
......##.....#
.....###.....#
.P..####**...#
##############
message First gas planets, and now this
message [Pick up with x]
##############
.............#
...........O.#
..........####
..........#..#
P..**...*.#..#
##############
#################
###########.....#
########*##.....#
########*##.....#
###.....*....o..#
###.....*.#######
###.....*.#######
###.....*########
####....*########
#####..p*########
#################
##############
..*###....#..#
..*..........#
..####.......#
.**......**P.#
.#############
......*.#....#
...*..#.X..O.#
...##.#T######
##############
message what is even my job
*#####*###########
*##.##.#...#....#
#.#..#..........#
.....#*........O#
......###.....###
.........#....###
......*..*....###
....#############
...#............#
**..............#
####...##########
****.#..##########
****..#..#########
****...#....######
****....#.......*#
*###....##......*#
*.....#####...####
......###....####
*.......x..#######
#.#....x.########
.p.*.*ttx#########
#################
message I could lift these all day
#####x###########
#*#..x.......#..#
##...x*......x.o#
.....##.....*x.##
....#xp..@..#x..#
...##x###########
*..*.x.....######
#####x.....#....#
#####x......*...#
#####.#*....##..#
#####.###########
#################
............*...#
..@......*.t@p..#
xxx#xxxxxxxxxxx##
.#.#...........##
.#.#.#.#.#.#.#.##
.#.#.#.#.#.#.#.##
...#########.####
#....*x.....*...#
##...##....###.o#
#################
#################
#...........x...#
#...........x.*.#
#.........t####.#
#..........#....#
#..........#....#
#...***#####.##x#
#...***##.o..###*
#...***####.....#
#.p.***##.......#
#################
message I miss the reassuring weight of a globe across my shoulders
.................
..#.#.#.#.......#
..#.#.#.#.......#
..#.#.t*........#
..#.#*###.......#
...*.*...*......#
*..#####.###.....#
.*.........#...*#
###.......*....##
#t*.p.....#.##.##
#t###t#x#########
#t#####x#########
#t##.......######
###.........#####
##...........####
#......o......###
......###......##
.................#
..................
.....................##*#*****....*...................
..o....##.#.######....##******...**.........#.........
..#.###############....####*********........#........*
###############.#.##..x############........#........#
####............#..#..x....................#.........
##.#............#..#.*x....................#.........
.*.#................#####..................#.........
***#............#*....*..p**.........t.*..#.........*
####...........######################.#####.........#
..............#########################...##.........
.............#########.#.#.#...............#**.......
............#########..#.#.#...............####......
............########..#*#*#*#..............#.########
............########..#*#*#*#..............#.#....###
*...........#####......#.#.#...............#.#......#
*.......#######........#...................#.#......#
*......######..............................#.#......#
*.....#..##............*...................#.#......#
**...**......*.......#.#.#.#..........t....#.#.....##
####*#######**###########################*######*####
*#***#*.#...##....#...........########...............*#................#
*#***#*.....#.....*...........#.#.#.#................*#................#
*#***##.....#.....**...#.#....*.*.*..................##................#
*#***#......#.....##...#.#....########...............##................#
*#***......*#.....##*..#.#....##***###...............#*................#
*#**#......#......*#####.#########**##...............##................#
*#**.......#......***##...###....##**####............##..........*.....#
*#**.......#......***......#......##*##*#............xx..........##....#
#*###############****............##****#............xx............#...#
#*################****.....#..o..##*#**#p....@.@.@..xx....@.@.@...**..#
###################################*##*################################
.................############*#.#.##
.................#..*........*.....#
.................#.t###....*########
................#.....*...#o......#
.....................##########...#
....................#.....**.....*#
................##.#....###x#######
...............###.#*.......*.....#
.........*..###############x###...#
#....p..**................*......*#
###########################x#######
....................................
message Congratulations!
message You rearranged the rubble!
message the end