Skip to content

Instantly share code, notes, and snippets.

Created November 13, 2016 11:48
Show Gist options
  • Save anonymous/9b8be11face1435044796e98950d6935 to your computer and use it in GitHub Desktop.
Save anonymous/9b8be11face1435044796e98950d6935 to your computer and use it in GitHub Desktop.
title
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Magnetocopter
author ThatScar
homepage www.puzzlescript.net
verbose_logging
run_rules_on_level_start
color_palette arnecolors
again_interval 0.05
require_player_movement
========
OBJECTS
========
Background .
White Lightblue
11111
01111
11101
11111
10111
Target T
DarkBlue
.....
.000.
.0.0.
.000.
.....
Wall #
BROWN DARKBROWN
00010
11111
01000
11111
00010
Heliyes P
Black Orange DarkGrey Blue
00000
..2..
.2.2.
.222.
.3.3.
Helimaybe
Black Orange DarkGrey Red
00000
..2..
.2.2.
.222.
.3.3.
Helino
Black Orange DarkGrey Grey
00000
..2..
.2.2.
.222.
.3.3.
GraviCrate X
Orange Brown
00000
0.1.0
01110
0.1.0
00000
AntiCrate
Orange DarkRed
00000
0.1.0
01110
0.1.0
00000
GraviCase O
Grey DarkGrey
00000
0.1.0
01110
0.1.0
00000
AntiCase
Grey Red
00000
0.1.0
01110
0.1.0
00000
SafeGuards
Orange
.....
.....
0...0
0...0
.....
debugParentU
Blue
.....
..0..
.0.0.
.....
.....
debugParentL
Blue
.....
..0..
.0...
..0..
.....
debugParentR
Blue
.....
..0..
...0.
..0..
.....
debugParentD
Blue
.....
.....
.0.0.
..0..
.....
Temp
Transparent
Temp2
Transparent
Parent
Transparent
Border B
Black
=======
LEGEND
=======
Crate = GraviCrate or AntiCrate
Case = GraviCase or AntiCase
GraviBox = GraviCrate or GraviCase
AntiBox = AntiCrate or AntiCase
Box = Crate or Case
Player = Heliyes or Helino or Helimaybe
debugParent = debugParentU or debugParentL or debugParentR or debugParentD
World = Wall or Border
R = Heliyes and Safeguards
\ = GraviCrate and Target
Q = GraviCase and Target
=======
SOUNDS
=======
SFX0 77074109
SFX1 11101504
SFX2 56305500
================
COLLISIONLAYERS
================
Background
Target
SafeGuards
Temp, Temp2
Player, World, Box
Parent
debugParent
======
RULES
======
([ AntiBox ] -> [ Box ]
Down [ Heliyes | ... | Box ] -> [ Heliyes | ... | AntiBox ]
[ Stationary Box ] -> [ Down Box ] again
[ Stationary AntiBox ] -> [ Up AntiBox ] again
[ > Player ] -> [ > Player ]
+ rigid Down [ Moving Heliyes | ... | Crate ] -> [ Moving Heliyes | ... | Moving Crate ])
([ Action Helimaybe ] -> [ Heliyes ]
[ Up Helimaybe ] -> [ Helimaybe ])
([ Moving Helimaybe | AntiBox ] -> [ Helimaybe | Moving AntiBox ] SFX1
+ rigid Down [ Moving Heliyes | AntiBox ] -> [ Moving Heliyes | Moving AntiBox ]
+ [ AntiBox | Box ] -> [ AntiBox | AntiBox ]
+ rigid [ Moving AntiBox | AntiBox ] -> [ Moving AntiBox | Moving AntiBox ])
[ AntiCase ] -> [ GraviCase ]
[ AntiCrate ] -> [ GraviCrate ]
Rigid Down [ Moving Heliyes | GraviCrate ] -> [ Moving Heliyes | Moving AntiCrate ]
Rigid Down [ Moving Heliyes | GraviCase ] -> [ Moving Heliyes | Moving AntiCase ]
startloop
[ Parallel AntiBox | Stationary GraviCase ] -> [ Parallel AntiBox | Parallel AntiCase < Parent ]
+ [ Parallel AntiBox | Stationary GraviCrate ] -> [ Parallel AntiBox | Parallel AntiCrate < Parent ]
[ > AntiBox | World ] -> [ Stationary AntiBox | World ]
+ [ Stationary AntiBox | Moving AntiBox < Parent ] -> [ Stationary AntiBox | Stationary AntiBox < Parent ]
+ [ > AntiBox | Stationary AntiBox ] -> [ Stationary AntiBox | AntiBox ]
+ [ Moving AntiCase | Stationary AntiCase ] -> [ Stationary AntiCase | Stationary AntiCase ]
[ Moving AntiBox | GraviCase ] -> [ Moving AntiBox | Moving AntiCase < Parent ]
[ Parallel AntiBox | Stationary GraviCase ] -> [ Parallel AntiBox | Parallel AntiCase < Parent ]
+ [ Parallel AntiBox | Stationary GraviCrate ] -> [ Parallel AntiBox | Parallel AntiCrate < Parent ]
[ > AntiBox | World ] -> [ Stationary AntiBox | World ]
+ [ Stationary AntiBox | Moving AntiBox < Parent ] -> [ Stationary AntiBox | Stationary AntiBox < Parent ]
+ [ > AntiBox | Stationary AntiBox ] -> [ Stationary AntiBox | AntiBox ]
+ [ Moving AntiCase | Stationary AntiCase ] -> [ Stationary AntiCase | Stationary AntiCase ]
[ Moving AntiBox | GraviCrate ] -> [ Moving AntiBox | Moving Temp < Parent ]
[ Moving Temp ] -> [ Moving AntiCrate ]
endloop
[ debugParent ] -> [ ]
[ Up Parent ] -> [ debugParentU ]
[ Left Parent ] -> [ debugParentL ]
[ Right Parent ] -> [ debugParentR ]
[ Down Parent ] -> [ debugParentD ]
(Down [ Helimaybe | No Box ] -> [ Helino | ]
[ Action Heliyes ] -> [ Helimaybe ]
[ Helino ] -> [ Heliyes ])
Down [ Heliyes | GraviCase ] -> [ Heliyes | AntiCase ]
Down [ Heliyes | GraviCrate ] -> [ Heliyes | AntiCrate ]
[ AntiBox | GraviCase ] -> [ AntiBox | AntiCase ]
+ [ AntiBox | GraviCrate ] -> [ AntiBox | AntiCrate ]
[ GraviBox ] -> [ Down GraviBox ] again
(rigid [ Moving Player SafeGuards ] -> [ Moving Player Moving SafeGuards ]
rigid [ > SafeGuards | GraviBox ] -> [ > SafeGuards | > GraviBox ])
([ Moving Player ] -> [ Moving Player Temp ]
Late [ Player Temp ] -> cancel
Late [ Temp ] -> [ ])
Late [ AntiBox | GraviCase ] -> [ AntiBox | AntiCase ]
+ Late [ AntiBox | GraviCrate ] -> [ AntiBox | AntiCrate ]
Late [ AntiCase ] -> [ Temp ]
Late [ AntiCrate ] -> [ Temp2 ]
Late Down [ Heliyes | Temp ] -> [ Heliyes | AntiCase ]
+ Late Down [ Heliyes | Temp2 ] -> [ Heliyes | AntiCrate ]
Late Down [ Heliyes | GraviCase ] -> [ Heliyes | AntiCase ] SFX2
+ Late Down [ Heliyes | GraviCrate ] -> [ Heliyes | AntiCrate ] SFX2
Late [ AntiBox | Temp ] -> [ AntiBox | AntiCase ]
+ Late [ AntiBox | Temp2 ] -> [ AntiBox | AntiCrate ]
Late [ Temp ] -> [ GraviCase ] again SFX0
+ Late [ Temp2 ] -> [ GraviCrate ] again SFX0
==============
WINCONDITIONS
==============
All Box on Target
All Target on Box
=======
LEVELS
=======
B....#....B
BOP..#....B
B#........B
BO........B
B#........B
BO.....TTTB
B#########B
B....#....B
B.P..#....B
B.........B
B....#....B
B##..#..##B
BOOO...TTTB
B#########B
B.........B
B.P.......B
B.........B
B.......T#B
B......T##B
BOOO..T###B
B#########B
B......#......B
BQQ....#......B
BQQ....P......B
B##...........B
BOO....#...TT#B
BOO....#...TT#B
B#############B
B....#....B
B.P..#....B
B.........B
B....#....B
B##..#..##B
BXXX...TTTB
B#########B
B.........B
BOO.....TTB
BOO..P..TTB
B##.....##B
BTT.....OOB
BTT..\..OOB
B#########B
B.........B
B.......TTB
B....P..##B
BXX.....TTB
BXX.....##B
BXX.....TTB
B#########B
B.........B
B.......TTB
B....P..##B
BXO.....TTB
BOX.....##B
BXO.....TTB
B#########B
B##.......B
B##.....TTB
B....P..##B
BOX.....TTB
BXO.....##B
BOX.....TTB
B#########B
B...##....B
BP..##XX.#B
B....##X..B
B......X..B
B.....XX.#B
B..####OO.B
B#########B
B..........B
B..P.......B
B.......#..B
B#......X..B
B#..X...XX.B
B#XXX...X..B
B##########B
B..........B
B..P.......B
B..........B
B........O.B
B#..X.OXXX.B
B#XOXOO###.B
B##########B
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment