Created
February 24, 2023 05:35
-
-
Save iacore/cadf67a2883ad93bf04b7e48188fb3e6 to your computer and use it in GitHub Desktop.
Indigestion (Puzzlescript Plus Script)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title Indigestion | |
author Le Slo | |
homepage www.puzzlescript.net | |
run_rules_on_level_start | |
again_interval 0.05 | |
noaction | |
background_color #5974eF | |
level_select | |
======== | |
OBJECTS | |
======== | |
Background | |
#A9E4EF | |
BorderB | |
#4026bf #5046ef #5565ef | |
..... | |
..... | |
.1111 | |
..... | |
00000 | |
BorderBL | |
#4026bf #5046ef #5565ef | |
..... | |
..... | |
.11.. | |
..1.. | |
0.1.. | |
BorderBR | |
#4026bf #5046ef #5565ef | |
..... | |
..... | |
..111 | |
..1.. | |
....0 | |
BorderL | |
#4026bf #5046ef #5565ef | |
0.... | |
0.1.. | |
0.1.. | |
0.1.. | |
0.1.. | |
BorderR | |
#4026bf #5046ef #5565ef | |
..1.0 | |
..1.0 | |
..1.0 | |
..1.0 | |
....0 | |
BorderT | |
#4026bf #5046ef #5565ef | |
00000 | |
..... | |
1111. | |
..... | |
..... | |
BorderTL | |
#4026bf #5046ef #5565ef | |
0.... | |
..1.. | |
111.. | |
..... | |
..... | |
BorderTR | |
#4026bf #5046ef #5565ef | |
..1.0 | |
..1.. | |
..11. | |
..... | |
..... | |
CornerTR | |
#4026bf #5046ef | |
00000 | |
....0 | |
111.0 | |
..1.0 | |
....0 | |
CornerTL | |
#4026bf #5046ef | |
00000 | |
0.... | |
0.11. | |
0.1.. | |
0.1.. | |
CornerBL | |
#4026bf #5046ef | |
0.... | |
0.1.. | |
0.111 | |
0.... | |
00000 | |
CornerBR | |
#5046ef #4026bf | |
..0.1 | |
..0.1 | |
.00.1 | |
....1 | |
11111 | |
TL | |
#4026bf #5046ef | |
00000 | |
0.... | |
0.111 | |
0.... | |
00000 | |
TB | |
#4026bf #5046ef | |
0.1.0 | |
0.1.0 | |
0.1.0 | |
0...0 | |
00000 | |
TR | |
#4026bf #5046ef | |
00000 | |
....0 | |
111.0 | |
....0 | |
00000 | |
TT | |
#4026bf #5046ef | |
00000 | |
0...0 | |
0.1.0 | |
0.1.0 | |
0.1.0 | |
Center | |
#4026bf #5046ef | |
00000 | |
0...0 | |
0.1.0 | |
0...0 | |
00000 | |
PlayerR | |
#96d550 | |
..... | |
....0 | |
....0 | |
....0 | |
..... | |
PlayerL | |
#96d550 | |
..... | |
0.... | |
0.... | |
0.... | |
..... | |
PlayerT | |
#96d550 | |
.000. | |
..... | |
..... | |
..... | |
..... | |
PlayerB | |
#96d550 | |
..... | |
..... | |
..... | |
..... | |
.000. | |
PlayerExtraR | |
#A9E4EF | |
..... | |
....0 | |
....0 | |
....0 | |
..... | |
PlayerExtraL | |
#A9E4EF | |
..... | |
0.... | |
0.... | |
0.... | |
..... | |
PlayerExtraT | |
#A9E4EF | |
.000. | |
..... | |
..... | |
..... | |
..... | |
PlayerExtraB | |
#A9E4EF | |
..... | |
..... | |
..... | |
..... | |
.000. | |
ThingR | |
#7A306C #A9E4EF | |
..... | |
...00 | |
...1. | |
...00 | |
..... | |
ThingL | |
#7A306C #A9E4EF | |
..... | |
00... | |
.1... | |
00... | |
..... | |
ThingB | |
#7A306C #A9E4EF | |
..... | |
..... | |
..... | |
.010. | |
.0.0. | |
ThingT | |
#7A306C #A9E4EF | |
.0.0. | |
.010. | |
..... | |
..... | |
..... | |
ThingJellyR | |
#7A706C #96d550 | |
..... | |
...00 | |
...1. | |
...00 | |
..... | |
ThingJellyL | |
#7A706C #96d550 | |
..... | |
00... | |
.1... | |
00... | |
..... | |
ThingJellyB | |
#7A706C #96d550 | |
..... | |
..... | |
..... | |
.010. | |
.0.0. | |
ThingJellyT | |
#7A706C #96d550 | |
.0.0. | |
.010. | |
..... | |
..... | |
..... | |
TargetA | |
#7A306C | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
TargetB | |
#E15554 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
TargetC | |
#499167 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
Wall | |
#5974eF | |
Player | |
#96d550 #499167 | |
11111 | |
10001 | |
10001 | |
10001 | |
11111 | |
PlayerExtra | |
#499167 | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
thing | |
#7A306C | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
miniCrate | |
#E15554 | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
miniCrateJelly | |
#E19564 | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
thingJelly | |
#7A706C | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
TargetAJelly | |
#7A706C | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
TargetBJelly | |
#E19564 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
TargetCJelly | |
#76b530 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
move | |
transparent | |
canMovePlayer | |
transparent | |
start | |
transparent | |
cantMovePlayer | |
#c97167 | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
endanimation | |
transparent | |
======= | |
LEGEND | |
======= | |
. = Background | |
# = Wall | |
P = Player and start | |
* = PlayerExtra | |
O = TargetA | |
b = TargetB | |
d = TargetC | |
x = thing | |
c = miniCrate | |
e = PlayerExtra and Thing | |
f = playerExtra and miniCrate | |
g = Player and Thing | |
h = player and miniCrate | |
j = player and TargetB | |
k = playerExtra and TargetB | |
Target = TargetA or TargetB or TargetC | |
players = Player or PlayerExtra | |
pushable = miniCrate or thing | |
corners = CornerTR or CornerTL or CornerBL or CornerBR or TL or TB or TR or TT or center | |
playerArt = PlayerR or PlayerL or PlayerT or PlayerB or PlayerExtraR or PlayerExtraL or PlayerExtraT or PlayerExtraB or thingR or ThingL or ThingB or ThingT or ThingJellyR or ThingJellyL or ThingJellyB or ThingJellyT or TargetAJelly or TargetBJelly or TargetCJelly | |
pushableArt = miniCrateJelly or thingJelly | |
======= | |
SOUNDS | |
======= | |
sfx0 91710308 | |
sfx1 92912108 (out of thing) | |
player move 99671708 (jelly move) | |
sfx3 39045308 (wrong move) | |
sfx5 51693308 (jelly moveout) | |
sfx4 26547308 (jelly move2) | |
sfx6 12306908 (jello no move) | |
startgame 87148308 | |
showmessage 26755108 | |
endlevel 33616908 | |
restart 24552908 | |
undo 24552908 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
canMovePlayer, endanimation | |
Target | |
PlayerExtra | |
Player, Wall | |
thing | |
miniCrate | |
move | |
start | |
cantMovePlayer, | |
PlayerR | |
PlayerL | |
PlayerT | |
PlayerB | |
PlayerExtraR | |
PlayerExtraL | |
PlayerExtraT | |
PlayerExtraB | |
pushableArt | |
ThingR | |
ThingL | |
ThingB | |
ThingT | |
ThingJellyR | |
ThingJellyL | |
ThingJellyB | |
ThingJellyT | |
BorderTR | |
BorderTL | |
BorderBR | |
BorderBL | |
BorderT | |
BorderB | |
BorderR | |
BorderL | |
corners | |
TargetAJelly | |
TargetBJelly | |
TargetCJelly | |
====== | |
RULES | |
====== | |
(----------------------------Aesthetic borders---------------------) | |
right[start][wall | no wall] -> [start][wall BorderR | ] | |
left [start][wall | no wall] -> [start][wall BorderL | ] | |
up [start][wall | no wall] -> [start][wall BorderT | ] | |
down [start][wall | no wall] -> [start][wall BorderB | ] | |
right[start][no borderT wall | borderT] -> [start][wall borderTR | borderT] | |
left[start][no borderT wall | borderT] -> [start][wall borderTL | borderT] | |
right[start][no borderB wall | borderB] -> [start][wall borderBR | borderB] | |
left [start][no borderB wall | borderB] -> [start][wall borderBL | borderB] | |
[start][borderT borderB borderR borderL] -> [start][center] | |
[start][borderT borderB borderR] -> [start][TR] | |
[start][borderT borderB borderL] -> [start][TL] | |
[start][borderL borderR borderT] -> [start][TT] | |
[start][borderL borderR borderB] -> [start][TB] | |
[start][borderT borderR] -> [start][CornerTR] | |
[start][borderT borderL] -> [start][CornerTL] | |
[start][borderL borderB] -> [start][CornerBL] | |
[start][borderR borderB] -> [start][CornerBR] | |
[start] -> [] | |
[canMovePlayer] -> [] | |
(-----------------------Player movement--------------------------) | |
[moving player | stationary player] -> [moving player | moving player] | |
[> players | wall] -> [players | wall] | |
[moving players | stationary players] -> [ players | players] | |
(------------------------Pushable movement --------------------) | |
[> Players pushable | ] -> [ > Players move pushable |] | |
[> players] [pushable move] -> [> players] [> pushable canMovePlayer] | |
startloop | |
[moving thing canMovePlayer| stationary thing no canMovePlayer] -> [moving thing canMovePlayer| moving thing canMovePlayer] | |
[moving thing | stationary thing] -> [moving thing | moving thing] | |
[> pushable canMovePlayer| stationary pushable no canMovePlayer ] -> [> pushable canMovePlayer| > pushable canMovePlayer] | |
[> pushable | stationary pushable ] -> [> pushable | > pushable ] | |
(Move groups of jelly that are not the player) | |
[> Pushable stationary PlayerExtra | ] -> [ > Pushable move playerExtra |] | |
[> players] [PlayerExtra move] -> [> players] [> PlayerExtra] | |
[moving playerExtra | playerExtra] -> [moving playerExtra | moving playerExtra] | |
[> PlayerExtra stationary pushable | ] -> [ > PlayerExtra move pushable |] | |
[> playerExtra] [pushable move] -> [> playerExtra] [> pushable] | |
endloop | |
[> pushable | wall] -> [pushable | wall] | |
[> PlayerExtra | wall] -> [PlayerExtra | wall] | |
startloop | |
[moving thing | stationary thing] -> [ thing | thing] | |
[> pushable | stationary pushable] -> [ pushable | pushable] | |
[stationary PlayerExtra moving pushable no canMovePlayer] -> [PlayerExtra pushable] | |
[moving PlayerExtra stationary pushable canMovePlayer] -> [PlayerExtra pushable] | |
[moving PlayerExtra | stationary PlayerExtra] -> [PlayerExtra | playerExtra] | |
[stationary pushable | > miniCrate no players] -> [pushable | miniCrate] | |
endloop | |
[canMovePlayer] -> [] | |
[player] -> [player canMovePlayer] | |
startloop | |
[canMovePlayer | moving pushable no canMovePlayer] -> [canMovePlayer | moving pushable canMovePlayer] | |
[canMovePlayer | moving PlayerExtra no canMovePlayer] -> [canMovePlayer | moving PlayerExtra canMovePlayer] | |
endloop | |
[stationary pushable canMovePlayer] -> [pushable] | |
[moving PlayerExtra no canMovePlayer] -> [playerExtra] | |
[moving pushable no canMovePlayer] -> [pushable] | |
(_--------------------------------------Sound RULES--------------------------------) | |
[stationary pushable moving player] -> sfx4 | |
[stationary pushable moving player] -> sfx4 | |
[stationary player cantMovePlayer] -> [stationary player endAnimation] | |
[stationary player no cantMovePlayer no endanimation] -> [stationary player cantMovePlayer] again sfx6 | |
[player cantMovePlayer][player] -> [player cantMovePlayer][player cantMovePlayer] | |
[> player no pushable | stationary pushable no player] -> sfx3 | |
[endanimation]->[] | |
(_--------------------------------------LATE RULES--------------------------------) | |
late[player | PlayerExtra] -> [player | player] sfx5 | |
late[playerArt] -> [] | |
late[pushableArt] -> [] | |
late right [player | player] -> [player playerR | player playerL] | |
late down [player | player] -> [player playerB | player playerT] | |
late right [playerExtra | playerExtra] -> [playerExtra playerExtraR | playerExtra playerExtraL] | |
late down [playerExtra | playerExtra] -> [playerExtra playerExtraB | playerExtra playerExtraT] | |
late right [thing | thing] -> [thing thingR | thing thingL] | |
late down [thing | thing] -> [thing thingB | thing thingT] | |
late[miniCrate player] -> [miniCrate miniCrateJelly player] | |
late[thing player] -> [thing thingJelly player] | |
late[thingR player] -> [thingR thingJellyR player] | |
late[thingL player] -> [thingL thingJellyL player] | |
late[thingT player] -> [thingT thingJellyT player] | |
late[thingB player] -> [thingB thingJellyB player] | |
late[targetA player] -> [targetA TargetAJelly player] | |
late[TargetB player] -> [targetB TargetBJelly player] | |
late[targetC player] -> [targetC TargetCJelly player] | |
============== | |
WINCONDITIONS | |
============== | |
All TargetA on thing | |
All TargetB on miniCrate | |
All TargetC on players | |
======= | |
LEVELS | |
======= | |
section Row 1 | |
message . [o]o o o o o o o o o o o o o o | |
######### | |
######### | |
###.c.### | |
##p...b## | |
##p...b## | |
###.c.### | |
######### | |
######### | |
message . [o o]o o o o o o o o o o o o o | |
######### | |
######### | |
###.c.### | |
##p...b## | |
##....b## | |
###.c.### | |
######### | |
######### | |
message . [o o o]o o o o o o o o o o o o | |
######## | |
######## | |
###ppb## | |
##..b.## | |
##.b..## | |
##.ccc## | |
######## | |
######## | |
message . [o o o o]o o o o o o o o o o o | |
######## | |
######## | |
##.c#### | |
##.ccc## | |
##.b..## | |
##bbpp## | |
##b.pp## | |
######## | |
######## | |
message . [o o o o o] o o o o o o o o o o | |
########### | |
########### | |
####.b.#### | |
###.cfc.### | |
##.......## | |
##*..*..*## | |
##.......## | |
###.bpb.### | |
####...#### | |
########### | |
########### | |
section 2.1 | |
######### | |
######### | |
###.#.### | |
##.pppp## | |
##x...o## | |
##x#.#o## | |
######### | |
######### | |
section 2.2 | |
########## | |
########## | |
####b#x.## | |
####.#x.## | |
##......## | |
##..pp..## | |
##....c.## | |
######*### | |
######**## | |
########## | |
########## | |
section 2.3 | |
######### | |
######### | |
##..o..## | |
##.xxgp## | |
##..c.p## | |
##.bcb.## | |
######### | |
######### | |
message . [o o o o o] [o o o o]o o o o o o | |
########### | |
########### | |
##*k**##### | |
###...cc.## | |
##.......## | |
##..g....## | |
###ggg..o## | |
########### | |
########### | |
message . [o o o o o] [o o o o o] o o o o o | |
############# | |
############# | |
##.......#### | |
##.ggggg..### | |
##.g...g..### | |
##.gc...cbb## | |
##.g...g..### | |
##.ggggg..### | |
##.......#### | |
############# | |
############# | |
section Row 3 | |
message [o o o o o]\n[o o o o o]\n[o]o o o o | |
########### | |
########### | |
##x.o...o## | |
##x...o..## | |
##*#.ppxx## | |
###e.pp..## | |
####.....## | |
########### | |
########### | |
message . [o o o o o] [o o o o o] [o o]o o o | |
########### | |
########### | |
##k######## | |
##******k## | |
##*.....### | |
##*.xc.p### | |
##*.....### | |
##f.xx.x### | |
##ex....### | |
########### | |
########### | |
message . [o o o o o] [o o o o o] [o o o]o o | |
########## | |
########## | |
##...o..## | |
##..p..*## | |
##..c.#*## | |
##x..x#k## | |
###xx##### | |
########## | |
########## | |
message . [o o o o o] [o o o o o] [o o o o]o | |
############ | |
############ | |
##....###### | |
##..c...#### | |
##p.bbc.#### | |
##pxxx#.#### | |
##p.....#*## | |
##.x...c**## | |
##......#### | |
############ | |
############ | |
message . [o o o o o] [o o o o o] [o o o o o] | |
########## | |
########## | |
###....### | |
##x.obb### | |
##x.p..### | |
##x.hh.### | |
##..p..### | |
###....### | |
####..#### | |
##**fk.### | |
########## | |
########## | |
message . [o o o o o] [o o o o o] [o o o o o] | |
message . [x x x x x] [x x x x x] [x x x x x] | |
############ | |
############ | |
##...x.xb.## | |
##..ppp...## | |
##..p.....## | |
##..ppp...## | |
##..coc.o.## | |
############ | |
############ | |
message . [ ] [ ] [ ] | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment