Skip to content

Instantly share code, notes, and snippets.

@Draknek
Forked from anonymous/readme.txt
Last active August 23, 2019 23:55
Show Gist options
  • Save Draknek/9027730 to your computer and use it in GitHub Desktop.
Save Draknek/9027730 to your computer and use it in GitHub Desktop.
Happy Birthday Hennell: Sokoban Edition 2014
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Happy Birthday Hennell: Sokoban Edition 2014
author Alan Hazelden
homepage www.draknek.org
run_rules_on_level_start
again_interval 0.35
(youtube FUqm2PZ0Cdk)
(verbose_logging)
noaction
========
OBJECTS
========
Background
BLACK DarkBlue
01110
01110
00000
00000
01110
Wall
Grey
00000
00000
00000
00000
00000
Player
#ef9048 #f3c5ae Green Blue
.....
.000.
.111.
22222
.333.
TL
White #f3c5ae #ef9048 #04bae1
.....
..000
.0022
00211
00131
TR
White #f3c5ae #ef9048 #04bae1
.....
000..
2200.
11200
13100
BL
White #f3c5ae #ef9048 #04bae1 #9f8172 #83501b #90581e #a46422 #ad6a24 #b46d25
.....
00141
00114
50011
56000
BR
White #f3c5ae #ef9048 #04bae1 #9f8172 #83501b #90581e #a46422 #ad6a24 #b46d25
.....
14100
41100
11005
00065
BelowTL
White #f3c5ae #ef9048 #04bae1 #9f8172 #83501b #90581e #a46422 #ad6a24 #b46d25
00111
56666
56666
.....
.....
BelowTR
White #f3c5ae #ef9048 #04bae1 #9f8172 #83501b #90581e #a46422 #ad6a24 #b46d25
11100
66665
66665
.....
.....
BelowBL
White #f3c5ae #ef9048 #04bae1 #9f8172 #83501b #90581e #a46422 #ad6a24 #b46d25
.6789
..789
.....
.....
.....
BelowBR
White #f3c5ae #ef9048 #04bae1 #9f8172 #83501b #90581e #a46422 #ad6a24 #b46d25
9876.
987..
.....
.....
.....
BelowWall
DarkGrey
00000
00000
00000
.....
.....
BelowPlayer
#ef9048 #f3c5ae Green Blue
.3.3.
.....
.....
.....
.....
WallL
DarkRed
0....
0....
0....
0....
0....
WallR
DarkRed
....0
....0
....0
....0
....0
WallU
DarkRed
00000
.....
.....
.....
.....
WallD
DarkRed
.....
.....
.....
.....
00000
WallLR
DarkRed
0...0
0...0
0...0
0...0
0...0
WallUD
DarkRed
00000
.....
.....
.....
00000
WallUL
DarkRed
0....
.....
.....
.....
.....
WallUR
DarkRed
....0
.....
.....
.....
.....
WallDL
DarkRed
.....
.....
.....
.....
0....
WallDR
DarkRed
.....
.....
.....
.....
....0
WallDLR
DarkRed
.....
.....
.....
.....
0...0
Flag
White
.....
.....
.....
.....
.....
Flag2
White
.....
.....
.....
.....
.....
LitCandle
White Orange Yellow
.....
.....
.222.
.212.
..0..
UnlitCandle
White Black
.....
.....
.....
..1..
..0..
=======
LEGEND
=======
. = Background
# = Wall
P = Player
Cake = TL or TR or BL or BR
Perspective = BelowTL or BelowTR or BelowBL or BelowBR or BelowWall or BelowPlayer
MovingPerspective = BelowTL or BelowTR or BelowBL or BelowBR or BelowPlayer
WallCoverLR = WallL or WallR or WallLR
WallCoverUD = WallU or WallD or WallUD
WallCoverCorner = WallUL or WallUR or WallDL or WallDR or WallDLR
WallCover = WallCoverLR or WallCoverUD or WallCoverCorner
Candle = LitCandle or UnlitCandle
Solid = Wall or Cake
Q = TL
W = TR
A = BL
S = BR
0 = UnlitCandle and Wall
1 = LitCandle and Wall
=======
SOUNDS
=======
sfx1 6045907 (cakes sticking)
sfx2 27189102 (can't move)
sfx3 27189102 (can't push)
Cake MOVE 48059907
Player MOVE 11429307
EndLevel 85763108
Restart 65287309
Undo 84906107
================
COLLISIONLAYERS
================
Background
Flag, Flag2
Perspective
Player, Wall, Cake
WallCoverUD, WallCoverCorner
WallCoverLR, Candle
======
RULES
======
[ Player Flag2 ] -> win
[ Player no Flag2 ] -> [ Player Flag ]
[ Cake no Flag ] [ Player Flag ] -> [ Cake ] [ Player ]
[ Player Flag ] -> [ Player Flag2 ] again
[ MovingPerspective ] -> []
[ Flag ] -> []
[ > Player | Cake ] -> [ > Player | > Cake ]
startloop
[ > Cake | Cake ] -> [ > Cake | > Cake ]
right [ moving TL | TR ] -> [ moving TL | moving TR ]
right [ TL | moving TR ] -> [ moving TL | moving TR ]
right [ moving BL | BR ] -> [ moving BL | moving BR ]
right [ BL | moving BR ] -> [ moving BL | moving BR ]
down [ moving TL | BL ] -> [ moving TL | moving BL ]
down [ TL | moving BL ] -> [ moving TL | moving BL ]
down [ moving TR | BR ] -> [ moving TR | moving BR ]
down [ TR | moving BR ] -> [ moving TR | moving BR ]
endloop
[ > Cake | Wall ] [ moving Player ] -> [ Cake | Wall ] [ Player ]
[ > Player | stationary Solid ] -> [ Player Flag | Solid ]
[ stationary Player ] [ moving Cake ] -> [ Player Flag ] [ Cake ]
[ Player Flag ] -> [ Player ] sfx2
(detect newly stuck cake)
[ moving Cake no Flag ] -> [ moving Cake moving Flag ]
late right [ TL no Flag | TR Flag ] -> sfx1
late right [ TL Flag | TR no Flag ] -> sfx1
late right [ BL no Flag | BR Flag ] -> sfx1
late right [ BL Flag | BR no Flag ] -> sfx1
late down [ TL no Flag | BL Flag ] -> sfx1
late down [ TL Flag | BL no Flag ] -> sfx1
late down [ TR no Flag | BR Flag ] -> sfx1
late down [ TR Flag | BR no Flag ] -> sfx1
late [ Flag ] -> []
(Detect completion)
late right [ TL | TR ] -> [ TL Flag | TR Flag ]
late right [ BL | BR ] -> [ BL Flag | BR Flag ]
late down [ TL Flag | no BL ] -> [ TL | ]
late down [ TR Flag | no BR ] -> [ TR | ]
late [ TL Flag ] [ TR Flag ] [ BL Flag ] [ BR Flag ] [ Player no Flag2 ] -> [ TL Flag ] [ TR Flag ] [ BL Flag ] [ BR Flag ] [ Player Flag ]
late [ Player Flag ] -> again
late random right [ Player Flag ] [ UnlitCandle | LitCandle ] -> [ Player Flag2 ] [ UnlitCandle | UnlitCandle ]
late right [ Player Flag ] [ LitCandle | LitCandle | LitCandle | LitCandle | LitCandle | LitCandle ] -> [ Player Flag ] [ UnlitCandle | LitCandle | LitCandle | LitCandle | LitCandle | LitCandle ]
late [ Player Flag ] -> [ Player ]
(Draw perspective)
late down [ TL | ] -> [ TL | BelowTL ]
late down [ TR | ] -> [ TR | BelowTR ]
late down [ BL | ] -> [ BL | BelowBL ]
late down [ BR | ] -> [ BR | BelowBR ]
late down [ Wall | no BelowWall ] -> [ Wall | BelowWall ]
late down [ Player | ] -> [ Player | BelowPlayer ]
(Draw wall edges)
left [ Wall no WallCoverLR | no Wall ] -> [ Wall WallL | ]
right [ Wall no WallCoverLR | no Wall ] -> [ Wall WallR | ]
right [ Wall WallL | no Wall ] -> [ Wall WallLR | ]
up [ Wall no WallCoverUD | no Wall ] -> [ Wall WallU | ]
down [ Wall no WallCoverUD | no Wall ] -> [ Wall WallD | ]
down [ Wall WallU | no Wall ] -> [ Wall WallUD | ]
right [ WallD | Wall no WallCover | WallD ] -> [ WallD | Wall WallDLR | WallD ]
right [ WallD | Wall no WallCover ] -> [ WallD | Wall WallDL ]
left [ WallD | Wall no WallCover ] -> [ WallD | Wall WallDR ]
right [ WallU | Wall no WallCover ] -> [ WallU | Wall WallUL ]
left [ WallU | Wall no WallCover ] -> [ WallU | Wall WallUR ]
==============
WINCONDITIONS
==============
=======
LEVELS
=======
message Happy birthday, Hennell! I made you a massive cake but you need to reassemble it.
(#######
#.....#
#.qw..#
#..s..#
#.a...#
#.p...#
111111#)
#######
#.....#
#.a.s.#
#p.#..#
#.q.w.#
#.....#
111111#
#########
#.w.#.q.#
#.......#
#.a.p.s.#
#.......#
011111###
#########
###...###
##q.#.s##
#.......#
#..apw..#
###...###
001111###
#########
###.p.###
#...#...#
#.#q.w#.#
#...#...#
###a.s###
###.#.###
##.....##
##.....##
000111###
#######
##...##
##.#w##
##.q.##
##.#.##
#.s.a.#
#..p..#
#.....#
000011#
#######
#.....#
#..q..#
###.w.#
###a#s#
###.p.#
000001#
message Thanks for playing :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment