Created
October 5, 2023 20:57
-
-
Save bastianlstrube/80259acec97436a4f2d0332b7872d003 to your computer and use it in GitHub Desktop.
Move It Along (PuzzleScript Script)
This file contains 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 http://www.puzzlescript.net/editor.html |
This file contains 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
(By Oscar Louw, Hans Frederik Jacobsen & Bastian L Strube) | |
(PRELUDE - set game options here) | |
title Move It Along | |
author Hans, Oscar & Bastian | |
background_color #0C090D (for game border and title screens) | |
text_color #F9C22E (for title screens) | |
(game rules) | |
zoomscreen 16x10 (camera follows the character) | |
(smoothscreen 16x10 3x10 0.05) (replace with line above if PuzzleScript+) | |
realtime_interval 0.17 (game rules update every 20ms instead of waiting for player input) | |
(player input options) | |
key_repeat_interval 0.17 (stops player from pressing the same key faster than the frame rate) | |
throttle_movement (stops player from moving faster than the frame rate) | |
norepeat_action (blocks player from pressing Action button more than once per frame) | |
run_rules_on_level_start (gravity, makes things fall to the ground when level starts) | |
(===============================================================================================) | |
======== | |
OBJECTS | |
======== | |
( = BACKGROUND ELEMENTS = ) | |
Background (The default background sprite, appears behind everything) | |
#87857D #7f7976 | |
00000 | |
11111 | |
11111 | |
11111 | |
00000 | |
Outside (The colour of the night sky) | |
#22123E | |
( Train Tiles ) | |
CarriageEndLeft | |
#595E61 #504D50 #22123E | |
00000 | |
21110 | |
21110 | |
21110 | |
00000 | |
CarriageEndRight | |
#595E61 #504D50 #22123E | |
00000 | |
01112 | |
01112 | |
01112 | |
00000 | |
CarriageRoof | |
#595E61 #504D50 #393835 #22123E | |
32223 | |
22222 | |
11111 | |
11.11 | |
00000 | |
CarriageFloor | |
#595E61 #504D50 | |
00000 | |
11111 | |
1.111 | |
11111 | |
00000 | |
CarriageInterior ( Exterior really ) | |
#4B443E #453D36 #583312 | |
00000 | |
11111 | |
11111 | |
11111 | |
00000 | |
InteriorArrowUp | |
#87857D #7f7976 #504D50 | |
00000 | |
11211 | |
12121 | |
21112 | |
00000 | |
InteriorArrowDown | |
#87857D #7f7976 #504D50 | |
00000 | |
21112 | |
12121 | |
11211 | |
00000 | |
CarriageConnector (the little walkway between carriages) | |
#8B837B #22123E | |
00000 | |
10101 | |
11111 | |
11111 | |
11111 | |
Wheel | |
#8B837B #52514F #474748 #113822 | |
02220 | |
02220 | |
02220 | |
30203 | |
11011 | |
(Interior decoration - these have no gameplay function) | |
Crate | |
#645244 #795663 | |
11111 | |
10011 | |
10101 | |
11001 | |
11111 | |
SmallCrate | |
#645244 #795663 | |
..... | |
..... | |
.111. | |
.101. | |
.111. | |
Scaffolding | |
#474748 | |
.0.0. | |
.0.0. | |
..0.. | |
.0.0. | |
.0.0. | |
( = GAMEPLAY ELEMENTS = ) | |
( Teleporter ) | |
TeleporterCrate (all packed up) | |
#99763F #BF9548 #EFF9F0 | |
11111 | |
10221 | |
10101 | |
11001 | |
11111 | |
Box | |
#645244 #a68b5a | |
11111 | |
10011 | |
10101 | |
11001 | |
11111 | |
TeleporterActivated (when player is within 3 spaces) | |
#c9bebb #EFF9F0 #C226E2 #7E27B4 | |
1...1 | |
.232. | |
23132 | |
.232. | |
10001 | |
TeleporterDeactivated (when player not within 3 spaces) | |
#c9bebb #EFF9F0 | |
1...1 | |
.1.1. | |
.101. | |
.010. | |
01010 | |
TPfx1 | |
#7E27B4 #C226E2 | |
..1.. | |
..0.. | |
01010 | |
01110 | |
.1.1. | |
TPfx2 | |
#7E27B4 #C226E2 | |
..1.. | |
..0.. | |
01010 | |
01110 | |
.1.1. | |
TPfx3 | |
#69348a #a34cb5 | |
..1.. | |
..0.. | |
.010. | |
.110. | |
.11.. | |
TPfx4 | |
#603e75 #9458a1 | |
..1.. | |
..0.. | |
..0.. | |
..1.. | |
..1.. | |
TPfx5 | |
#603e75 #9458a1 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
TeleporterDestroyed (when the teleporter hits the tracks) | |
#c9bebb #EFF9F0 #52514F #22123E #113822 | |
31333 | |
22222 | |
40214 | |
01104 | |
20101 | |
TeleporterDestroyedWheel (when a wheel runs over it) | |
#8B837B #52514F #474748 #113822 #c9bebb #EFF9F0 #C226E2 #7E27B4 | |
02220 | |
72250 | |
05620 | |
30205 | |
45561 | |
TeleporterDust (crushed to bits) | |
#c9bebb #EFF9F0 #52514F #22123E #113822 | |
33333 | |
22222 | |
44241 | |
04204 | |
21220 | |
( Doors ) | |
DoorClosed | |
#BB2E29 #393835 | |
..0.. | |
..0.. | |
..01. | |
..0.. | |
..0.. | |
DoorOpen | |
#BB2E29 #393835 | |
.000. | |
.0.0. | |
.100. | |
.000. | |
.000. | |
Target (entry door to next carriage) | |
#BB2E29 #22123E #4B443E #87857D #7f7976 | |
10332 | |
10442 | |
10442 | |
10442 | |
10332 | |
( Traversal objects ) | |
Walkway | |
#52514F #393835 | |
..... | |
..... | |
0..0. | |
0..0. | |
11111 | |
MetalRoof | |
#393835 #595E61 | |
11111 | |
0...0 | |
..... | |
..... | |
..... | |
MetalTube | |
#393835 #595E61 | |
10.01 | |
1...1 | |
1...1 | |
1...1 | |
10.01 | |
Hatch | |
#6e6d69 #52514F #22123E | |
22222 | |
22222 | |
22222 | |
12212 | |
00000 | |
Ladder | |
#52514F #393835 | |
0..0. | |
1111. | |
0..0. | |
1111. | |
0..0. | |
(Moving platforms / lifts) | |
LiftPlatform | |
#d49f2e #232224 | |
..... | |
..... | |
0000. | |
0..0. | |
11111 | |
LiftLever | |
#d49f2e #232224 | |
..... | |
..... | |
...0. | |
...0. | |
...1. | |
( Magnet ) | |
MagnetOn | |
#8f2f49 #d5e2e6 #d1713d | |
.111. | |
.002. | |
20202 | |
.200. | |
.111. | |
MagnetOff | |
#594237 #d5e2e6 #b38a74 | |
.111. | |
.002. | |
20202 | |
.200. | |
.111. | |
MagnetRev | |
#3a429c #d5e2e6 #d1713d | |
.111. | |
.002. | |
20202 | |
.200. | |
.111. | |
MagnetLeverUp | |
#8f2f49 #52514F #232224 #8B837B | |
..00. | |
100.. | |
131.. | |
121.. | |
..... | |
MagnetLeverOff | |
#594237 #52514F #232224 #8B837B | |
..... | |
121.. | |
13000 | |
121.. | |
..... | |
MagnetLeverDown | |
#3a429c #52514F #232224 #8B837B | |
..... | |
121.. | |
131.. | |
100.. | |
..00. | |
( = CHARACTERS = ) | |
(Player character sprites) | |
PlayerFront | |
#6B4D57 #3C91E6 | |
..1.. | |
..0.. | |
01010 | |
01110 | |
.1.1. | |
PlayerLeft | |
#6B4D57 #3C91E6 | |
.11.. | |
..0.. | |
01010 | |
01110 | |
.1.1. | |
PlayerRight | |
#6B4D57 #3C91E6 | |
..11. | |
..0.. | |
01010 | |
01110 | |
.1.1. | |
PlayerCrushed | |
#6B4D57 #3C91E6 #BB2E29 | |
PlayerMagnetized | |
#6B4D57 #3C91E6 #BB2E29 | |
11100 | |
.112. | |
1101. | |
1.... | |
..... | |
PlayerTracked (when you hit the tracks) | |
#6B4D57 #3C91E6 #52514F #22123E #113822 | |
33000 | |
11121 | |
41004 | |
11144 | |
22000 | |
PlayerRunOver (when a wheel runs over you) | |
#8B837B #52514F #474748 #113822 #6B4D57 #3C91E6 #BB2E29 | |
02220 | |
02220 | |
02620 | |
64264 | |
45054 | |
PlayerMush (wow that's dark) | |
#6B4D57 #3C91E6 #52514F #22123E #113822 #BB2E29 | |
33333 | |
52525 | |
40211 | |
50054 | |
22222 | |
(Your Boss, the train driver) | |
(built out of two tiles, head and body) | |
BossHead | |
#52514F #DDC8C4 #C226E2 #992228 #2D6123 #7d98a1 | |
..... | |
..... | |
33... | |
333.. | |
15... | |
BossBody (body) | |
#52514F #393835 #C226E2 #992228 #2D6123 #7d98a1 | |
55... | |
44452 | |
33..0 | |
3.3.0 | |
31311 | |
BossHeadTurned (when he turns around to look at the damage you've done) | |
#52514F #DDC8C4 #C226E2 #992228 #2D6123 #7d98a1 | |
..... | |
..... | |
.33.. | |
333.. | |
.51.. | |
BossBodyTurned | |
#52514F #393835 #C226E2 #992228 #2D6123 #7d98a1 | |
.55.. | |
44442 | |
43340 | |
.3.30 | |
31131 | |
( = ANIMATED ELEMENTS = ) | |
(Moving conveyor belts) | |
Conveyor1 | |
#52514F #393835 #8B837B | |
..1.1 | |
00000 | |
02020 | |
00000 | |
1.1.. | |
Conveyor2 | |
#52514F #393835 #8B837B | |
1..1. | |
00000 | |
02020 | |
00000 | |
.1..1 | |
Conveyor3 | |
#52514F #393835 #8B837B | |
.1..1 | |
00000 | |
02020 | |
00000 | |
1..1. | |
Conveyor4 | |
#52514F #393835 #8B837B | |
1.1.. | |
00000 | |
02020 | |
00000 | |
..1.1 | |
Conveyor5 | |
#52514F #393835 #8B837B | |
.1.1. | |
00000 | |
02020 | |
00000 | |
.1.1. | |
(Grass rolling by) | |
Grass1 | |
#123E24 #113822 | |
00000 | |
01000 | |
00010 | |
00000 | |
10000 | |
Grass2 | |
#123E24 #113822 | |
00000 | |
00010 | |
01000 | |
00000 | |
00100 | |
Grass3 | |
#123E24 #113822 | |
00000 | |
10000 | |
00010 | |
00000 | |
00001 | |
Grass4 | |
#123E24 #113822 | |
00000 | |
00100 | |
10000 | |
00000 | |
01000 | |
(Train tracks) | |
Track1 | |
#52514F #22123E #113822 | |
11111 | |
00000 | |
02222 | |
02222 | |
00000 | |
Track2 | |
#52514F #22123E #113822 | |
11111 | |
00000 | |
22022 | |
22022 | |
00000 | |
Track3 | |
#52514F #22123E #113822 | |
11111 | |
00000 | |
20222 | |
20222 | |
00000 | |
Track4 | |
#52514F #22123E #113822 | |
11111 | |
00000 | |
22220 | |
22220 | |
00000 | |
(Wind Lines for speed) | |
WindLine1 | |
#EFF9F0 #22123E | |
11111 | |
11111 | |
10001 | |
11111 | |
11111 | |
WindLine2 | |
#EFF9F0 | |
..... | |
..... | |
000.. | |
..... | |
..... | |
WindLine3 | |
#EFF9F0 | |
..... | |
..... | |
00..0 | |
..... | |
..... | |
WindLine4 | |
#EFF9F0 | |
..... | |
..... | |
0..00 | |
..... | |
..... | |
Sound0 | |
transparent | |
Sound1 | |
transparent | |
Sound2 | |
transparent | |
Sound3 | |
transparent | |
Sound4 | |
transparent | |
Sound5 | |
transparent | |
Sound6 | |
transparent | |
Sound7 | |
transparent | |
Sound8 | |
transparent | |
Sound9 | |
transparent | |
AmbientSoundPlayer | |
transparent | |
Count0 | |
transparent | |
Count1 | |
transparent | |
Count2 | |
transparent | |
Count3 | |
transparent | |
Count4 | |
transparent | |
Count5 | |
transparent | |
Count6 | |
transparent | |
Count7 | |
transparent | |
Count8 | |
transparent | |
Count9 | |
transparent | |
( = HIDDEN VARIABLE OBJECTS = ) | |
(these are used in some special rules to block messages from being shown twice, or to hold them) | |
(they do the same thing in opposite ways) | |
CrateMessageBlocker | |
transparent | |
LeverMessageHolder | |
transparent | |
XtoTeleportMessage | |
transparent | |
Freedom (secret ending) | |
transparent | |
(===============================================================================================) | |
======= | |
LEGEND | |
======= | |
(= Object Symbols =) | |
(Here we assign a unique letter for objects that we want to place in the level editor) | |
. = Background | |
, = Outside | |
P = PlayerFront | |
B = BossBody | |
u = BossHead | |
r = CarriageRoof | |
a = CarriageEndLeft | |
s = CarriageEndRight | |
f = CarriageFloor | |
z = CarriageConnector | |
C = CarriageInterior | |
y = InteriorArrowUp | |
h = InteriorArrowDown | |
# = Wheel | |
K = TeleporterCrate | |
T = TeleporterDeactivated | |
Q = Crate | |
j = SmallCrate | |
X = Scaffolding | |
4 = Box | |
E = DoorClosed | |
D = DoorOpen | |
O = Target | |
$ = Freedom | |
I = LiftLever | |
_ = LiftPlatform | |
¬ = MagnetLeverUp | |
€ = MagnetLeverOff | |
% = MagnetLeverDown | |
m = MagnetOn | |
0 = MagnetOff | |
n = MagnetRev | |
L = Ladder | |
W = Walkway | |
+ = Hatch | |
æ = MetalRoof | |
& = MetalRoof and Walkway | |
¤ = MetalTube | |
(animated elements, gotta be careful with these when editing levels because | |
the character has to be a specific object like Track1, not just Track [see Grpups below]) | |
~ = WindLine1 and Outside | |
G = Grass1 | |
- = Track1 | |
* = Conveyor1 | |
(hidden variable objects) | |
ø = LiftLever and LeverMessageHolder | |
å = SmallCrate and XtoTeleportMessage | |
! = AmbientSoundPlayer and Outside and Count0 | |
( = GROUPS = ) | |
( Here we create words that combine objects together. | |
This allows us to, for instance, check if the player is next to the "Teleporter", regardless of whether it is | |
currently the TeleporterActivated or TeleporterDeactivated states) | |
(Sounds) | |
Sound = Sound0 or Sound1 or Sound2 or Sound3 or Sound4 or Sound5 or Sound6 or Sound7 or Sound8 or Sound9 | |
AmbientSound = Sound0 or Sound1 or Sound2 or Sound3 or Sound4 or Sound5 | |
( Objects with multiple sprites / states) | |
Teleporter = TeleporterDeactivated or TeleporterActivated | |
Wall = CarriageRoof or CarriageFloor or CarriageInterior or CarriageEndLeft or CarriageEndRight or CarriageConnector or MagnetOn or MagnetOff or MagnetRev | |
Magnetlever = MagnetLeverUp or MagnetLeverDown or MagnetLeverOff | |
Boss = BossBody or BossHead or BossBodyTurned or BossHeadTurned | |
Decor = Crate or SmallCrate or InteriorArrowUp or InteriorArrowDown | |
Counter = Count0 or Count1 or Count2 or Count3 or Count4 or Count5 or Count6 or Count7 or Count8 or Count9 | |
PlayerDead = PlayerTracked or PlayerCrushed or PlayerMagnetized or PlayerRunOver or PlayerMush | |
Player = PlayerLeft or PlayerFront or PlayerRight | |
(Animated objects with multiple frames) | |
Windline = WindLine1 or WindLine2 or WindLine3 or WindLine4 | |
Conveyor = Conveyor1 or Conveyor2 or Conveyor3 or Conveyor4 or Conveyor5 | |
Track = Track1 or Track2 or Track3 or Track4 | |
Grass = Grass1 or Grass2 or Grass3 or Grass4 | |
TPfx = TPfx1 or TPfx2 or TPfx3 or TPfx4 or TPfx5 | |
(Objects grouped by some shared property here) | |
Falling = Teleporter or TeleporterCrate or Box or Crate or SmallCrate (Affected by gravity) | |
Liftable = Player or Teleporter or PlayerMagnetized or Box or TeleporterCrate (Can be pushed or lifted) | |
Magnetic = Player or Teleporter (Magnetic, attracted or repulsed by magnets) | |
TPCollider = Wall or Grass or Track or DoorClosed or Conveyor or Wheel or Box (Block teleportation) | |
Platform = LiftPlatform or Walkway or Hatch (Stop things falling below) | |
PlatformBlocker = Wall or WindLine or Track or Scaffolding (Stop moving platforms from passing through) | |
(===============================================================================================) | |
======= | |
SOUNDS | |
======= | |
(Sounds that play on game events) | |
startgame 29540908 | |
startlevel 27414508 | |
endlevel 6902908 (20292902) (57154108) | |
titlescreen 21405508 | |
showmessage 28227508 | |
Player move 48211707 | |
Teleporter move 69984907 | |
Teleporter action 98221308 | |
Sound0 create 11792508 (tracks 1) | |
Sound1 create 69529508 (tracks 2) | |
Sound3 create 26347108 (tracks 3) | |
Sound4 create 82030308 (tracks 4) | |
Sound5 create 28908 (86603108) (56491308) (28908) (88613308) (72646108) (67682108) (47003108) (26436508) (76583308) (background train sound) | |
Sound9 create 15898508 | |
(Sounds that we play in Rules below) | |
sfx0 63576507 ( Lift Operater ) | |
sfx1 98221308 ( Teleport ) (98221308) (45545508) (17558303) | |
sfx2 70381302 ( Teleport Fail ) (61255908) (9707901) (86324103) | |
sfx3 86324902 ( Crate & Magnet crash ) (6665502) (49118702) | |
sfx4 18994302 ( Door Locked ) | |
sfx5 53198909 ( Teleporter active ) (53198909) (2799903) | |
sfx6 58042102 ( Door open ) | |
sfx7 41504902 ( Teleporter explode ) | |
sfx8 94867908 ( Teleporter crush ) | |
sfx9 78206504 ( Player Die ) | |
sfx10 64468905 ( Magnetizing ) (65816305) (42058305) (old 18544103) | |
(warning 99470908) (66691108) | |
(ping 39007908) | |
(engine 78335708) | |
(fast train move 62266708) | |
(cool humming sound 77376508) | |
(===============================================================================================) | |
================ | |
COLLISIONLAYERS | |
================ | |
(Here we group objects into layers. | |
- Objects can never occupy the same tile as another object on the same layer. | |
- Objects on higher layers are drawn in front. | |
- The layer list goes from lowest to highest.) | |
Background (always needs its own layer) | |
CrateMessageBlocker, LeverMessageHolder, XtoTeleportMessage, Freedom (hidden variables) | |
(background layers) | |
Outside | |
Grass, DoorOpen, Ladder, Windline, Target, Scaffolding, Decor, Hatch, MagnetLever | |
(main gameplay layer) | |
Player, PlayerDead, PlayerRunOver, PlayerMush, Teleporter, Box, Wall, Wheel, Track, DoorClosed, Conveyor, TeleporterDestroyed, TeleporterDestroyedWheel, TeleporterDust, TeleporterCrate, Boss | |
(foreground layer) | |
Walkway | |
LiftPlatform, LiftLever | |
MetalRoof, MetalTube | |
TPfx | |
(Sound and other logic) | |
AmbientSoundPlayer | |
Sound | |
Counter | |
(===============================================================================================) | |
====== | |
RULES | |
====== | |
( Here we define all the rules for how the game plays. | |
- Rules are executed from top to bottom. This means you should generally put more specific rules higher up, and less specific rules lower down. | |
The general shape of a rule is as follows: | |
[ Condition ] -> [ Reaction ] | |
If all of the conditions are met, the reaction is executed | |
) | |
[ stationary Count0 ] -> [ action Count1 ] | |
[ stationary Count1 ] -> [ action Count2 ] | |
[ stationary Count2 ] -> [ action Count3 ] | |
[ stationary Count3 ] -> [ action Count4 ] | |
[ stationary Count4 ] -> [ action Count5 ] | |
[ stationary Count5 ] -> [ action Count6 ] | |
[ stationary Count6 ] -> [ action Count7 ] | |
[ stationary Count7 ] -> [ action Count8 ] | |
[ stationary Count8 ] -> [ action Count9 ] | |
[ stationary Count9 ] -> [ action Count0 ] | |
[ Sound ] -> [] | |
([ AmbientSoundPlayer Counter no Sound4 ] -> [ AmbientSoundPlayer Counter Sound4 ]) | |
([ AmbientSoundPlayer Count0 no Sound0 ] -> [ AmbientSoundPlayer Count0 Sound0 ]) | |
[ AmbientSoundPlayer Count2 no Sound3 ] -> [ AmbientSoundPlayer Count4 Sound3 ] | |
[ AmbientSoundPlayer Count4 no Sound0 ] -> [ AmbientSoundPlayer Count4 Sound0 ] | |
[ AmbientSoundPlayer Count7 no Sound4 ] -> [ AmbientSoundPlayer Count9 Sound4 ] | |
[ AmbientSoundPlayer Count9 no Sound1 ] -> [ AmbientSoundPlayer Count9 Sound1 ] | |
([ AmbientSoundPlayer Count2 no Sound4 ] -> [ AmbientSoundPlayer Count2 Sound4 ] | |
[ AmbientSoundPlayer Count5 no Sound4 ] -> [ AmbientSoundPlayer Count5 Sound4 ] | |
[ AmbientSoundPlayer Count8 no Sound4 ] -> [ AmbientSoundPlayer Count8 Sound4 ]) | |
([ AmbientSoundPlayer Count4 no Sound3 ] -> [ AmbientSoundPlayer Count4 Sound3 ]) | |
[ AmbientSoundPlayer Count9 no Sound5 ] -> [ AmbientSoundPlayer Count9 Sound5 ] | |
( =====@@@@ LOGIC @@@@====== ) | |
( Kill Player When Magnetized ) | |
vertical [ MagnetOn | Player ] -> [ MagnetOn | < PlayerMagnetized ] sfx9 | |
vertical [ MagnetOn |liftable| Player ] -> [ MagnetOn |liftable| < PlayerMagnetized ] sfx9 | |
vertical [ MagnetOn |liftable|liftable| Player ] -> [ MagnetOn |liftable|liftable| < PlayerMagnetized ] sfx9 | |
( = Player Animation =) | |
[left Player] -> [left PlayerLeft] | |
[right Player] -> [right PlayerRight] | |
( == LEVERS == ) | |
(Placed here before no latters removes the UP press below) | |
(if the player moves UP while standing on a lever, and there's a lift platform that's not blocked above by a PlatformBlocker, move that lift UP & play a sound, except if there's metal roof in the way) | |
UP [ UP Player LiftLever ] [ LiftPlatform no MetalRoof | no PlatformBlocker ] -> [ UP Player LiftLever ] [ UP LiftPlatform | ] sfx0 | |
DOWN [ DOWN Player LiftLever ] [ LiftPlatform | no PlatformBlocker no MetalRoof] -> [ DOWN Player LiftLever ] [ DOWN LiftPlatform | ] sfx0 | |
( Turn Magnet between On, Off and Reverse going up and down ) | |
[ UP Player MagnetLever ] [ MagnetOff ] -> [ UP Player MagnetLever ] [ MagnetOn ] sfx0 | |
[ UP Player MagnetLever ] [ MagnetRev ] -> [ UP Player MagnetLever ] [ MagnetOff ] sfx0 | |
[ DOWN Player MagnetLever ] [ MagnetOff ] -> [ DOWN Player MagnetLever ] [ MagnetRev ] sfx0 | |
[ DOWN Player MagnetLever ] [ MagnetOn ] -> [ DOWN Player MagnetLever ] [ MagnetOff ] sfx0 | |
( MagnetLever Sprite change ) | |
[ UP Player MagnetLeverOff ] [Magnetlever] -> [ UP Player MagnetLeverUp ] [MagnetLeverUp] | |
[ UP Player MagnetLeverDown] [Magnetlever] -> [ UP Player MagnetLeverOff ] [MagnetLeverOff] | |
[ DOWN Player MagnetLeverOff ] [Magnetlever] -> [ DOWN Player MagnetLeverDown] [MagnetLeverDown] | |
[ DOWN Player MagnetLeverUp ] [Magnetlever] -> [ DOWN Player MagnetLeverOff ] [MagnetLeverOff] | |
( = GRAVITY = ) | |
(Check if the object is stationary and on top of anything that will stop its descent, | |
then move it DOWN if that's true) | |
[stationary falling no Platform] -> [DOWN falling] | |
[stationary Player no Platform no Ladder no LiftLever no MagnetLever] -> [DOWN Player] (also check the player's on a LiftLever so they don't constantly press DOWN on them) | |
( | |
[stationary Teleporter no Platform] -> [DOWN Teleporter] | |
[stationary TeleporterCrate no Platform] -> [DOWN TeleporterCrate] | |
) | |
( stops crates falling through the ground (because they are on the background layer) ) | |
DOWN [DOWN Crate | Wall] -> [ Crate | Wall] | |
DOWN [DOWN SmallCrate | Wall] -> [ SmallCrate | Wall] | |
( == CANCEL UP IF NO LADDER == ) | |
[ UP Player no Ladder ] -> [ Player ] ( Block upward movement unless on a ladder ) | |
( = MAGNETS = ) | |
(Attraction, if the leading DOWN is removed, magnet is omnidirectional, "horizontal" and "vertical" works too) | |
vertical [ MagnetOn | Magnetic ] -> [ MagnetOn | < Magnetic ] | |
vertical [ MagnetOn || Magnetic ] -> [ MagnetOn || < Magnetic ] sfx3 | |
vertical [ MagnetOn ||| Magnetic ] -> [ MagnetOn ||| < Magnetic ] sfx10 | |
(Repulsion) | |
vertical [ MagnetRev | Magnetic ] -> [ MagnetRev | > Magnetic ] sfx10 | |
vertical [ MagnetRev || Magnetic ] -> [ MagnetRev || > Magnetic ] sfx10 | |
vertical [ MagnetRev ||| Magnetic ] -> [ MagnetRev ||| > Magnetic ] sfx10 | |
( = LIFTS = ) | |
(This part is complicated and barely works.) | |
( Platforms move other nearby Platforms ) | |
[ UP LiftPlatform | stationary LiftPlatform ] -> [ UP LiftPlatform | UP LiftPlatform] | |
[ DOWN LiftPlatform | stationary LiftPlatform ] -> [ DOWN LiftPlatform | DOWN LiftPlatform] | |
( Lifts move Liftables ) | |
[ UP LiftPlatform Liftable ] -> [ UP Liftable UP LiftPlatform ] | |
[ DOWN LiftPlatform Liftable ] -> [ DOWN Liftable DOWN LiftPlatform] | |
[ DOWN Liftable LiftPlatform ] -> [ Liftable LiftPlatform] (stop Liftable from falling if touching a lift) | |
( = CONVEYOR BELTS = ) | |
(if a conveyor belt is below and the teleporter is trying to move down, move it to the right instead) | |
DOWN [ DOWN liftable | Conveyor ] -> [ RIGHT liftable | Conveyor ] | |
( = GENERAL MOVEMENT = ) | |
(stop player from going through metalRoof) | |
DOWN [DOWN Player | MetalRoof ] -> [ Player | MetalRoof ] | |
(Stop player from going through metalTube) | |
horizontal [ > Player | MetalTube ] -> [ Player | MetalTube ] | |
( Pushing objects ) | |
( objects moving towards others push them ) | |
horizontal [ > liftable | liftable ] -> [ > liftable | > liftable ] | |
(objects push down on eachother as to push through platforms, except through metalroof) | |
DOWN [ > liftable | no MetalRoof no LiftPlatform liftable ] -> [ > liftable | > liftable ] | |
( Don't go through metal roofs ) | |
UP [UP liftable MetalRoof ] -> [ liftable MetalRoof ] | |
DOWN [DOWN liftable | MetalRoof ] -> [ liftable | MetalRoof ] | |
( = DOORS = ) | |
( Doors can only be opened by moving LEFT into them ) | |
RIGHT [ RIGHT Player | DoorClosed ] -> [ Player | DoorClosed ] sfx4 | |
LEFT [ LEFT Player | DoorClosed ] -> [ LEFT Player | DoorOpen ] sfx6 | |
( = TELEPORT COLLIDER BLOCKING TELEPORTATION = ) | |
(if the player is within 1, 2 and 3 tiles from a teleporter but a collider is oposite, disable the action button press and play a sound) | |
[ Action Player | Teleporter | TPCollider ] -> [ Player | Teleporter | TPCollider TPfx1 ] sfx2 | |
[ Action Player || Teleporter || TPCollider ] -> [ Player || Teleporter || TPCollider TPfx1 ] sfx2 | |
[ Action Player ||| Teleporter ||| TPCollider ] -> [ Player ||| Teleporter ||| TPCollider TPfx1 ] sfx2 | |
( = TELEPORTATION = ) | |
( if the player is within 1, 2 and 3 tiles of a teleporter, which has an empty space on its other side, swap the location of the player and the empty space ) | |
[ Action Player | Teleporter | ] -> [ TPfx1 | Teleporter Sound3 | Player ] sfx1 | |
[ Action Player || Teleporter || ] -> [ TPfx1 || Teleporter Sound3 || Player ] sfx1 | |
[ Action Player ||| Teleporter ||| ] -> [ TPfx1 ||| Teleporter Sound3 ||| Player ] sfx1 | |
( = Teleporter Activation and Deactivation = ) | |
( each frame, change the teleporter from the activated sprite to the deactivated sprite) | |
[ TeleporterActivated] -> [ TeleporterDeactivated] | |
( Change teleporter to an active sprite when player is within 1, 2 and 3 tiles of it ) | |
[ TeleporterDeactivated | player ] -> [ TeleporterActivated | player ] sfx5 | |
[ TeleporterDeactivated || player ] -> [ TeleporterActivated || player ] sfx5 | |
[ TeleporterDeactivated ||| player ] -> [ TeleporterActivated ||| player ] sfx5 | |
( | |
( TP Destination Cursor ) | |
[ player | TeleporterActivated | no tpfx] -> [player | TeleporterActivated | TPfx4 ] | |
[ player || TeleporterActivated || no tpfx] -> [player || TeleporterActivated || TPfx4 ] | |
[ player ||| TeleporterActivated ||| no tpfx] -> [player ||| TeleporterActivated ||| TPfx4 ] | |
) | |
( = ANIMATIONS = ) | |
( Because rules execute in order, we put the frames in reverse. ) | |
( This way, when we change from frame 3 to 4, the next line [2]->[3] won't execute because | |
we are already on frame 4. ) | |
[ stationary TPfx5 ] -> [ ] | |
[ stationary TPfx4 ] -> [ action TPfx5 ] | |
[ stationary TPfx3 ] -> [ action TPfx4 ] | |
[ stationary TPfx2 ] -> [ action TPfx3 ] | |
[ stationary TPfx1 ] -> [ action TPfx2 ] | |
[ stationary Grass1 ] -> [ action Grass2 ] (if we're on the 3rd frame, go to the 4th) | |
[ stationary Grass2 ] -> [ action Grass3 ] (if we're on the 3rd frame, go to the 4th) | |
[ stationary Grass3 ] -> [ action Grass4 ] (if we're on the 3rd frame, go to the 4th) | |
[ stationary Grass4 ] -> [ action Grass1 ] (if we're on the 4th frame, reset to the 1st) | |
( Of course, the only exception to this is the first rule [4]->[1]. In this case, we end up | |
on frame 1 and then the last rule [1]->[2] executes, meaning we skip frame 1. ) | |
( here is an attempt to fix that with a special "ConveyorLoop" object) | |
[ stationary Conveyor1 ] -> [ action Conveyor2 ] | |
[ stationary Conveyor2 ] -> [ action Conveyor3 ] | |
[ stationary Conveyor3 ] -> [ action Conveyor4 ] | |
[ stationary Conveyor4 ] -> [ action Conveyor5 ] | |
[ stationary Conveyor5 ] -> [ action Conveyor1 ] | |
[ stationary WindLine1 ] -> [ action WindLine2 ] | |
[ stationary WindLine2 ] -> [ action WindLine3 ] | |
[ stationary WindLine3 ] -> [ action WindLine4 ] | |
[ stationary WindLine4 ] -> [ action WindLine1 ] | |
[ stationary Track1 ] -> [ action Track2 ] | |
[ stationary Track2 ] -> [ action Track3 ] | |
[ stationary Track3 ] -> [ action Track4 ] | |
[ stationary Track4 ] -> [ action Track1 ] | |
( TeleporterCrate hits the CarriageFloor, change into a Teleporter and play a sound ) | |
[ DOWN TeleporterCrate | CarriageFloor ] -> [ DOWN TeleporterDeactivated | CarriageFloor ] sfx3 | |
( Deaths & Track Destructions ) | |
DOWN [ DOWN Teleporter | Track ][ BossHead | Boss ] -> [ DOWN TeleporterDestroyed | ] [ BossHeadTurned | BossBodyTurned ] | |
DOWN [ DOWN Teleporter | Track ] -> [ DOWN TeleporterDestroyed | ] sfx7 | |
LEFT [ stationary TeleporterDestroyed | Track ] -> [ Track1 | LEFT TeleporterDestroyed ] | |
LEFT [ stationary TeleporterDestroyed | Wheel ] -> [ Track1 | LEFT TeleporterDestroyedWheel ] sfx8 | |
LEFT [ stationary TeleporterDestroyedWheel | Wheel ] -> [ Wheel | LEFT TeleporterDestroyedWheel ] | |
LEFT [ stationary TeleporterDestroyedWheel | Track ] -> [ Wheel | LEFT TeleporterDust ] | |
LEFT [ stationary TeleporterDust | Track ] -> [ Track1 | LEFT TeleporterDust ] | |
LEFT [ stationary TeleporterDust | Wheel ] -> [ Track1 | LEFT TeleporterDestroyedWheel ] | |
DOWN [ DOWN Player | Track ] -> [ DOWN PlayerTracked | ] sfx9 | |
LEFT [ stationary PlayerTracked | Track ] -> [ Track1 | LEFT PlayerTracked ] | |
LEFT [ stationary PlayerTracked | Wheel ] -> [ Track1 | LEFT PlayerRunOver ] sfx10 | |
LEFT [ stationary PlayerRunOver | Wheel ] -> [ Wheel | LEFT PlayerRunOver ] | |
LEFT [ stationary PlayerRunOver | Track ] -> [ Wheel | LEFT PlayerMush ] | |
LEFT [ stationary PlayerMush | Track ] -> [ Track1 | LEFT PlayerMush ] | |
LEFT [ stationary PlayerMush | Wheel ] -> [ Track1 | LEFT PlayerRunOver ] | |
( = MESSAGES = ) | |
[ RIGHT Player Target ] -> [ Player Target ] message The teleporter Bernard! Move it up here, not yourself | |
( Add a hidden CrateMessageBlocker object to the crate after displaying the first message: ) | |
[ > Player | TeleporterCrate no CrateMessageBlocker ] -> [ > Player | > TeleporterCrate CrateMessageBlocker ] message TRÉS FRAGILE. EXTREM ZERBRECHLICH. ETRE FRAGILA. Auxiliary teleportation unit. Handle with Care. | |
( When the crate moves, move the CrateMessageBlocker with it ) | |
[ > TeleporterCrate CrateMessageBlocker ] -> [ > TeleporterCrate > CrateMessageBlocker ] | |
( When you touch the LeverMessageHolder, display a message and delete the LeverMessageHolder ) | |
[ > Player | LeverMessageHolder ] -> [ > Player | ] message I remember the training video mentioned that the levers were build by unionized workers in Scandinavia. Rickety central-planned bullshit they said. Better keep janking them UP and DOWN. | |
( How To Teleport message before hitting door ) | |
[ > Teleporter | XtoTeleportMessage ] -> [ > Teleporter | ] message X to Teleport. | |
( When you press the Action button on the boss as he's driving, he'll talk to you ) | |
[ Action Player | BossBody ] -> [ Player | BossBody ] message SWEET MOTHER OF CHRIST I SEE THE WALLS OF AMAZONIA COMING UP ON THE HORIZON! IF WE DON’T TELE THROUGH THEM, WE’RE GROUND BEEF, NON VEGAN! | |
( The boss turns around when the player throws the teleporter overboard, this rule makes you win the level if you talk to him after that) | |
[ Action Player | BossBodyTurned ] -> [ Player | BossBodyTurned ] Win | |
[ PlayerTracked | Freedom ] -> [ | Freedom ] restart message Bernard squints and rubs his eyes. The light is blinding. A hand reaches out to him. He grabs it. While you may have lost, Bernard certainly wins. | |
(===============================================================================================) | |
============== | |
WINCONDITIONS | |
============== | |
ANY Teleporter ON Target ( You got the teleporter to a door! ) | |
(===============================================================================================) | |
======= | |
LEVELS | |
======= | |
message RADIO: *KkzzzKKzz*.. Bernard. Bernard can you hear me? | |
message RADIO: Don’t look around like an idiot. I can see you as well you know. On the monitor. | |
message RADIO: I’m sorry Bernard. I’m all tense up here. | |
message RADIO: I see Bezos City up ahead. That means Wallmartia is up next. | |
message RADIO: *KkzzzKKzz*.. Listen Bernard. Bring that crate up here to the engine room. Right now! | |
( Level 1 - intro ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,, | |
,,,,,,,,,,~~~~,,,,,,,,,rrrrrr,,,,~,,,,,,,, | |
,,,,,,,,~~~rrrrrrrrrrrrf..qjfrr,~,rrrrrrrr | |
,,,,,,,,,,,a......k......www..s,,~accccccc | |
,,,,,,,,~~,a...wwwwwww...x.x..s,,,accccccc | |
$,,,,,,,,,,aqjp.l...x...å...j..,,,occccccc | |
$,,,,,~~,~zaffffffffffffffffffszzzafffffff | |
$-----------#-#------------#-#------#-#--- | |
gggggggggggggggggggggggggggggggggggggggggg | |
message RADIO: Are you on your way Bernard? I was actually lying about that monitor. | |
message RADIO: We’re going to need that teleport cell to make the scheduled trans-wall tele-jump into Amazonia. | |
message RADIO: Let me tell you Bernard, we don’t wanna miss that tele-jump. Time to be professionals. | |
message RADIO: Is the box safe? It’s crucial that you bring it here in one piece. Don’t open it! | |
message RADIO: It’s sealed for a reason. Direct contact to the cell makes you, strange. | |
( Level 2 - Lift and Lever Intro, now with Distance ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,~~~~~~,,,,,,,,,,,,,,,~,,,,~~~~,,,,,,,, | |
,,,,,,,~~,,,,,,~,,,,,,,,,,,,,,~~,,,,,,, | |
rrrrrr,,,rrrrrrrrrrrrrrrrrrrr,,,rrrrrrr | |
cccccs,,,a.....q..y.j.......s,~,acccccc | |
cccccs,,,a..j.ww.whwww......s,,,acccccc | |
cccccc,,,dptq.lø.._ffl.qj.j.e,,,occcccc | |
fffffszzzaffffffffffffffffffszzzaffffff | |
----------#-#--------------#------#-#-- | |
ggggggggggggggggggggggggggggggggggggggg | |
message RADIO: I had this buddy Mike, he got in direct contact. At first he was fine, but then he kept asking these questions. | |
message RADIO: 'Why are we all here? Is the universe ultimately knowable? Are we living in a post-truth society?’ | |
message RADIO: On and on. Couldn’t shut him up, Mike. Fruity questions if you ask me. | |
( Level 3 - Advanced Lifts and Conveyors Lesson 73) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,~~~~~~,,,,,,,,,,,,,,~~,,,,~~~~,,,,,,,, | |
,,,,,,,~~,,,,,,~,,rrrrrrrrr,,,~~,,,,,,, | |
rrrrrr,,,rrrrrrrrrfffffffffrr,,,rrrrrrr | |
cccccs,,,a...yff..ww...jw...s,~,acccccc | |
cccccs,,,a.jjh..iwww_fffl**.s,,,acccccc | |
cccccc,,,dptq.__ff.l.f.il..je,,,occcccc | |
fffffszzzaffffffffffffffffffszzzaffffff | |
----------#-#--------------#------#-#-- | |
ggggggggggggggggggggggggggggggggggggggg | |
message RADIO: Are you moving it along Bernard? | |
( Level 4 - What's above us) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
rrrrrr,,,rrrrrrrrrrrrrrrrrrrr,,,rrrrrrr | |
cccccs,,,aff.....y.wwwwwww.fs,,,acccccc | |
cccccs,,,aff.....h..lfffl..fs,,,acccccc | |
cccccc,,,dpt..i..__jlffflq.ee,,,occcccc | |
fffffszzzaffffffffffffffffffszzzaffffff | |
----------#-#--------------#------#-#-- | |
ggggggggggggggggggggggggggggggggggggggg | |
message RADIO: in-person teleporting removes your sanity, one jump at a time. | |
message RADIO: In between jumps, you are supposed to catch stolen glimpses of the infinite chasms between our perceived reality and the subatomic capital T TRUTH. | |
message RADIO: Heavy shit, no? It got to Mike. Gave me the creeps. | |
( Level 4.05 - Sturdy Tools ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,~~~~~~,,,,,,,,,,,,,,,~,,,,~~~~,,,,,,,, | |
,,,,,,,~~,,,,,,~,,,,,,,,,,,,,,~~,,,,,,, | |
rrrrrr,,,rrrrrrrrrrrrrrrrrrrr,,,rrrrrrr | |
cccccs,,,a.......y.......wwws,~,acccccc | |
cccccs,,,a..j.www.w.i....j.ls,,,acccccc | |
cccccc,,,dptq.l.._xfff.ææ4jle,,,occcccc | |
fffffszzzaffffffffffffffffffszzzaffffff | |
----------#-#--------------#------#-#-- | |
ggggggggggggggggggggggggggggggggggggggg | |
( Level Intro the box) | |
( Level - Other side of the box) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,, | |
,,,,,,,,,~,,,,,,+,,,,,,,,,~~~~,,,,, | |
rrrrrrr,~~rrrrrr4rrrrrrrrr,~,rrrrrr | |
ccccccs,,,a.....ww...j...s,,~accccc | |
ccccccs,,,a..ww.i........s,,,accccc | |
ccccccs,,,dpt.lææ_**.ææ..e,,,occccc | |
ffffffszzzaffffffffffffffszzzafffff | |
$--#-#-----#-#--------#-#-----#-#-- | |
ggggggggggggggggggggggggggggggggggg | |
( Level - Packed Tight) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,, | |
,,,,,,,,,~,,,,,,,,,,,,,,~~~rrrrrr | |
rrrrrrr,~~rrrrrrrrrrrrrr,~,accccc | |
ccccccs,,,aiww.4.......s,,~accccc | |
ccccccs,,,afwl.æ4..4ææ.s,,,accccc | |
ccccccs,,,dptl_fæ.æfæ..e,,,occccc | |
ffffffszzzaffffffffffffszzzafffff | |
$--#-#-----#-#------#-#-----#-#-- | |
ggggggggggggggggggggggggggggggggg | |
( Level - Storage Inc) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,, | |
,,,,,,,,,~rrrrrrrrrrrrrr,,,~,,,,, | |
rrrrrrr,~~ail4..4...4l.s,~,rrrrrr | |
ccccccs,,,aælææ.ææ.æælæs,,~accccc | |
ccccccs,,,a.l44.f._.4l.s,,,accccc | |
ccccccs,,,dptææ_fæ.ææl.e,,,occccc | |
ffffffszzzaffffffffffffszzzafffff | |
$-#-#------#-#------#-#------#-#- | |
ggggggggggggggggggggggggggggggggg | |
( Level 4.1 - Magnetic Introdution ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,+r+,,,,,~~~~,,,,,,,, | |
rrrrrrr,,~~~,,rrrfxfrrr,,,,,,~rrrrrrr | |
ccccccs,~~rrrrf...m...frrrr,~,acccccc | |
ccccccs,,,a..wwww...www¬..s,,~acccccc | |
ccccccs,,,a...l.......ff..s,,,acccccc | |
ccccccc,,,dpt.l.......xx..e,,,occcccc | |
ffffffszzzafffffffffffffffszzzaffffff | |
$-#-#------#-#---------#-#-------#-#- | |
ggggggggggggggggggggggggggggggggggggg | |
( Level 4.15 - Magnetic Aversion ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,, | |
rrr,,,,,,~rrrrrrrrrrrrrr,,,~,,,,, | |
cccrrrr,~~a..wwwwwww...s,~,rrrrrr | |
ccccccs,,,a...l..xl....s,,~accccc | |
ccccccs,,,a...l..fl%...s,,,accccc | |
ccccccs,,,dpt.l..flæ...e,,,occccc | |
ffffffszzzafffffnfffnffszzzafffff | |
$-#-#------#-#------#-#------#-#- | |
ggggggggggggggggggggggggggggggggg | |
( Level 4.2 - Metal Floors) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,+r+ | |
rrrrrrr,,~,,,,,,,,,+r+,,,,,~~~rrrccc | |
ccccccs,~~rrrrrrrrrfxfrrrrr,~,accccc | |
ccccccs,,,a....w€f..0.w€..s,,~accccc | |
ccccccs,,,a....læl.ww.læ.js,,,accccc | |
ccccccs,,,dptjq..l..xffæ..e,,,occccc | |
ffffffszzzafffffffffffffffszzzafffff | |
$--#-#-----#-#---------#-#-----#-#-- | |
gggggggggggggggggggggggggggggggggggg | |
( Level 4.3 - Loop de Loop ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,~,,+r++,,,,,,,,,,,,,+r | |
rrr,,,,,,~rrrfxf.rrrrrr,,~rrrrcc | |
ccrrrrr,~~a...m.wwwwils,~,accccc | |
ccccccs,,,a¬wwwwww.ffls,,~accccc | |
ccccccs,,,afxl.fwf_fx.s,,,accccc | |
ccccccc,,,dptl...fffx.e,,,occccc | |
ffffffszzzafffffffffffszzzafffff | |
$-#-#------#-#-----#-#-----#-#-- | |
gggggggggggggggggggggggggggggggg | |
( Level 4.4 - Magnet Range ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
+,,,,,,,,,,,,,+r+r+,,,,~~~,,,,,, | |
crrrrrr,,~rrrrfmfxfrrrr,,,~,,,,, | |
ccccccs,~~a......m....s,~,rrrrrr | |
ccccccs,,,a..¬..wwww..e,,,occccc | |
ccccccs,,,a.æææ...ælffszzzaccccc | |
ccccccs,,,dpt......l..e,,,accccc | |
ffffffszzzaffff***ffffszzzafffff | |
$-#-#------#-#-----#-#------#-#- | |
gggggggggggggggggggggggggggggggg | |
( Level 4.5 - From The Top ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,, | |
,,,,,,,,,~,,,,rrrrrrrr,,,,,~~~~,,,,, | |
rrrrrrr,~~rrrrf.44.w¬frrrrr,~,rrrrrr | |
ccccccc,,,dptww.ææælff.jq.s,,~accccc | |
ccccccszzzaææ.l***wl...wwws,,,accccc | |
ccccccc,,,a...l..fyl....x.e,,,occccc | |
ffffffszzzafffffffmfffffffszzzafffff | |
$--#-#-----#-#---------#-#-----#-#-- | |
gggggggggggggggggggggggggggggggggggg | |
( Level 5 - Type 3 Storage Packer Trolley Tumbler) | |
,,,,,,,,~~~,,,~~~,,,,,,,,,,,,,,,,,,,,, | |
~~,,,,,~,,,,,,,,,,,,+r+,,,~~~,,,,,,,,, | |
rrrrrr,,,,,,,,,,,,,,ams,,,,~,,~,,,,,,, | |
cccccs,,,rrrrrrrrrr,w.x,,+,r~~,rrrrrrr | |
cccccs,~~a...ff...frlyfff.fs,,,acccccc | |
cccccs,,,awww__wwww.lyf¬ww.s,,,acccccc | |
cccccc,,,dptx..fli..l_ffl..e,,,occcccc | |
fffffszzzafffffffffffffffffszzzaffffff | |
----------#-#-----------#-#-----#-#--- | |
gggggggggggggggggggggggggggggggggggggg | |
message RADIO: *KKzzkkzzKK* Are you moving it along Bernard? | |
message RADIO: I won’t pretend I’m not getting worried. Amazonia is close. Those walls are no joke. | |
message RADIO: What kind of a name is Bernard anyway? Did your parents literally hate you? | |
message RADIO: Bernard.. Big B…. The Nard. | |
( Level 1.4 - Magnet CROSS) | |
,,,,,,,,,,,,,,,,,+r+,,,,,,,,,,,,,,, | |
,,,,,,,,,,rrrrrrrfxfrrrrrr~~~,,,,,, | |
rrrrrrr,,~a.wwwwxwxffwww.s,,,~,,,,, | |
ccccccs,~~a.l...ffm.x.fl.s,~,rrrrrr | |
ccccccs,,,ail.wwfw_wf&æl¬s,,~accccc | |
ccccccs,,,aff.lwfl.l.læææe,,,occccc | |
ccccccs,,,dpt.l....******szzzaccccc | |
ffffffszzzaffff***..fffffs,,,afffff | |
$-#-#------#-#--------#-#------#-#- | |
ggggggggggggggggggggggggggggggggggg | |
( Level Minimal Metal Floor CROSS) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,rrrrrrrrrrrrrrrr~~~,,,,,, | |
,,,,,,,,,~a.....iww_wwww.s,,,~,,,,, | |
rrrrrrr,~~a.....ffm.fwww.s,~,rrrrrr | |
ccccccs,,,a...w.ei..fl.¬.s,,~accccc | |
ccccccs,,,dpt.læææ_æwlææ.e,,,occccc | |
ffffffszzzaffff***wwwffffszzzafffff | |
$-#-#------#-#--------#-#------#-#- | |
ggggggggggggggggggggggggggggggggggg | |
( Level Magnet Metal CROSS) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,rrrrr,,,,,,,,,,,,,, | |
,,,,,,,,,,rrrrrrf...frrrrr~~~,,,,,, | |
,,,,,,,,,~a......www.....s,,,~,,,,, | |
rrrrrrr,~~a.....ffmlfwwwws,~,rrrrrr | |
ccccccs,,,a..ww.ei_lfl.¬.s,,~accccc | |
ccccccs,,,a..lfæ&&.&wl&f.s,,,accccc | |
ccccccs,,,dptlx.......le.e,,,occccc | |
ffffffszzzaffff***www*fffszzzafffff | |
$-#-#------#-#--------#-#------#-#- | |
ggggggggggggggggggggggggggggggggggg | |
( Level 6 - Magnetic Hydraulic Conveyor Tower Pump Carriage) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,rr,,,~~~~~,,,,,,,,,, | |
,,~~~~,,,,,~~~~,,,,aw++,,,,,,,,,,,,~~,, | |
~~,,,,,,,rr+,,+,,+,xl,,,,,+rr,~~~,rrr,, | |
rrrrrr,,,affff.fflfff.ffffffs,,,rrffd,, | |
cccccs,,,aff..yfwlwff...._ffs,,,acccffs | |
cccccs,,,dpt..yf.l.ff****.ffs,,,accccfs | |
cccccczzzaffff0f€li.e.......e,,,occccs, | |
ffffff,,,ffffffffffffffffffffzzzfffffsz | |
----------#-#--------------#-----#--#-- | |
ggggggggggggggggggggggggggggggggggggggg | |
message RADIO: Alright. According to my expensive equipment, Amazonia is minutes away. | |
message RADIO: My life is in the hands of someone named Bernard. | |
( Level 7 - Coal Challenge ) | |
,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,rrr,,,r | |
,,~~~~,,,,,,,ai+,,,o | |
~~,,,,~~~~rlfff.szza | |
rrrrrr,,,rfl..._s,,a | |
cccccs,,,a...***s,,, | |
cccccs,,,a..y.l.s,,, | |
cccccc,,,dpt_ilfs,,, | |
ffffffzzzffffffs,,,, | |
----------#---#----- | |
gggggggggggggggggggg | |
message RADIO: Are you moving it along? | |
message RADIO: Wait. I think I hear you! | |
message RADIO: Bernard, you crazy beautiful, son of a bitch! | |
( Level 8 - Locomotive ) | |
,,,,,,,,,,,,,,,,,~~,,,,,,~,~~,,~~~,,,,,,,, | |
,,,,,,,,,,,~~rrr,,rrrrrrr,,,~,~~,as,,,,,,, | |
,~~~~~,,,,,,,ac+,,dpwT._s,,+r+,,,as,,,,,,, | |
~~,,,,,~~~rfffccszaf.ffhfr+ams+++ix+rrr,,, | |
rrrrrr,,,rfcccccs,aflif...ff.ffffff.f.xs,, | |
cccccs,,,accccccs,,alff**h.._..x.x..f.uxs, | |
cccccs,,,accccccs,,,l,aff**********w.wbs,, | |
cccccc,,,occcccfs,,,,,d.¬.x...x.ff...lf,,, | |
ffffffzzzffffffs,,,,,zaffffffffffff.fffr,, | |
----------#---#--------###----###----#---- | |
gggggggggggggggggggggggggggggggggggggggggg | |
message Bernard. Tell me I didn’t just hear what I think I heard. | |
message Bernard. Talk to me. Talk to me Bernard. You know about the standard gaping hole in the engine room of the BXC-22 do you not? | |
message Bernard. Do you even talk Bernard? Do you even fucking talk? Are you some disgusting god-accursed mute? | |
message You know what. You’re fired. That’s right. Fired. | |
( | |
( Level Empty Carriage) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,, | |
,,,,,,,,,~,,,,,,,,,,,,,,,,,~~~~,,,,, | |
rrrrrrr,~~rrrrrrrrrrrrrrrrr,~,rrrrrr | |
ccccccs,,,a...............s,,~accccc | |
ccccccs,,,a...............s,,,accccc | |
ccccccs,,,dpt.............e,,,occccc | |
ffffffszzzafffffffffffffffszzzafffff | |
$--#-#-----#-#---------#-#-----#-#-- | |
gggggggggggggggggggggggggggggggggggg | |
( Level Empty Tall Carriage) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,, | |
,,,,,,,,,~rrrrrrrrrrrrrr,,,~,,,,, | |
rrrrrrr,~~a............s,~,rrrrrr | |
ccccccs,,,a............s,,~accccc | |
ccccccs,,,a............s,,,accccc | |
ccccccs,,,dpt..........e,,,occccc | |
ffffffszzzaffffffffffffszzzafffff | |
$-#-#------#-#------#-#------#-#- | |
ggggggggggggggggggggggggggggggggg | |
(Work in Progress Levels, But mostly implemented in others) | |
( Level 1.1 Magnetic Introdution) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,, | |
,,,,,,,,,~~~~,,rrrrrrrrr,,,,,,~,,,,,rr | |
rrrrrrr,~~rrrrrf...m...frrrr,~,rrrrrcc | |
ccccccs,,,a...wwww...www¬..s,,~acccccc | |
ccccccs,,,a....l.......ff..s,,,acccccc | |
ccccccs,,,dpt..l.......xx..e,,,occcccc | |
ffffffszzzaffffffffffffffffszzzaffffff | |
$-#-#------#-#----------#-#-------#-#- | |
gggggggggggggggggggggggggggggggggggggg | |
( Level 1.2 TP Tub ) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,, | |
rrr,,,,,,~~~~,,rrrrrrrrr,,,,,,~rrrrrrr | |
cccrrrr,~~rrrrrf...m...frrrr,~,acccccc | |
ccccccs,,,a....ww....¬ww...s,,~acccccc | |
ccccccs,,,a....lffwwwffl...s,,,acccccc | |
ccccccs,,,dpt..lxx...xxl...e,,,occcccc | |
ffffffszzzaffffffffffffffffszzzaffffff | |
$-#-#------#-#----------#-#------#-#-- | |
gggggggggggggggggggggggggggggggggggggg | |
( Level 1.3 Full Funhouse) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,, | |
rrr,,,,,,~rrrrrrrrrrrrrr,,~rrrrrr | |
cccrrrr,~~a...mxixwwww.s,~,accccc | |
ccccccs,,,awww.fffw....s,,~accccc | |
ccccccs,,,a..lwwwww_ff.s,,,accccc | |
ccccccs,,,dptlx¬f..lfx.e,,,occccc | |
ffffffszzzaffffffffffffszzzafffff | |
$-#-#-------#-#-----#-#-----#-#-- | |
ggggggggggggggggggggggggggggggggg | |
( Level 1.3 Boxed In) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,~,,,,,+,,,,,,,~~~~,,,, | |
rrrrrrr,,~rrrrrr.rrrrrr,,,rrrrrr | |
ccccccs,~~a...m.wwwwils,~,accccc | |
ccccccs,,,a¬wwwwww.ffls,,~accccc | |
ccccccs,,,afxl.fwf_fx.s,,,accccc | |
ccccccs,,,dptl...fffx.e,,,occccc | |
ffffffszzzafffffffffffszzzafffff | |
$-#-#------#-#-----#-#-----#-#-- | |
gggggggggggggggggggggggggggggggg | |
( Level 1.35 Magnet Range) | |
!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,rrrrrrrrrrrrrr~~~,,,,,, | |
,,,,,,,,,~a....m.x.....s,,,~,,,,, | |
rrrrrrr,~~a......m.....s,~,rrrrrr | |
ccccccs,,,a..¬.....w...s,,~accccc | |
ccccccs,,,a.æææ...ælææ.s,,,accccc | |
ccccccs,,,dpt......l...e,,,occccc | |
ffffffszzzaffff***fffffszzzafffff | |
$-#-#------#-#------#-#------#-#- | |
ggggggggggggggggggggggggggggggggg | |
( Level 1.4 Magnet CROSS) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,rrrrrrrrrrrrrrrr~~~,,,,,, | |
rrrrrrr,,~a.wwwwxwwffwww.s,,,~,,,,, | |
ccccccs,~~a.l...ffm.x.fl.s,~,rrrrrr | |
ccccccs,,,ail.wwfw_wf&æl¬s,,~accccc | |
ccccccs,,,aff.lwfl.l.lfffs,,,accccc | |
ccccccs,,,dpt.l....*.....e,,,occccc | |
ffffffszzzaffff***..*ffffszzzafffff | |
$-#-#------#-#--------#-#------#-#- | |
ggggggggggggggggggggggggggggggggggg | |
( Level Magnet Metal CROSS) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,,,,,,,rrrrr,,,,,,,,,,,,,, | |
,,,,,,,,,,rrrrrrf...frrrrr~~~,,,,,, | |
,,,,,,,,,~awi....www.....s,,,~,,,,, | |
rrrrrrr,~~alf...ffmlfwwwws,~,rrrrrr | |
ccccccs,,,alfww.ei_l.l.i.s,,~accccc | |
ccccccs,,,al.lfæ&&.&wl&f.s,,,accccc | |
ccccccs,,,dptlx.......le.e,,,occccc | |
ffffffszzzaffff***ww**fffszzzafffff | |
$-#-#------#-#--------#-#------#-#- | |
ggggggggggggggggggggggggggggggggggg | |
( Level Minimal Metal Floor CROSS) | |
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | |
,,,,,,,,,,rrrrrrrrrrrrrrrr~~~,,,,,, | |
,,,,,,,,,~a......www_....s,,,~,,,,, | |
rrrrrrr,~~a.....ffml.www.s,~,rrrrrr | |
ccccccs,,,a..ww.ei.l.l.¬.s,,~accccc | |
ccccccs,,,dptlxæææ_æwæææ.e,,,occccc | |
ffffffszzzaffff***&wwffffszzzafffff | |
$-#-#------#-#--------#-#------#-#- | |
ggggggggggggggggggggggggggggggggggg | |
) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment