Skip to content

Instantly share code, notes, and snippets.

@HParker
Last active July 1, 2021 03:48
Show Gist options
  • Save HParker/62b060b982b4a428898d8aa11248dfa5 to your computer and use it in GitHub Desktop.
Save HParker/62b060b982b4a428898d8aa11248dfa5 to your computer and use it in GitHub Desktop.
Totally-Fine-Library.puzzlescript
title Totally Fine Library
author Adam Hess
homepage www.hparker.xyz
========
OBJECTS
========
Player
white brown red lightbrown
.111.
.333.
00000
.222.
.2.2.
Elephant1
pink black
.....
..000
.0000
.0000
.0000
Elephant2
pink black
.....
0....
00.00
10.0.
00.0.
Elephant3
pink black
.0000
.0000
.0000
.00..
.00..
Elephant4
pink black
0000.
00...
00...
00...
00...
RedBook
red white grey
.....
.001.
.001.
.222.
.....
BlueBook
blue white grey
.....
.001.
.001.
.222.
.....
SunkRedBook
darkred darkgray grey
.....
.001.
.001.
.222.
.....
SunkBlueBook
darkblue darkgray grey
.....
.001.
.001.
.222.
.....
EmptyShelf
white brown red blue
11111
10001
11111
10001
11111
RedFilledShelf
white brown red blue
11111
12221
11111
12221
11111
BlueFilledShelf
white brown red blue
11111
13331
11111
13331
11111
MissingBlueShelf
white brown red blue
11111
13331
11111
10001
11111
MissingRedShelf
white brown red blue
11111
12221
11111
10001
11111
Wall
grey darkgray
00010
11111
01000
11111
00010
Hole
Black
JustDroppedMarker
transparent
nextToPlayerMarker
transparent
HoldingMarker
blue
.....
.000.
.0.0.
.000.
.....
CrackedFloor
darkred black
00100
01000
11001
00101
00100
Background
darkred
ElephantCell
pink
=======
LEGEND
=======
Book = RedBook or BlueBook
Shelf = EmptyShelf or BlueFilledShelf or RedFilledShelf or MissingRedShelf or MissingBlueShelf
Elephant = Elephant1 or Elephant2 or Elephant3 or Elephant4 or ElephantCell
P = Player
X = RedBook
Y = BlueBook
# = Wall
E = EmptyShelf
F = BlueFilledShelf
R = MissingRedShelf
B = MissingBlueShelf
C = CrackedFloor
H = Hole
. = Background
1 = Elephant1
2 = Elephant2
3 = Elephant3
4 = Elephant4
5 = Hole and Elephant1
6 = Hole and Elephant2
7 = Hole and Elephant3
8 = Hole and Elephant4
M = ElephantCell
Obstical = Elephant or RedFilledShelf or BlueFilledShelf or Wall or ElephantCell
=======
SOUNDS
=======
(book slide in)
sfx0 16008707
(floor crumbling)
sfx1 12411702
(next level)
EndLevel 85427300
================
COLLISIONLAYERS
================
Background
Hole
CrackedFloor, SunkRedBook, SunkBlueBook
Wall, Player, Book, Shelf, MissingRedShelf, MissingBlueShelf, BlueFilledShelf, RedFilledShelf, Elephant1, Elephant2, Elephant3, Elephant4, ElephantCell
HoldingMarker
JustDroppedMarker
nextToPlayerMarker
======
RULES
======
(pickup)
[ > Player | Shelf ] -> cancel
[ > Player | Hole ] -> cancel
[ > Player | Wall ] -> cancel
[ > Player | Elephant ] -> cancel
(I don't know if you want to abuse this go for it I guess)
[ > Player | Book | Obstical ] -> cancel
[ > Player | Book | Book | Obstical ] -> cancel
[ > Player | Book | Book | Book| Obstical ] -> cancel
[ > Player | RedBook | MissingBlueShelf ] -> cancel
[ > Player | Book | RedBook | MissingBlueShelf ] -> cancel
[ > Player | Book | Book | RedBook | MissingBlueShelf ] -> cancel
[ > Player | Book | Book | Book | RedBook | MissingBlueShelf ] -> cancel
[ > Player | BlueBook | MissingRedShelf ] -> cancel
[ > Player | Book | BlueBook | MissingRedShelf ] -> cancel
[ > Player | BlueBook | MissingRedShelf ] -> cancel
[ > Player | BlueBook | MissingRedShelf ] -> cancel
(holding movement)
(Blocks stick to you)
[ MOVING Player | Book ] -> [ MOVING Player | MOVING Book ]
(stack books)
[ > Book | Book ] -> [ > Book | > Book ]
[ > Book | Wall ] -> [ Book | wall ]
[ > Book | Obstical ] -> [ Book | Obstical ]
[ > RedBook | MissingBlueShelf ] -> [ RedBook | MissingBlueShelf ]
[ > BlueBook | MissingRedShelf ] -> [ BlueBook | MissingRedShelf ]
[ > RedBook | MissingRedShelf ] -> [ | RedFilledShelf ] sfx0
[ > BlueBook | MissingBlueShelf ] -> [ | BlueFilledShelf ] sfx0
[ > BlueBook | EmptyShelf ] -> [ | MissingBlueShelf ] sfx0
[ > RedBook | EmptyShelf ] -> [ | MissingRedShelf ] sfx0
(cracked floor)
[ > Player CrackedFloor ] -> [ > Player Hole ] sfx1
late [ Player | Book ] -> [ Player | Book nextToPlayerMarker ]
late [ RedBook Hole no nextToPlayerMarker ] -> [ SunkRedBook Hole ]
late [ BlueBook Hole no nextToPlayerMarker ] -> [ SunkBlueBook Hole ]
late [ nextToPlayerMarker ] -> [ ]
==============
WINCONDITIONS
==============
no MissingRedShelf
no MissingBlueShelf
no EmptyShelf
=======
LEVELS
=======
message Welcome to the Totally Fine Library. Everything is totally fine here.
message Can you put those books back on their shelves?
message Careful, they will stick to you
###R###
#.....#
#..X..#
#.....#
#.P.12#
#...34#
#######
##R##B##
#......#
#..XY..#
#..12..#
#..34..#
#..P...#
#......#
########
#####R#
###...#
##..x.#
#..12.#
#..34.#
#.p...#
#.....#
#######
#E#####
#.Y...#
#.y...#
#P....#
####12#
####34#
#######
####E##
#.....#
#..X.X#
#.....#
#...12#
#..P34#
#######
##########
###..12..#
#.X.Y34..B
#........#
#..P.12..R
#....34..#
##########
############
#.y.#12#...#
r....34..x.b
#......p...#
r....12..x.b
#.y.#34#...#
############
#######
#p....#
#...yx#
#..y..#
#.xx.x#
###.###
12#.#12
34#.#34
###.###
#.....#
#.....#
#.....#
#rbebr#
message I am glad you haven't asked why the books are so sticky.
message Again, everything is totally fine.
####E####
#.......#
#..#.#..#
R.......B
#.......#
#HHHCHHH#
#HHHcHHH#
#.......#
#....XX.#
#...Y12.#
#.P.X34.#
#########
###########R##
#.....hh.....#
b..x..hh..x..#
b.....cc.y...#
#.....hh.....#
#hchhh56hhcch#
#hchhh78hhcch#
#..y..hh..y..#
r.....cc.....r
#..p..hh....x#
#.....hh.....#
##b###########
##############
#............#
#.........p..#
#..mmmm..mm..#
#.mmmmhm.m...#
#.mmmmmm.m...#
#.mmmmmmmm...#
#.mmmmmm.....#
#.mm..mm.yx..e
#.mm..mm.xy..e
##############
message Glad you never noticed anything weird.
message Congratulations, you won.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment