Skip to content

Instantly share code, notes, and snippets.

@ItsMichal
Created February 17, 2022 09:05
Show Gist options
  • Save ItsMichal/58f6f328be4e4ddacef96b90b914b0ac to your computer and use it in GitHub Desktop.
Save ItsMichal/58f6f328be4e4ddacef96b90b914b0ac to your computer and use it in GitHub Desktop.
L'évasion du Criminel de sa Prison, or How Using Fr**ch is a Vibe (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title L'évasion du Criminel de sa Prison, or How Using Fr**ch is a Vibe
author Michal B.
homepage halmic.itch.io
realtime_interval 0.5
background_color darkblue
text_color white
noundo
verbose_logging
========
OBJECTS
========
OffByOne
black
0....
.....
.....
.....
.....
Background
#33322d #383631
00000
00000
01000
00010
00000
Freedom
#33322d #383631 lightblue white
00022
00223
01223
00223
00022
DoorClosed
darkbrown black
00000
00000
00010
00000
00000
DoorOpen
darkbrown black
0....
0....
0....
0....
0....
SpyRight
black lightgray black black red
.000.
.101.
22222
.333.
.4.4.
SpyLeft
black lightgray black black blue
.000.
.101.
22222
.333.
.4.4.
SpyDown
black lightgray black black green
.000.
.101.
22222
.333.
.4.4.
SpyUp
black lightgray black black orange
.000.
.101.
22222
.333.
.4.4.
Laura
brown white darkblue lightgray red
.000.
01310
22222
02220
.4.4.
DeadLaura
brown white black black black red
5000.
01550
22252
05220
54.45
SpyCaught
red lightgray red red red
.000.
.101.
22222
.333.
.4.4.
RegWall
#2e2a1f #38311c
01010
10101
01010
10101
01010
CrackedWall
#2e2a1f #38311c black
01020
12121
01210
10221
02010
Glass
white lightblue #2e2a1f #38311c
11111
.1...
.....
...1.
11111
BasicGaurd
darkgreen black darkblue white
.0000
00000
.313.
.222.
.0.0.
LookingGaurdLeft
darkbrown black darkblue blue
.0000
00000
.313.
.222.
.0.0.
LookingGaurdRight
darkbrown black darkblue red
0000.
00000
.313.
.222.
.0.0.
MRGuard
gray black darkgray red
0000.
00000
.313.
.222.
.0.0.
MLGuard
gray black darkgray blue
.0000
00000
.313.
.222.
.0.0.
MUGuard
gray black darkgray orange
.0000
00000
.313.
.222.
.0.0.
MDGuard
gray black darkgray green
0000.
00000
.313.
.222.
.0.0.
SRGuard
darkblue black darkred red
0000.
00000
.313.
.222.
.0.0.
SLGuard
darkblue black darkblue blue
.0000
00000
.313.
.222.
.0.0.
SUGuard
darkblue black darkbrown orange
.0000
00000
.313.
.222.
.0.0.
SDGuard
darkblue black darkgreen green
0000.
00000
.313.
.222.
.0.0.
Halte
darkred
.....
..0..
.0.0.
..0..
.....
DeadGuard
black red white
.010.
00010
1202.
.0101
10.0.
Test
yellow
0....
.....
.....
.....
.....
Light
yellow
.0...
0..0.
..0..
....0
0....
LeftLight
lightblue
.0...
0..0.
..0..
....0
0....
RightLight
lightred
.0...
0..0.
..0..
....0
0....
UpLight
lightbrown
.0...
0..0.
..0..
....0
0....
DownLight
lightgreen
.0...
0..0.
..0..
....0
0....
UpArrow
orange
.....
..0..
.000.
.....
.....
LeftArrow
blue
.....
..0..
.00..
..0..
.....
RightArrow
red
.....
..0..
..00.
..0..
.....
DownArrow
green
.....
.....
.000.
..0..
.....
CardFront
white red
.000.
.000.
.010.
.000.
.000.
CardBack
red lightred
.000.
.000.
.010.
.000.
.000.
CardInvDot
white
.....
.0.0.
..0..
.0.0.
.....
Button
gray lightblue darkgray
.....
00000
01110
00000
22222
UIBG
black
Thrown
black
Exit
#33322d #383631 black
00200
02220
22222
02220
00200
LockedExit
#33322d #383631 black darkgray darkred
00300
03330
33433
03330
00300
=======
LEGEND
=======
. = Background
p = SpyRight
# = RegWall
* = Light
e = Exit
g = BasicGaurd
y = LookingGaurdLeft
z = LookingGaurdRight
h = MUGuard
j = MRGuard
k = MLGuard
l = MDGuard
8 = Exit and Light
U = UpArrow
c = LeftArrow
i = CardInvDot and RegWall
r = CardFront
o = UIBG
b = Button
a = LockedExit
f = RightArrow
d = DownArrow
m = Glass
1 = SUGuard
2 = SDGuard
3 = SRGuard
4 = SLGuard
5 = Halte
6 = DoorClosed
7 = DoorOpen and OffByOne
9 = Freedom
0 = Laura
Wall = RegWall or CrackedWall
Player = SpyRight or SpyLeft or SpyDown or SpyUp
AllLight = Light or LeftLight or RightLight or UpLight or DownLight
LightBlock = Wall or DeadGuard or DoorClosed
RLGuard = LookingGaurdLeft or LookingGaurdRight
MGuard = MRGuard or MLGuard or MUGuard or MDGuard
SGuard = SRGuard or SLGuard or SDGuard or SUGuard
GuardBlock = Wall or Glass or DoorClosed or SGuard or RLGuard
Arrows = LeftArrow or UpArrow or DownArrow or RightArrow or Halte
Card = CardFront or CardBack
AllGuard = RLGuard or MGuard or BasicGaurd or SGuard
CardBlock = AllGuard or Wall or Glass
ButtonPusher = DeadGuard or Player or AllGuard
Door = DoorClosed or DoorOpen
DoorBlocker = Player or AllGuard or DeadGuard
Exits = Exit or Freedom
=======
SOUNDS
=======
sfx0 87770502
sfx1 54620107
sfx2 3295104
sfx3 69756509
sfx4 64962303
sfx5 10095508
sfx6 36237501
sfx7 97472104
sfx8 7332108
sfx9 9623908
Player move 73448102
endlevel 85175708
endgame 85175708
Player CantMove 87770502
================
COLLISIONLAYERS
================
Thrown
Background
Exit Arrows LockedExit Freedom
Button
AllLight
SpyCaught
Player Wall BasicGaurd RLGuard MGuard SGuard DeadGuard Glass Laura DoorClosed DeadLaura
DoorOpen
CardInvDot
Card
OffByOne
Test
UIBG
======
RULES
======
( Game Over Logic )
( late [> Player | AllLight] -> [|SpyCaught AllLight] )
late [Player AllLight] -> [SpyCaught AllLight] sfx8
( Laura Logic )
[> Player | Laura] -> [Player | Laura] message "Remy... I'm sorry... I had to. S'il vous plaît, comprenez!"
( Door Logic )
[Button ButtonPusher][DoorClosed no OffByOne] -> [Button ButtonPusher][DoorOpen]
[Button ButtonPusher][DoorOpen OffByOne no DoorBlocker] -> [Button ButtonPusher][DoorClosed OffByOne]
[Button no ButtonPusher][DoorOpen no OffByOne no DoorBlocker] -> [Button][DoorClosed]
[Button no ButtonPusher][DoorClosed OffByOne] -> [Button][DoorOpen OffByOne]
( Cardboard Box )
( Kill Guard )
(Universal Logic)
[AllLight] -> []
up [> Player] -> [> SpyUp]
left [> Player] -> [> SpyLeft]
right [> Player] -> [> SpyRight]
down [> Player] -> [> SpyDown]
( Static Section )
( Card Logic )
( [Card AllGuard] -> [DeadGuard] )
[Card Player][CardInvDot no Card] -> [Player][CardInvDot Card] sfx4
down [action SpyDown| no CardBlock][Card CardInvDot] -> [SpyDown | CardFront Thrown][CardInvDot] sfx5
+ down [action SpyDown| AllGuard][Card CardInvDot] -> [SpyCaught | AllGuard][CardInvDot] sfx8 message "Cards can't kill that close. You were caught."
+ down [Card Thrown no Player no CardInvDot |no CardBlock] -> [|Card Thrown]
+ down [Card Thrown | RegWall] -> [|CrackedWall] sfx0
+ down [Card Thrown | AllGuard] -> [|DeadGuard] sfx7
+ down [Card Thrown | CardBlock] -> [|CardBlock] sfx0
right [action SpyRight| no CardBlock][Card CardInvDot] -> [SpyRight | CardFront Thrown][CardInvDot] sfx5
+ right [action SpyRight | AllGuard][Card CardInvDot] -> [SpyCaught | AllGuard][CardInvDot] sfx8 message "Cards can't kill that close. You were caught."
+ right [Card Thrown no Player no CardInvDot |no CardBlock] -> [|Card Thrown]
+ right [Card Thrown | Laura] -> [|DeadLaura] sfx9 message "I'm sorry, my dear. No one betrays me..."
+ right [Card Thrown | RegWall] -> [|CrackedWall] sfx0
+ right [Card Thrown | AllGuard] -> [|DeadGuard] sfx7
+ right [Card Thrown | CardBlock] -> [|CardBlock] sfx0
up [action SpyUp| no CardBlock][Card CardInvDot] -> [SpyUp | CardFront Thrown][CardInvDot] sfx5
+ up [action SpyUp | AllGuard][CardInvDot] -> [SpyCaught | AllGuard][CardInvDot] sfx8 message "Cards can't kill that close. You were caught."
+ up [Card Thrown no Player no CardInvDot |no CardBlock] -> [|Card Thrown]
+ up [Card Thrown | AllGuard] -> [|DeadGuard] sfx7
+ up [Card Thrown | RegWall] -> [|CrackedWall] sfx0
+ up [Card Thrown | CardBlock] -> [|CardBlock] sfx0
left [action SpyLeft| no CardBlock][Card CardInvDot] -> [SpyLeft | CardFront Thrown][CardInvDot] sfx5
+ left [action SpyLeft | AllGuard][Card CardInvDot] -> [SpyCaught | AllGuard][CardInvDot] sfx8 message "Cards can't kill that close. You were caught."
+ left [Card Thrown no Player no CardInvDot |no CardBlock] -> [|Card Thrown]
+ left [Card Thrown | RegWall] -> [|CrackedWall] sfx0
+ left [Card Thrown | AllGuard] -> [|DeadGuard] sfx7
+ left [Card Thrown | CardBlock] -> [|CardBlock] sfx0
( BasicGuard Logic )
[BasicGaurd | ] -> [BasicGaurd | Light]
( END Static Section )
( Real-Time Section )
( Left-Right Guards )
left [stationary Player][RLGuard | ] -> [Player][RLGuard | Test]
[Test | LookingGaurdLeft] -> [|LookingGaurdRight]
[Test | LookingGaurdRight] -> [|LookingGaurdLeft]
right [no LightBlock |LookingGaurdLeft] -> [LeftLight | LookingGaurdLeft]
right [LookingGaurdRight| no LightBlock] -> [LookingGaurdRight | RightLight]
( Moving Guards )
( Arrows )
[stationary Player][MGuard LeftArrow] -> [Player][MLGuard LeftArrow]
[stationary Player][MGuard RightArrow] -> [Player][MRGuard RightArrow]
[stationary Player][MGuard DownArrow] -> [Player][MDGuard DownArrow]
[stationary Player][MGuard UpArrow] -> [Player][MUGuard UpArrow]
[stationary Player][MUGuard Halte] -> [Player][SUGuard Halte]
[stationary Player][MDGuard Halte] -> [Player][SDGuard Halte]
[stationary Player][MRGuard Halte] -> [Player][SRGuard Halte]
[stationary Player][MLGuard Halte] -> [Player][SLGuard Halte]
( Tests )
up [stationary Player][MDGuard ] -> [Player][MDGuard Test]
down [stationary Player][MUGuard ] -> [Player][MUGuard Test]
right [stationary Player][MLGuard ] -> [Player][MLGuard Test]
left [stationary Player][MRGuard ] -> [Player][MRGuard Test]
( Guarde Movement )
up [Test MUGuard | Player] -> [SUGuard| SpyCaught] sfx8
up [Test MUGuard | no GuardBlock] -> [|MUGuard]
up [Test MUGuard | GuardBlock] -> [MDGuard|GuardBlock]
down [Test MDGuard | Player] -> [SDGuard| SpyCaught] sfx8
down [Test MDGuard | no GuardBlock] -> [|MDGuard]
down [Test MDGuard | GuardBlock] -> [MUGuard|GuardBlock]
left [Test MLGuard | Player] -> [SLGuard| SpyCaught] sfx8
left [Test MLGuard | no GuardBlock] -> [|MLGuard]
left [Test MLGuard | GuardBlock] -> [MRGuard|GuardBlock]
right [Test MRGuard | Player] -> [SRGuard| SpyCaught] sfx8
right [Test MRGuard | no GuardBlock] -> [|MRGuard]
right [Test MRGuard | GuardBlock] -> [MLGuard|GuardBlock]
( Light )
up [MUGuard | no LightBlock] -> [MUGuard | UpLight]
down [MDGuard | no LightBlock] -> [MDGuard | DownLight]
left [MLGuard | no LightBlock] -> [MLGuard | LeftLight]
right [MRGuard | no LightBlock] -> [MRGuard | RightLight]
up [SUGuard | no LightBlock] -> [SUGuard | UpLight]
down [SDGuard | no LightBlock] -> [SDGuard | DownLight]
left [SLGuard | no LightBlock] -> [SLGuard | LeftLight]
right [SRGuard | no LightBlock] -> [SRGuard | RightLight]
( ------------ )
( Light Logic )
right [no LightBlock| LeftLight] -> [LeftLight | LeftLight]
right [RightLight | no LightBlock] -> [RightLight | RightLight]
down [no LightBlock | UpLight] -> [UpLight | UpLight]
down [DownLight | no LightBlock] -> [DownLight | DownLight]
( Dead Guard Push Logic )
[> Player | DeadGuard] -> [> Player | > DeadGuard]
[> Player | DeadLaura] -> [> Player | > DeadLaura]
[DeadLaura][> Player |] -> [][DeadLaura | Player]
( [DoorClosed Player] -> [DoorClosed] restart sfx5 message "You got killed by a closing door. Good job?" )
( Exit Logic )
[Button ButtonPusher][LockedExit] -> [Button ButtonPusher][Exit] sfx2
[Button no ButtonPusher][Exit] -> [Button][LockedExit] sfx1
==============
WINCONDITIONS
==============
All Player on Exits
No SpyCaught
( All Button on ButtonPusher )
=======
LEVELS
=======
Message Chapitre 1 - La Petit Escapadé
Message Je suis Remy. Tout va mal. Je suis emprisonné.
Message (I am Remy. Everything went wrong. I'm imprisoned. )
Message Laissez tout ça derrière vous. (You must leave. )
#########
#.......#
#...*...#
#p.*g*.e#
#...*...#
#.......#
#########
#########
#.......#
#.......#
#...z**8#
#.......#
#p......#
#########
#########
#...p...#
#.......#
#***y...#
#.......#
#...z***#
#.......#
#...e...#
#########
Message Chapitre 2 - Éviter les mouvements
Message Ma chérie. J'arrive. Tiens bon. "Hang on..."
###########
#p#d...c..#
#.#l....#.#
#.#..g..#.#
#.#..g..#.#
#.#..g..#.#
#.#....h#.#
#..f...u#e#
###########
Message Allez !
##############
#p#.....g....#
#.#.##.#.#.#.#
#...##.....#e#
############5#
#j..........u#
##############
Message Continuez...
##########
#.......e#
#..#m##m##
#........#
##d#d#...#
##l#h#.p.#
##u#u#...#
##########
Message Les gardes dansent?
#############
#############
##dkcdkcdkc##
#el.hl.hl.hp#
##fjufjufju##
#############
#############
Message Chapitre 3 - La Mort et les Cartes armées
Message Les cartes sont mes amis. Je peux les utiliser. (The cards are my friends. I can use them. )
Message (Press the Action Button )
###########
#........e#
#.......g.#
#.........#
#.k..r....#
#.........#
#p........#
i##########
Message Plus de gardes ?
############
#..........#
#.d..r.kc..#
#g..g......#
#.f....ru..#
#.......1#.#
#p.....1##e#
ii##########
Message Mort, mort, et mort.
############
#3.m......e#
#3.m.......#
########...#
#.*.*......#
#rg*g###...#
#.*.*#i#.p.#
#....###...#
##.#####...#
#r.......###
############
Message Je ne suis pas "insane"!
#############
#3....r.....#
#....#r#....#
#...z#.#y...#
#....#p#....#
#....#.#....#
#y...#l#2..z#
#....#.#....#
#......#....#
#r...#.#e..r#
#############
######i######
Message Chapitre 4 - Une pression intense
Message "Remy. You leave me be! This was never going to work out between us!"
Message Ma chère ? C'est vous que j'entends...? (Is that you..? )
Message Je dois partir. (I must leave... )
###########
#r...#....#
#...d.c...#
#....b...a#
#...fju...#
#.d..#....#
#ju..#...p#
#####i#####
Message Tres bien. Patience Remy.
###########
#....b...k#
#mmmmmmmmm#
#.........#
#h........#
#a...y....#
#.........#
#........p#
###########
Message La lumière à la fin du tunnel...Laura...
###########
#.a#j.d..r#
#6##......#
#..z..b...#
#u.......c#
#6##......#
#.p#..f..u#
#####i#####
Message Chapitre 5 - La Fin
Message Laura. Je viens pour toi ! I am come for you, Ma chérie Anglaise!
Message Je suis si proche. (I'm so close... )
#################
##.b6.k#.......r#
#...7.4#...#mm..#
#.z.####.h##lm..#
#......7..##.m..#
#...########zm..#
##..7....a#i##.p#
#################
Message La fin est si, si proche ! Continuez !
#############
#a#d....kc###
#.#.bfbkc...#
#.........#r#
#.#.bfbjc.#r#
#.........#r#
#p#fj....u..#
#####iii#####
Message ...Laura? Pourquoi es-tu ici, Laura? You said you were across the channel?
Message "Remy, I'm so sorry. I'm sorry. Pardonnez-moi, mon Remy."
Message You turn me in, don't you? Tu m'as trahi ! Sale garce !
Message "Remy I told you, you had to leave me behind. I was with Interpol, Remy. I had no choice, no matter how much I loved you!"
Message Laura...Je dois te laisser derrière moi. This must be our final goodbye...
Message "Remy..."
oooooooooooo
oooooooooooo
############
#........#g#
#........#.#
ir.p..0.b6.9
#........#.#
#........#g#
############
oooooooooooo
oooooooooooo
Message Enfin. La liberté pour Rémy. In Body and in Soul.
Message ~Fin~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment