Skip to content

Instantly share code, notes, and snippets.

@iacore
Created February 24, 2023 05:35
Show Gist options
  • Save iacore/cadf67a2883ad93bf04b7e48188fb3e6 to your computer and use it in GitHub Desktop.
Save iacore/cadf67a2883ad93bf04b7e48188fb3e6 to your computer and use it in GitHub Desktop.
Indigestion (Puzzlescript Plus Script)
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html
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