Skip to content

Instantly share code, notes, and snippets.

@JackLance
Created November 28, 2018 22:13
Show Gist options
  • Save JackLance/44764201b69d3c917fdd01714f3bc04f to your computer and use it in GitHub Desktop.
Save JackLance/44764201b69d3c917fdd01714f3bc04f to your computer and use it in GitHub Desktop.
Mechanic Overload! (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Mechanic Overload!
author Jack Lance
flickscreen 12x11
key_repeat_interval 0.2
mouse_left
mouse_drag
run_rules_on_level_start
background_color black
verbose_logging
========
OBJECTS
========
Background
black
Grass
lightgreen
Road
#444444
drag
transparent
lmb
transparent
Wall
BROWN
MechA
yellow lightblue blue darkblue
.222.
.111.
12321
.333.
.3.3.
MechAWait
yellow lightblue blue blue
.333.
.333.
33333
.333.
.3.3.
MechB
yellow lightblue green darkgreen
.222.
.111.
12321
.333.
.3.3.
MechBWait
yellow lightblue blue green
.333.
.333.
33333
.333.
.3.3.
DrivingA
transparent
DrivingB
transparent
TruckAR
Red black darkgrey darkred yellow
.....
.....
.....
0....
.....
TruckAL
Red black darkgrey darkred yellow
.....
.....
.....
....0
.....
TruckAD
Red black darkgrey darkred yellow
.....
.....
.....
.....
.....
TruckAU
Red black darkgrey darkred yellow
.....
.....
.....
.000.
.000.
PickupAR
Red black darkgrey darkred yellow
.....
.0..0
.0000
.3000
.2.2.
PickupAL
Red black darkgrey darkred yellow
.....
0..0.
0000.
0003.
.2.2.
PickupAD
Red black darkgrey darkred yellow
.....
.000.
.030.
.030.
.000.
PickupAU
Red black darkgrey darkred yellow
.030.
.030.
.000.
.303.
.2.2.
CarAR
Red black darkgrey darkred yellow
.....
0000.
0000.
30004
2..2.
CarAL
Red black darkgrey darkred yellow
.....
.0000
.0000
40003
.2..2
CarAD
Red black darkgrey darkred yellow
.000.
.000.
.000.
.404.
.2.2.
CarAU
Red black darkgrey darkred
.000.
.000.
.000.
.303.
.2.2.
CarBR
Orange black darkgrey darkred yellow
.....
0000.
0000.
30004
2..2.
CarBL
Orange black darkgrey darkred yellow
.....
.0000
.0000
40003
.2..2
CarBD
Orange black darkgrey darkred yellow
.000.
.000.
.000.
.404.
.2.2.
CarBU
Orange black darkgrey darkred
.000.
.000.
.000.
.303.
.2.2.
Gas1
transparent
Gas2
transparent
Gas3
transparent
Gas4
transparent
Gas5
transparent
Gas6
transparent
Gas7
transparent
Gas8
transparent
EngineBroke
transparent
SteeringBroke
transparent
BrakeBroke
transparent
LeftTireBroke
transparent
RightTireBroke
transparent
GaugeL
white
...0.
.....
..0..
.....
...0.
GaugeU
white
.....
.....
..0..
0...0
.....
GaugeR
white
.0...
.....
..0..
.....
.0...
Needle8
white red
.....
.....
..11.
...11
.....
Needle7
white red
.....
.....
..111
.....
.....
Needle6
white red
.....
...11
..11.
.....
.....
Needle5
white red
...1.
..11.
..1..
.....
.....
Needle4
white red
..1..
..1..
..1..
.....
.....
Needle3
white red
.1...
.11..
..1..
.....
.....
Needle2
white red
.....
11...
.11..
.....
.....
Needle1
white red
.....
.....
111..
.....
.....
Needle0
white red
.....
.....
.11..
11...
.....
GasGauge
transparent
GoalA
lightred
00000
0...0
0...0
0...0
00000
GoalB
lightbrown
00000
0...0
0...0
0...0
00000
InventorySlot
lightgray
KeychainA
grey yellow
.....
..000
..110
.1100
1111.
KeychainB
lightgrey yellow
.....
..000
..110
.1100
1111.
KeyAMark
red grey
.....
...00
00000
.0.00
.....
KeyBMark
orange grey
.....
...00
00000
.0.00
.....
Fuel
red darkgray
.00.1
0001.
0000.
0000.
0000.
GasCapL
transparent
GasCapR
transparent
GasIcon
transparent
GasIconC
white
.000.
.0.0.
.000.
.000.
00000
GasIconL
white
...0.
..00.
.000.
..00.
...0.
GasIconR
white
.0...
.00..
.000.
.00..
.0...
Selected
white
00.00
0...0
.....
0...0
00.00
Inactive
transparent
AddFuel
transparent
CarAMark
red
.....
..0..
.000.
.0.0.
.....
CarBMark
orange
.....
.00..
.000.
.00..
.....
Wrench
grey grey red
00...
..0..
001..
..11.
...11
Tire
red grey
.....
.111.
.1.1.
.111.
.....
BrakeFluid
white blue
.111.
.000.
00000
11111
00000
CheckEngine
orange red red
00...
..0..
001..
..11.
...11
CheckSteering
orange red red
.111.
1...1
10001
1.0.1
.111.
CheckBrake
red grey orange
.202.
2.0.2
2.0.2
2...2
.202.
CheckRightTire
orange red
.....
.111.
.101.
.111.
.....
CheckLeftTire
orange red
.....
.111.
.101.
.111.
.....
SwissArmyMark
red grey orange
00111
000..
.000.
..000
...00
CheckEngineMark
red grey orange
11...
..1..
111..
..11.
...11
CheckSteeringMark
red grey orange
.111.
1...1
11111
1.1.1
.111.
CheckBrakeMark
red grey orange
.202.
2.0.2
2.0.2
2...2
.202.
CheckLeftTireMark
red grey
.....
.111.
11.1.
.111.
.....
CheckRightTireMark
red grey
.....
.111.
.1.11
.111.
.....
DashboardLight
transparent
Gas0Mark
white
.....
.000.
.0.0.
.000.
.....
Gas1Mark
white
.....
...0.
...0.
...0.
.....
Gas2Mark
white
.....
.00..
..0..
..00.
.....
Gas3Mark
white
.....
.000.
..00.
.000.
.....
Gas4Mark
white
.....
.0.0.
.000.
...0.
.....
Gas5Mark
white
.....
..00.
..0..
.00..
.....
Gas6Mark
white
.....
.0...
.000.
.000.
.....
Gas7Mark
white
.....
.000.
...0.
...0.
.....
Gas8Mark
white
.....
.000.
.000.
.000.
.....
GascapLeftMark
white
.....
..0..
.00..
..0..
.....
GascapRightMark
white
.....
..0..
..00.
..0..
.....
KeyChainAMark
grey
.....
..0..
.000.
.0.0.
.....
KeyChainBMark
lightgrey
.....
.00..
.000.
.00..
.....
InventoryAMark
blue
.....
..0..
.000.
.0.0.
.....
InventoryBMark
green
.....
.00..
.000.
.00..
.....
Shower
white
.....
..0..
.....
..0..
.....
CoverUp
transparent
StartVerticalMark
transparent
MoveLeft
transparent
MoveRight
transparent
MoveUp
transparent
MoveDown
transparent
DontUseFuel
transparent
NextToMech
transparent
HadCarA
transparent
TruckEmpty
transparent
=======
LEGEND
=======
` = Road
, = Grass
. = Background
# = Wall
A = CarAMark
B = CarBMark
0 = Gas0Mark
1 = Gas1Mark
2 = Gas2Mark
3 = Gas3Mark
4 = Gas4Mark
5 = Gas5Mark
6 = Gas6Mark
7 = Gas7Mark
8 = Gas8Mark
< = GascapLeftMark
> = GascapRightMark
| = KeychainAMark
\ = KeychainBMark
% = KeyAMark
& = KeyBMark
* = SwissArmyMark
: = Shower
[ = InventoryAMark
] = InventoryBMark
~ = CheckEngineMark
! = CheckBrakeMark
@ = CheckSteeringMark
{ = CheckLeftTireMark
} = CheckRightTireMark
v = StartVerticalMark
^ = CoverUp
" = GasGauge
' = GasIcon
- = DashboardLight
C = CarAR
D = CarBR
F = fuel
G = GoalA
H = GoalB
K = KeyChainA
L = KeyChainB
O = Tire
P = MechA
Q = MechBWait
T = PickupAR
W = Wrench
Z = MechA and KeyChainB
? = BrakeFluid
_ = InventorySlot
player = MechA or DrivingA or MechB or DrivingB
CarA = CarAR or CarAL or CarAD or CarAU
CarB = CarBR or CarBL or CarBD or CarBU
PickupA = PickupAR or PickupAL or PickupAD or PickupAU
TruckA = TruckAR or TruckAL or TruckAD or TruckAU
Truck = TruckA
Pickup = PickupA
Car = CarA or CarB
Needle = Needle8 or Needle7 or Needle6 or Needle5 or Needle4 or Needle3 or Needle2 or Needle1 or Needle0
Gauge = GaugeL or GaugeU or GaugeR
GasIcons = GasIconC or GasIconR or GasIconL
CheckTire = CheckLeftTire or CheckRightTire
CheckTireMark = CheckLeftTireMark or CheckRightTireMark
TireBroke = LeftTireBroke or RightTireBroke
DashIcons = CheckTire or CheckBrake or CheckSteering or CheckEngine
Peripheral = Needle or Gauge or GasIcons or DashIcons
SomethingBroke = EngineBroke or SteeringBroke or TireBroke or BrakeBroke
Mech = MechA or MechB
Driving = DrivingA or DrivingB
Gas = Gas1 or Gas2 or Gas3 or Gas4 or Gas5 or Gas6 or Gas7 or Gas8
KeyChain = KeyChainA or KeyChainB
Pickable = Fuel or Keychain or Wrench or BrakeFluid or Tire
Hittable = Car or Pickable or Mech or Wall
GasCap = GasCapL or GasCapR
CarR = CarAR or CarBR
CarL = CarAL or CarBL
CarD = CarAD or CarBD
CarU = CarAU or CarBU
Mark = CarAMark or CarBMark or Gas0Mark or Gas1Mark or Gas2Mark or Gas3Mark or Gas4Mark or Gas5Mark or Gas6Mark or Gas7Mark or Gas8Mark or GascapLeftMark or GascapRightMark or KeyAMark or KeychainAMark or KeyBMark or InventoryAMark or InventoryBMark or KeyChainBMark or CheckSteeringMark or CheckBrakeMark or CheckTireMark or CheckEngineMark or StartVerticalMark or SwissArmyMark
MechWait = MechAWait or MechBWait
Goal = GoalA or GoalB
Move = Moveleft or Moveright or Movedown or Moveup
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Grass, Road
InventorySlot
Goal
Car, Pickup
Truck
Pickable
Player, Wall,
MechAWait, MechBWait
lmb, drag
GasCap
Gas
SteeringBroke
BrakeBroke
TireBroke
EngineBroke
GasGauge, GasIcon, DashboardLight
Peripheral
Selected
Inactive
AddFuel
Mark, Shower
CoverUp
Move
NextToMech
HadCarA
DontUseFuel
TruckEmpty
======
RULES
======
[moving Player] -> [stationary Player]
[Truck] -> []
[DontUseFuel] -> []
[Move][Car] -> [Move][Car DontUseFuel]
[Moveup ][Driving] -> [][up Driving]
[Moveleft ][Driving] -> [][left Driving]
[Moveright ][Driving] -> [][right Driving]
[Movedown][ Driving] -> [][down Driving]
[Moveup Pickable] -> [up Pickable]
[Moveleft Pickable] -> [left Pickable]
[Moveright Pickable] -> [right Pickable]
[Movedown Pickable] -> [down Pickable]
down [CarA][CarAMark | ... | StartVerticalMark] -> [CarAD][CarAMark | ... |]
down [CarB][CarBMark | ... | StartVerticalMark] -> [CarBD][CarBMark | ... |]
up [CoverUp | no CoverUp] -> [CoverUp | CoverUp]
down [InventorySlot | Pickable] -> [InventorySlot Pickable | ]
down [CarA][CarAMark | ... |Gas0Mark] -> [CarA][CarAMark | ... | ]
down [CarA][CarAMark | ... |Gas1Mark] -> [CarA Gas1][CarAMark | ... | ]
down [CarA][CarAMark | ... |Gas2Mark] -> [CarA Gas2][CarAMark | ... | ]
down [CarA][CarAMark | ... |Gas3Mark] -> [CarA Gas3][CarAMark | ... | ]
down [CarA][CarAMark | ... |Gas4Mark] -> [CarA Gas4][CarAMark | ... | ]
down [CarA][CarAMark | ... |Gas5Mark] -> [CarA Gas5][CarAMark | ... | ]
down [CarA][CarAMark | ... |Gas6Mark] -> [CarA Gas6][CarAMark | ... | ]
down [CarA][CarAMark | ... |Gas7Mark] -> [CarA Gas7][CarAMark | ... | ]
down [CarA][CarAMark | ... |Gas8Mark] -> [CarA Gas8][CarAMark | ... | ]
down [CarA][CarAMark | ... |GascapLeftMark] -> [CarA GasCapL][CarAMark | ... | ]
down [CarA][CarAMark | ... |GascapRightMark] -> [CarA GasCapR][CarAMark | ... | ]
down [CarA][CarAMark | ... |CheckEngineMark] -> [CarA EngineBroke][CarAMark | ... | ]
down [CarA][CarAMark | ... |CheckSteeringMark] -> [CarA SteeringBroke][CarAMark | ... | ]
down [CarA][CarAMark | ... |CheckBrakeMark] -> [CarA BrakeBroke][CarAMark | ... | ]
down [CarA][CarAMark | ... |CheckLeftTireMark] -> [CarA LeftTireBroke][CarAMark | ... | ]
down [CarA][CarAMark | ... |CheckRightTireMark] -> [CarA RightTireBroke][CarAMark | ... | ]
down [CarB][CarBMark | ... |Gas0Mark] -> [CarB][CarBMark | ... | ]
down [CarB][CarBMark | ... |Gas1Mark] -> [CarB Gas1][CarBMark | ... | ]
down [CarB][CarBMark | ... |Gas2Mark] -> [CarB Gas2][CarBMark | ... | ]
down [CarB][CarBMark | ... |Gas3Mark] -> [CarB Gas3][CarBMark | ... | ]
down [CarB][CarBMark | ... |Gas4Mark] -> [CarB Gas4][CarBMark | ... | ]
down [CarB][CarBMark | ... |Gas5Mark] -> [CarB Gas5][CarBMark | ... | ]
down [CarB][CarBMark | ... |Gas6Mark] -> [CarB Gas6][CarBMark | ... | ]
down [CarB][CarBMark | ... |Gas7Mark] -> [CarB Gas7][CarBMark | ... | ]
down [CarB][CarBMark | ... |Gas8Mark] -> [CarB Gas8][CarBMark | ... | ]
down [CarB][CarBMark | ... |GascapLeftMark] -> [CarB GasCapL][CarBMark | ... | ]
down [CarB][CarBMark | ... |GascapRightMark] -> [CarB GasCapR][CarBMark | ... | ]
down [CarB][CarBMark | ... |CheckEngineMark] -> [CarB EngineBroke][CarBMark | ... | ]
down [CarB][CarBMark | ... |CheckSteeringMark] -> [CarB SteeringBroke][CarBMark | ... | ]
down [CarB][CarBMark | ... |CheckBrakeMark] -> [CarB BrakeBroke][CarBMark | ... | ]
down [CarB][CarBMark | ... |CheckLeftTireMark] -> [CarB LeftTireBroke][CarBMark | ... | ]
down [CarB][CarBMark | ... |CheckRightTireMark] -> [CarB RightTireBroke][CarBMark | ... | ]
down [lmb MechWait][MechA][InventorySlot Pickable][InventoryAMark | ... | no Pickable] -> [lmb MechWait][MechA][InventorySlot][InventoryAMark | ... | Pickable]
down [lmb MechWait][MechB][InventorySlot Pickable][InventoryBMark | ... | no Pickable] -> [lmb MechWait][MechB][InventorySlot][InventoryBMark | ... | Pickable]
down [lmb MechAWait][MechB][InventorySlot no Pickable][InventoryAMark | ... | Pickable] -> [lmb MechAWait][MechB][InventorySlot Pickable][InventoryAMark | ... | ]
down [lmb MechBWait][MechA][InventorySlot no Pickable][InventoryBMark | ... | Pickable] -> [lmb MechBWait][MechA][InventorySlot Pickable][InventoryBMark | ... | ]
[lmb MechBWait][MechA no Inactive] -> [MechB][MechAWait]
[lmb MechAWait][MechB no Inactive] -> [MechA][MechBWait]
[lmb MechBWait][MechA Inactive][Selected] -> [MechB][MechAWait][]
[lmb MechAWait][MechB Inactive][Selected] -> [MechA][MechBWait][]
[lmb | Player no Inactive] -> [|< Player]
[drag | Player no Inactive] -> [|< Player]
[lmb InventorySlot][Mech no Inactive] -> [Selected InventorySlot][Inactive Mech]
[lmb InventorySlot no Selected][Selected] -> [InventorySlot Selected][]
[lmb Selected InventorySlot][Mech Inactive] -> [InventorySlot][Mech]
[lmb Mech Inactive no Pickable no Car][InventorySlot Selected Pickable] -> [Mech Pickable][InventorySlot]
[CarAMark] -> [CarAMark TruckEmpty]
down [CarAMark TruckEmpty | ... | Pickable] -> [CarAMark | ... | Pickable]
left [lmb no Mech no Pickable no Car no Wall no MechWait no Pickup| Mech Inactive][InventorySlot Selected Pickable] -> [Moveright Pickable | Mech][InventorySlot] again
right [lmb no Mech no Pickable no Car no Wall no MechWait no Pickup| Mech Inactive][InventorySlot Selected Pickable] -> [Moveleft Pickable| Mech][InventorySlot] again
up [lmb no Mech no Pickable no Car no Wall no MechWait no Pickup| Mech Inactive][InventorySlot Selected Pickable] -> [Movedown Pickable |Mech][InventorySlot] again
down [lmb no Mech no Pickable no Car no Wall no MechWait no Pickup| Mech Inactive][InventorySlot Selected Pickable] -> [Moveup Pickable | Mech][InventorySlot] again
left [lmb no Mech no Pickable no Car no Wall no MechWait Pickup| Mech Inactive][InventorySlot Selected Pickable][TruckEmpty] -> [Moveright Pickable Pickup| Mech][InventorySlot][TruckEmpty] again
right [lmb no Mech no Pickable no Car no Wall no MechWait Pickup| Mech Inactive][InventorySlot Selected Pickable][TruckEmpty] -> [Moveleft Pickable Pickup| Mech][InventorySlot][TruckEmpty] again
up [lmb no Mech no Pickable no Car no Wall no MechWait Pickup| Mech Inactive][InventorySlot Selected Pickable][TruckEmpty] -> [Movedown Pickable Pickup|Mech][InventorySlot][TruckEmpty] again
down [lmb no Mech no Pickable no Car no Wall no MechWait Pickup| Mech Inactive][InventorySlot Selected Pickable][TruckEmpty] -> [Moveup Pickable Pickup| Mech][InventorySlot][TruckEmpty] again
right [no Mech no Pickable no Car no Wall no MechWait no Pickup| left Pickable] -> [Moveleft Pickable|] again
left [no Mech no Pickable no Car no Wall no MechWait no Pickup| right Pickable] -> [Moveright Pickable|] again
down [no Mech no Pickable no Car no Wall no MechWait no Pickup| up Pickable] -> [Moveup Pickable|] again
up [no Mech no Pickable no Car no Wall no MechWait no Pickup| down Pickable] -> [Movedown Pickable|] again
right [no Mech no Pickable no Car no Wall no MechWait Pickup| left Pickable][TruckEmpty] -> [Moveleft Pickable Pickup|][TruckEmpty] again
left [no Mech no Pickable no Car no Wall no MechWait Pickup| right Pickable][TruckEmpty] -> [Moveright Pickable Pickup|][TruckEmpty] again
down [no Mech no Pickable no Car no Wall no MechWait Pickup| up Pickable][TruckEmpty] -> [Moveup Pickable Pickup|][TruckEmpty] again
up [no Mech no Pickable no Car no Wall no MechWait Pickup| down Pickable][TruckEmpty] -> [Movedown Pickable Pickup|][TruckEmpty] again
[moving Pickable] -> [stationary Pickable]
late random down [PickupA Pickable][CarAMark TruckEmpty| ... | no Pickable no Mark] ->[PickupA][CarAMark|...|Pickable]
down [lmb Mech no Inactive PickupA][CarAMark | ... | Pickable][InventorySlot no Pickable] -> [Mech PickupA][CarAMark | ... |][InventorySlot Pickable]
[|Mech Inactive] -> [NextToMech | Mech Inactive]
[lmb Car EngineBroke NextToMech][Mech Inactive][Selected KeyChainA][KeyChainAMark|...|SwissArmyMark] -> [Car][Mech][ KeyChainA][KeyChainAMark|...|SwissArmyMark]
[lmb Car EngineBroke NextToMech][Mech Inactive][Selected KeyChainB][KeyChainBMark|...|SwissArmyMark] -> [Car][Mech][ KeyChainB][KeyChainBMark|...|SwissArmyMark]
[lmb Car SteeringBroke NextToMech][Mech Inactive][Selected KeyChainA][KeyChainAMark|...|SwissArmyMark] -> [Car][Mech][ KeyChainA][KeyChainAMark|...|SwissArmyMark]
[lmb Car SteeringBroke NextToMech][Mech Inactive][Selected KeyChainB][KeyChainBMark|...|SwissArmyMark] -> [Car][Mech][ KeyChainB][KeyChainBMark|...|SwissArmyMark]
[NextToMech] -> []
[lmb Car EngineBroke | Mech Inactive][Selected Wrench] -> [Car|Mech][Wrench]
[lmb Car SteeringBroke | Mech Inactive][Selected Wrench] -> [Car|Mech][Wrench]
[lmb Car BrakeBroke | Mech Inactive][Selected BrakeFluid] -> [Car|Mech][]
up [lmb CarR LeftTireBroke| Mech Inactive][Selected Tire] -> [CarR| Mech][]
up [lmb CarL RightTireBroke | Mech Inactive][Selected Tire] -> [CarL| Mech][]
down [lmb CarL LeftTireBroke | Mech Inactive][Selected Tire] -> [CarL| Mech][]
down [lmb CarR RightTireBroke | Mech Inactive][Selected Tire] -> [CarR| Mech][]
left [lmb CarU LeftTireBroke | Mech Inactive][Selected Tire] -> [CarU| Mech][]
left [lmb CarD RightTireBroke | Mech Inactive][Selected Tire] -> [CarD| Mech][]
right [lmb CarD LeftTireBroke | Mech Inactive][Selected Tire] -> [CarD| Mech][]
right [lmb CarU RightTireBroke | Mech Inactive][Selected Tire] -> [CarU| Mech][]
up [lmb CarR GasCapL | Mech Inactive][Selected Fuel] -> [CarR GasCapL AddFuel | Mech][]
up [lmb CarL GasCapR | Mech Inactive][Selected Fuel] -> [CarL GasCapR AddFuel | Mech][]
down [lmb CarL GasCapL | Mech Inactive][Selected Fuel] -> [CarL GasCapL AddFuel | Mech][]
down [lmb CarR GasCapR | Mech Inactive][Selected Fuel] -> [CarR GasCapR AddFuel | Mech][]
left [lmb CarU GasCapL | Mech Inactive][Selected Fuel] -> [CarU GasCapL AddFuel | Mech][]
left [lmb CarD GasCapR | Mech Inactive][Selected Fuel] -> [CarD GasCapR AddFuel | Mech][]
right [lmb CarD GasCapL | Mech Inactive][Selected Fuel] -> [CarD GasCapL AddFuel | Mech][]
right [lmb CarU GasCapR | Mech Inactive][Selected Fuel] -> [CarU GasCapR AddFuel | Mech][]
[AddFuel Gas1] -> [Gas6]
[AddFuel Gas2] -> [Gas7]
[AddFuel Gas3] -> [Gas8]
[AddFuel Gas4] -> [Gas8]
[AddFuel Gas5] -> [Gas8]
[AddFuel Gas6] -> [Gas8]
[AddFuel Gas7] -> [Gas8]
[AddFuel no Gas] -> [Gas5]
[Peripheral] -> []
down [lmb MechA CarA no Inactive][InventorySlot KeyChainA][KeyChainAMark| ... | KeyAMark] -> [DrivingA CarA][InventorySlot KeyChainA][KeyChainAMark| ... | KeyAMark]
down [lmb MechB CarA no Inactive][InventorySlot KeyChainA][KeyChainAMark| ... | KeyAMark] -> [DrivingB CarA][InventorySlot KeyChainA][KeyChainAMark| ... | KeyAMark]
down [lmb MechA CarB no Inactive][InventorySlot KeyChainA][KeyChainAMark| ... | KeyBMark] -> [DrivingA CarB][InventorySlot KeyChainA][KeyChainAMark| ... | KeyBMark]
down [lmb MechB CarB no Inactive][InventorySlot KeyChainA][KeyChainAMark| ... | KeyBMark] -> [DrivingB CarB][InventorySlot KeyChainA][KeyChainAMark| ... | KeyBMark]
down [lmb MechA CarA no Inactive][InventorySlot KeyChainB][KeyChainBMark| ... | KeyAMark] -> [DrivingA CarA][InventorySlot KeyChainB][KeyChainBMark| ... | KeyAMark]
down [lmb MechB CarA no Inactive][InventorySlot KeyChainB][KeyChainBMark| ... | KeyAMark] -> [DrivingB CarA][InventorySlot KeyChainB][KeyChainBMark| ... | KeyAMark]
down [lmb MechA CarB no Inactive][InventorySlot KeyChainB][KeyChainBMark| ... | KeyBMark] -> [DrivingA CarB][InventorySlot KeyChainB][KeyChainBMark| ... | KeyBMark]
down [lmb MechB CarB no Inactive][InventorySlot KeyChainB][KeyChainBMark| ... | KeyBMark] -> [DrivingB CarB][InventorySlot KeyChainB][KeyChainBMark| ... | KeyBMark]
[lmb DrivingA Car no Road no Inactive] -> [MechA Car no Road]
[lmb DrivingB Car no Road no Inactive] -> [MechB Car no Road]
[> Player Inactive ] -> [stationary Player Inactive]
[> Player | Wall] -> [stationary Player | Wall]
[> Player | MechWait] -> [stationary Player | MechWait]
[> Mech | Road] -> [stationary Mech | Road]
[> Driving | Hittable no Pickup] -> [stationary Driving | Hittable]
[> Driving CarA | PickupA] -> [> Driving CarA| > PickupA]
[> Pickup | Hittable] -> [stationary Pickup | Hittable]
[> Driving | stationary Pickup] -> [stationary Driving | stationary Pickup]
[> Driving | Grass] -> [stationary Driving | Grass]
[moving Driving Car Gas] -> [moving Driving moving Car Gas]
[moving Driving Car DontUseFuel] -> [moving Driving moving Car DontUseFuel]
[moving Car EngineBroke] -> [stationary Car EngineBroke]
[moving Car TireBroke] -> [stationary Car TireBroke]
[horizontal CarU SteeringBroke] -> [stationary CarU SteeringBroke]
[horizontal CarD SteeringBroke] -> [stationary CarD SteeringBroke]
[vertical CarL SteeringBroke] -> [stationary CarL SteeringBroke]
[vertical CarR SteeringBroke] -> [stationary CarR SteeringBroke]
[moving Driving stationary Car] -> [stationary Driving stationary Car]
[moving PickupA | stationary CarA] -> [stationary PickupA | stationary CarA]
[moving Car Gascap] -> [moving Car moving GasCap]
[moving Car SomethingBroke] -> [moving Car moving SomethingBroke]
[moving Car Gas] -> [moving Car moving Gas]
[up Driving BrakeBroke] -> [up Driving BrakeBroke MoveUp] again
[left Driving BrakeBroke] -> [left Driving BrakeBroke MoveLeft] again
[down Driving BrakeBroke] -> [down Driving BrakeBroke MoveDown] again
[right Driving BrakeBroke] -> [right Driving BrakeBroke MoveRight] again
[lmb Mech Pickable][InventorySlot no Pickable] -> [Mech][InventorySlot Pickable]
[lmb Mech no Pickable no Car Inactive][InventorySlot Selected Pickable] -> [Mech Pickable][InventorySlot]
[up CarA no CarAD] -> [up CarAU]
[left CarA no CarAR] -> [left CarAL]
[down CarA no CarAU] -> [down CarAD]
[right CarA no CarAL] -> [right CarAR]
[up CarB no CarBD] -> [up CarBU]
[left CarB no CarBR] -> [left CarBL]
[down CarB no CarBU] -> [down CarBD]
[right CarB no CarBL] -> [right CarBR]
[GasGauge][moving Gas1 no DontUseFuel] -> [GasGauge][]
[GasGauge][moving Gas2 no DontUseFuel] -> [GasGauge][moving Gas1]
[GasGauge][moving Gas3 no DontUseFuel] -> [GasGauge][moving Gas2]
[GasGauge][moving Gas4 no DontUseFuel] -> [GasGauge][moving Gas3]
[GasGauge][moving Gas5 no DontUseFuel] -> [GasGauge][moving Gas4]
[GasGauge][moving Gas6 no DontUseFuel] -> [GasGauge][moving Gas5]
[GasGauge][moving Gas7 no DontUseFuel] -> [GasGauge][moving Gas6]
[GasGauge][moving Gas8 no DontUseFuel] -> [GasGauge][moving Gas7]
late down [Shower | ... | Mark] -> [Shower | ... | ]
late down [Shower | ... | Pickable] -> [Shower | ... | ]
late down [Shower | ][PickupA Mech][CarAMark | ... | Pickable] -> [Shower | Pickable][PickupA Mech][CarAMark | ... | Pickable]
late down [Player KeyChainA no Inactive][Shower | ][KeyChainAMark | Mark] -> [Player KeyChainA][Shower | Mark][KeyChainAMark | Mark]
late down [Player KeyChainA no Inactive][Shower || ][KeyChainAMark || Mark] -> [Player KeyChainA][Shower || Mark][KeyChainAMark || Mark]
late down [Player KeyChainA no Inactive][Shower ||| ][KeyChainAMark ||| Mark] -> [Player KeyChainA][Shower ||| Mark][KeyChainAMark ||| Mark]
late down [Player KeyChainA no Inactive][Shower |||| ][KeyChainAMark |||| Mark] -> [Player KeyChainA][Shower |||| Mark][KeyChainAMark |||| Mark]
late down [Selected KeyChainA][Shower | ][KeyChainAMark | Mark] -> [Selected KeyChainA][Shower | Mark][KeyChainAMark | Mark]
late down [Selected KeyChainA][Shower || ][KeyChainAMark || Mark] -> [Selected KeyChainA][Shower || Mark][KeyChainAMark || Mark]
late down [Selected KeyChainA][Shower ||| ][KeyChainAMark ||| Mark] -> [Selected KeyChainA][Shower ||| Mark][KeyChainAMark ||| Mark]
late down [Selected KeyChainA][Shower |||| ][KeyChainAMark |||| Mark] -> [Selected KeyChainA][Shower |||| Mark][KeyChainAMark |||| Mark]
late down [Player KeyChainB no Inactive][Shower | ][KeyChainBMark | Mark] -> [Player KeyChainB][Shower | Mark][KeyChainBMark | Mark]
late down [Player KeyChainB no Inactive][Shower || ][KeyChainBMark || Mark] -> [Player KeyChainB][Shower || Mark][KeyChainBMark || Mark]
late down [Player KeyChainB no Inactive][Shower ||| ][KeyChainBMark ||| Mark] -> [Player KeyChainB][Shower ||| Mark][KeyChainBMark ||| Mark]
late down [Player KeyChainB no Inactive][Shower |||| ][KeyChainBMark |||| Mark] -> [Player KeyChainB][Shower |||| Mark][KeyChainBMark |||| Mark]
late down [Selected KeyChainB][Shower | ][KeyChainBMark | Mark] -> [Selected KeyChainB][Shower | Mark][KeyChainBMark | Mark]
late down [Selected KeyChainB][Shower || ][KeyChainBMark || Mark] -> [Selected KeyChainB][Shower || Mark][KeyChainBMark || Mark]
late down [Selected KeyChainB][Shower ||| ][KeyChainBMark ||| Mark] -> [Selected KeyChainB][Shower ||| Mark][KeyChainBMark ||| Mark]
late down [Selected KeyChainB][Shower |||| ][KeyChainBMark |||| Mark] -> [Selected KeyChainB][Shower |||| Mark][KeyChainBMark |||| Mark]
late [Player Car Gas8][GasGauge no Needle] -> [Player Car Gas8][GasGauge Needle8]
late [Player Car Gas7][GasGauge no Needle] -> [Player Car Gas7][GasGauge Needle7]
late [Player Car Gas6][GasGauge no Needle] -> [Player Car Gas6][GasGauge Needle6]
late [Player Car Gas5][GasGauge no Needle] -> [Player Car Gas5][GasGauge Needle5]
late [Player Car Gas4][GasGauge no Needle] -> [Player Car Gas4][GasGauge Needle4]
late [Player Car Gas3][GasGauge no Needle] -> [Player Car Gas3][GasGauge Needle3]
late [Player Car Gas2][GasGauge no Needle] -> [Player Car Gas2][GasGauge Needle2]
late [Player Car Gas1][GasGauge no Needle] -> [Player Car Gas1][GasGauge Needle1]
random late [Player Car EngineBroke][DashboardLight no DashIcons] -> [Player Car EngineBroke][DashboardLight CheckEngine]
late down [DashboardLight no DashIcons| DashboardLight DashIcons] -> [DashboardLight DashIcons| DashboardLight]
random late [Player Car LeftTireBroke][DashboardLight no DashIcons] -> [Player Car LeftTireBroke][DashboardLight CheckLeftTire]
random late [Player Car RightTireBroke][DashboardLight no DashIcons] -> [Player Car RightTireBroke][DashboardLight CheckRightTire]
late down [DashboardLight no DashIcons| DashboardLight DashIcons] -> [DashboardLight DashIcons| DashboardLight]
random late [Player Car BrakeBroke][DashboardLight no DashIcons] -> [Player Car BrakeBroke][DashboardLight CheckBrake]
late down [DashboardLight no DashIcons| DashboardLight DashIcons] -> [DashboardLight DashIcons| DashboardLight]
random late [Player Car SteeringBroke][DashboardLight no DashIcons] -> [Player Car SteeringBroke][DashboardLight CheckSteering]
late down [DashboardLight no DashIcons | DashboardLight DashIcons] -> [DashboardLight DashIcons| DashboardLight]
late [Player Car][GasGauge no Needle] -> [Player Car][GasGauge Needle0]
late right [|CheckLeftTire] -> [GasIconL|CheckLeftTire]
late right [CheckRightTire|] -> [CheckRightTire | GasIconR]
late up [Player Car][GasGauge | ] -> [Player Car][GasGauge | GaugeU]
late left [Player Car][GasGauge | ] -> [Player Car][GasGauge | GaugeL]
late right [Player Car][GasGauge | ] -> [Player Car][GasGauge | GaugeR]
late right [Player Car GasCapL][ |GasIcon | ] -> [Player Car GasCapL][GasIconL | GasIconC GasIcon | ]
late right [Player Car GasCapR][ |GasIcon | ] -> [Player Car GasCapR][ | GasIconC GasIcon | GasIconR]
[CarA] -> [CarA HadCarA]
late [HadCarA no CarA| PickupA] -> [PIckupA | ]
late [HadCarA] -> []
late [CarAR][PickupA] -> [CarAR TruckAR][PickupAR]
late [CarAL][PickupA] -> [CarAL TruckAL][PickupAL]
late [CarAD][PickupA] -> [CarAD TruckAD][PickupAD]
late [CarAU][PickupA] -> [CarAU TruckAU][PickupAU]
late [lmb] -> []
==============
WINCONDITIONS
==============
all CarA on GoalA
all CarB on GoalB
no Move
no SomethingBroke
=======
LEVELS
=======
message TUTORIAL 1
message You are a mechanic with many cars to fix and return to customers!
message Arrow keys to move around, or clicking and dragging
message Press action or click to get in the car, then drive it to the pickup spot.
...............
..#######...a|[
..#.p...#...8%^
..#...#g#...^^^
..##...##...^^^
..#c#...#.'.^^^
..#.....#...^^^
..#######...^^^
............^^^
...._._.....^^^
....K.......^^^
message TUTORIAL 2
message You need the keys to enter the car!
message Go over to the keychain, and click to pick it up, then you'll be able to drive the car.
...............
..#######...a|[
..#p....#...8%^
..#..c..#...^^^
..#.....#...^^^
..#..g..#...^^^
..#....k#...^^^
..#######...^^^
............^^^
...._._.....^^^
............^^^
message TUTORIAL 3
message The car has a limited amount of gas, shown on the right.
message If you run out of gas, the car won't be able to go any further!
...............
..#######...a|[
..#c#...#...8%^
..#...#.#.".^^^
..#.#p..#...^^^
..#...#.#...^^^
..#.#..g#...^^^
..#######...^^^
............^^^
...._._.....^^^
....k.......^^^
message TUTORIAL 4
message There are two cars in this level
message Make sure you drive each car to the corresponding pick up spot!
................
..#######...ab|[
..#..p..#...66%^
..#hc...#.".^^&^
..##.#.##...^^^^
..#...dg#...^^^^
..#.....#...^^^^
..#######...^^^^
............^^^^
...._._.....^^^^
....k.......^^^^
message TUTORIAL 5
message To refuel a car, pick up the gas container, then select it from your inventory while on a space adjacent to the car, then click on the car.
message The gas container holds 5/8 of a full tank.
...............
..#######...a|[
..###c###...0%^
..##p..##.".>^^
..#.....#...^^^
..##..f##.'.^^^
..###g###...^^^
..#######...^^^
............^^^
...._._.....^^^
....k.......^^^
message TUTORIAL 6
message To refuel the car, you have to be on the side with the gascap! Go on the space with the car & check the dashboard's gascap indicator.
message This level's car is facing EAST and the gascap is on the LEFT, meaning you have to refuel while standing in the space to the NORTH of the car.
...............
..#######...a|[
..#.....#...2%^
..#.c.k.#.".<^^
..#..p..#...^^^
..#.f.g.#.'.^^^
..#.....#...^^^
..#######...^^^
............^^^
...._._.....^^^
............^^^
message TUTORIAL 7
message Cars can't be driven on the grass, but you can walk on the grass.
................
..#######...ab|[
..#c....#...2^%^
..#.,p,.#.".<^&^
..#,f,f.#...^^^^
..#,.g,.#.'.^^^^
..#....f#...^^^^
..#######...^^^^
............^^^^
...._._.....^^^^
....k.......^^^^
message TUTORIAL 8
message You can't get on the road if not driving a car, and also can't get out of the car while driving on a road (in other words, you always have to be in a car when on the road.)
................
..#######...ab|[
..#..p..#...73%^
..#hc,dg#.".><&^
..#`````#...^^^^
..#..,..#.'.^^^^
..#..f..#...^^^^
..#######...^^^^
............^^^^
...._._.....^^^^
....k.......^^^^
message TUTORIAL 9
message If your inventory is full, you won't be able to pick up an item!
message You can drop items by clicking on an item in your inventory and the space you're on (as long as it's empty!)
...............
..#######...a|[
..#######...4%^
..#######.".^&^
..#cfpfg#...^^^
..#######.'.^^^
..#######...^^^
..#######...^^^
............^^^
...._._.....^^^
......k.....^^^
message TUTORIAL 10
message You can also throw items, click on an item in your inventory and then an empty adjacent space to throw it.
...............
..#######...a|[
..#k`..g#...2%^
..#.`.###.".<&^
..#.`...#...^^^
..#.###.#.'.^^^
..#p,c`.#...^^^
..#######...^^^
............^^^
...._._.....^^^
....f.f.....^^^
message TUTORIAL 11
message There are so many customers today, you'll have to call for backup!
message While not driving, click on an inactive mechanic to switch control.
.................
..#######...ab|[]
..#`````#...8^%^^
..#cp..g#.".>^&^^
..#.....#...^^^^^
..#`````#.'.^^^^^
..#..`kq#...^^^^^
..#######...^^^^^
............^^^^^
...._._.....^^^^^
............^^^^^
message TUTORIAL 12
message In the past, there has only been one keychain, with all the car keys on it. This level has two keychains, with one key on each.
message To see what's on a keychain, select it in your inventory or move on to the same square, and it will appear on the left panel.
..................
:.#######...ab|\[]
%.#`.`..#...67%&^^
..#..#c.#.".>^^^^^
..#``#h.#...^^^^^^
..#.d#l.#.'.^^^^^^
..#.g`.p#...^^^^^^
..#######...^^^^^^
............^^^^^^
...._._.....^^^^^^
....k.f.....^^^^^^
message TUTORIAL 13
message Your job isn't quite done yet. After all, being a mechanic isn't just driving cars and throwing things, you also have to fix cars!
message This car has a dashboard light indicating its engine is broken, you won't be able to drive it!
message You'll need to get the wrench and use it on the car in any adjacent space.
..................
:.#######...ab|\[]
..#.#`w.#...~^%&^^
..#..c`q#.".8^^^^^
..#``.`.#...^^^^^^
..#``p#`#.'.^^^^^^
..#gf..`#...^^^^^^
..#######.-.^^^^^^
..........-.^^^^^^
...._._.....^^^^^^
....k.......^^^^^^
message TUTORIAL 14
message This car has low brake fluid.
message Until you refill it by using the container of brake fluid, you'll still be able to drive it, but won't be able to stop!
message Luckily, coasting doesn't cost any gas.
...............
:.#######...a|[
..##`?..#...!%^
..##`...#.".4&^
..#`....#...<^^
..#``g`##.'.^^^
..#cp``##...^^^
..#######.-.^^^
..........-.^^^
...._._.....^^^
....k.......^^^
message TUTORIAL 15
message This is a truck that takes up two spaces instead of just one.
message You have to get the front of the truck to the goal.
..................
:.#######...ab|\[]
..#..`..#...8^%&^?
..#.`.``#.".!^*^^^
..#`g?.`#...^^^^^^
..#p``.`#.'.^^^^^^
..#tc.`.#...^^^^^^
..#######.-.^^^^^^
..........-.^^^^^^
...._._.....^^^^^^
....k.......^^^^^^
message TUTORIAL 16
message One of these cars has a flat tire. You'll have to go get a spare before you can drive it.
message You will have to change it on the left or right depending on which the side the flat is on. You can check the dashboard to see.
message The side is relative to the car's direction, just like the gascap.
..................
:.#######...ab|\[]
..#`g`h`#...~{%^^^
..#`o`k`#.".66&^^^
..#`o`w`#...^^^^^^
..#`p`q`#.'.^^^^^^
..#`c`d`#...^^^^^^
..#######.-.^^^^^^
..........-.^^^^^^
...._._.....^^^^^^
............^^^^^^
message TUTORIAL 17
message These cars' steering wheels are broken.
message Until you use the wrench to fix it, you'll still be able to drive it, but won't be able to steer.
message As a reminder, you must fix all cars. The customer won't be happy if you just bring their broken car to the pick up spot!
..................
:.#######...ab|\[]
..#``..w#...@v%&^^
..#.p```#.".8@^^^^
..#c`hd.#...>8^^^^
..#.f```#.'.^>^^^^
..#``..g#...^^^^^^
..#######.-.^^^^^^
..........-.^^^^^^
...._._.....^^^^^^
....k.l.....^^^^^^
message TUTORIAL 18
message This keychain has a Swiss army knife on it, which can also be used to fix broken engines or steering wheels in a pinch!
..................
:.#######...ab|\[]
..#.``cp#...55%&^l
..#`..`g#.".>>*^^^
..#h``.`#...~@^^^^
..#qd`.`#.'.^^^^^^
..#`..`.#...^^^^^^
..#######.-.^^^^^^
..........-.^^^^^^
...._._.....^^^^^^
....k.......^^^^^^
message TUTORIAL 19
message While in the same space as the back of the truck, the left panel will show you what's in it, and you can click to pick an item up or put one down. It can only fit one item at a time.
..................
:.#######...ab|\[]
..#.d#g`#...54%&^^
..#q``.h#.".<>*^^^
..##`#.##...^^^^^^
..#ptc``#.'.k^^^^^
..#`.#``#...^^^^^^
..#######.-.^^^^^^
..........-.^^^^^^
...._._.....^^^^^^
....f.l.....^^^^^^
message TUTORIAL 20
message You can also throw items into the back of an empty pickup truck from afar
..................
:.#######...ab|\[]
..#g.w``#...85%&^^
..#`````#.".@>^^^^
..#d````#...>^^^^^
..#.h`tc#.'.^^^^^^
..#```z`#...^^^^^^
..#######.-.^^^^^^
..........-.^^^^^^
...._._.....^^^^^^
....k.f.....^^^^^^
message You have finished the tutorial! Now you can start playing the game!
message By the way, did I mention?
message The level in this game was made with procedural generation!
message LEVEL 1
..................
:.#######...ab|\[]
..#h?l`g#...86%&^^
..#fo,?f#.".@{^*^^
..#tc`q,#...>>^^^^
..#`p,d,#.'.!~^^^^
..#,ko`w#...^^^^^^
..#######.-.^^^^^^
..........-.^^^^^^
...._._.....^^^^^^
............^^^^^^
message Thanks for playing, hope you liked it!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment