Skip to content

Instantly share code, notes, and snippets.

@Draknek
Forked from anonymous/readme.txt
Last active March 25, 2016 06:32
Show Gist options
  • Save Draknek/236b9e7e3e18f85ce191 to your computer and use it in GitHub Desktop.
Save Draknek/236b9e7e3e18f85ce191 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 Max Capacitor
author Alan Hazelden and Andrew Shouldice
homepage www.puzzlescript.net
flickscreen 15x11
run_rules_on_level_start
(verbose_logging)
========
OBJECTS
========
Background
lightgrey lightgrey
11111
01111
11101
11111
10111
Wire
Grey
Door_open
lightblue
Door_closed
Darkbrown
Hole
black
Wall
BROWN DARKBROWN
00010
11111
01000
11111
00010
Target
Darkblue grey
11111
10001
10101
10001
11111
Player
Black Orange White Blue
.000.
.111.
22222
.333.
.3.3.
Player_Dying
Black Black Black Black
.000.
.111.
22222
.333.
.3.3.
Crate
Orange Yellow
00000
0...0
0...0
0...0
00000
Electricity !
Yellow
Laser_L ←
Orange lightgrey
..010
.0010
00000
.0010
..010
Laser_R →
Orange lightgrey
010..
0100.
00000
0100.
010..
Laser_U ↑
Orange lightgrey
..0..
.000.
00000
11011
00000
Laser_D ↓
Orange lightgrey
00000
11011
00000
.000.
..0..
No_Electricity
Yellow
=======
LEGEND
=======
_ = Hole
. = Background
# = Wall
+ = Wire
P = Player
* = Crate
@ = Crate and Electricity
o = target
? = Door_Closed
Laser_any = laser_l or Laser_r or laser_u or laser_d
Pushable = Crate or Laser_any
Chainable = Crate or Laser_any
Chainable_L = Crate or Laser_R
Chainable_R = Crate or Laser_L
Chainable_U = Crate or Laser_D
Chainable_D = Crate or Laser_U
Solid = Wall or Pushable or door_closed
wire_flow = target or wire or door_closed
=======
SOUNDS
=======
Crate MOVE 36772507
================
COLLISIONLAYERS
================
Background
Hole, Wire, Target, door_open, door_closed
Electricity, No_electricity
Player, Wall, Pushable, Player_Dying
======
RULES
======
[ no_electricity ] -> []
[ Laser_Any ! ] -> [ Laser_any ]
(Chain electricity)
left [ Chainable_L ! | Chainable_R no ! ] -> [ Chainable_L ! | Chainable_R ! ]
+ right [ Chainable_R ! | Chainable_L no ! ] -> [ Chainable_R ! | Chainable_L ! ]
+ up [ Chainable_U ! | Chainable_D no ! ] -> [ Chainable_U ! | Chainable_D ! ]
+ down [ Chainable_D ! | Chainable_U no ! ] -> [ Chainable_D ! | Chainable_U ! ]
(Movement)
[ > Player | Hole ] -> [ Player | Hole ]
[ > Player | Pushable ] -> [ > Player | > Pushable ]
left [ moving Chainable_L ! | Chainable_R ! ] -> [ moving Chainable_L ! | moving Chainable_R ! ]
+ right [ moving Chainable_R ! | Chainable_L ! ] -> [ moving Chainable_R ! | moving Chainable_L ! ]
+ up [ moving Chainable_U ! | Chainable_D ! ] -> [ moving Chainable_U ! | moving Chainable_D ! ]
+ down [ moving Chainable_D ! | Chainable_U ! ] -> [ moving Chainable_D ! | moving Chainable_U ! ]
+ [ > Pushable | stationary Pushable ] -> [ > Pushable | > Pushable ]
[ moving Pushable ! ] -> [ moving Pushable moving ! ]
[ > Pushable | Solid no Pushable ] -> cancel
(actually move things)
[ > Pushable | no Solid no Player ] -> [ | Pushable ]
+ [ > Player | no Solid no Hole ] -> [ | Player ]
[ > ! | no ! ] -> [ | ! ]
[ > Pushable ] -> [ Pushable ]
[ > ! ] -> [ ! ]
[ > Player | Solid ] -> [ Player | Solid ]
[ right Player ] -> win
[ down Player ] -> win
[ > Player ] -> [ Player ]
(Holes)
([ Chainable ! ] -> [ action Chainable ! ]
[ action Chainable ! ] [ stationary Chainable ! ] -> [ action Chainable ! ] [ action Chainable ! ]
[ stationary Pushable Hole ] -> cancel)
[ Pushable no ! Hole ] -> [ Hole ]
(targets)
[ door_open ] -> [ door_closed ]
[ target crate ! ] -> [ action target crate ! ]
[ stationary target | action target ] -> [ stationary target | stationary target ]
+ [ stationary target | stationary wire ] -> [ stationary target | action wire ]
+ [ action wire | action target ] -> [ action wire | stationary target ]
+ [ action wire | stationary wire ] -> [ action wire | action wire ]
[ action wire ] -> [ stationary wire ]
[ action wire_flow | wire_flow ] -> [ action wire_flow | action wire_flow ]
[ action door_closed ] -> [ door_open ]
[ pushable door_closed ] -> [ door_closed no ! ]
[ player door_closed ] -> [ door_closed no ! ]
([ pushable door_closed ] -> [ pushable action door_open ]
[ player door_closed ] -> [ player action door_open ]
[ action door_open | door_closed ] -> [ action door_open | action door_open ])
(laser beam)
[ ! no Chainable ] -> []
left [ Laser_L ] -> [ left Laser_L ]
right [ Laser_R ] -> [ right Laser_R ]
up [ Laser_U ] -> [ up Laser_U ]
down [ Laser_D ] -> [ down Laser_D ]
[ > Laser_Any ! ] -> [ > Laser_Any > ! ]
[ > ! | no ! no Solid ] -> [ > ! | > ! ]
(disabled - lasers move electricity away from themselves)
([ > ! no Chainable | Chainable ] -> [ < No_Electricity | action Chainable ! ]
[ > No_Electricity | ! no Chainable ] -> [ > No_Electricity | > No_electricity ]
[ > No_electricity | Chainable ! ] -> [ > no_electricity | Chainable no_electricity ]
[ stationary No_electricity | ! ] -> [ no_electricity | no_electricity ]
[ moving No_electricity ] -> [ stationary no_electricity ])
(instead: electricity just adds)
left [ > ! | Chainable_R no ! ] -> [ > ! | Chainable_R ! ]
right [ > ! | Chainable_L no ! ] -> [ > ! | Chainable_L ! ]
up [ > ! | Chainable_D no ! ] -> [ > ! | Chainable_D ! ]
down [ > ! | Chainable_U no ! ] -> [ > ! | Chainable_U ! ]
[ moving Laser_Any ] -> [ stationary Laser_Any ]
[ moving ! ] -> [ ! ]
(Electrocution)
[ Player ! ] -> [ action Player_Dying ! ] again
[ stationary Player_Dying ! ] -> [ stationary Player ! ] again
(delay when electricity chains)
late [ Chainable ! | Chainable no ! ] -> again
late [ no_electricity ] -> again
==============
WINCONDITIONS
==============
(all player on door_open)
=======
LEVELS
=======
###############
###############
#####.....#####
#####.*.*.#####
#####?###?#####
##...++o++...##
p..@.........##
##....ooo....##
####...+...####
#######?#######
#######.#######
####p##########
####.##########
####....#######
####.....*#####
###...oo...####
###[email protected]+++?...
###.....@..####
####*.....#####
######..#######
###############
###############
###############
###############
#####.....#####
#####.###.#####
##[email protected].#.o.@.##
##...+.#.+..o##
p....++?++..++?
##.....#....o##
##.....#.....##
###############
###############
###############
##########@####
#.........↓...#
#...........*.#
p.*o++.*.++o..#
#....+...+..*.#
#...↑+++++....#
####@##?#######
#######.#######
(#######p#######
#######.#######
#+ooo.o.@..#..#
?+....+.o++#*.#
#..++++.@.+?..#
###?###########
##...##########
##...##########
##...##########
###############
###############)
#######.#######
######...######
###....p....###
##*.........*##
##...#####...##
##..@##o##@..##
##...#ooo#...##
##.....+.....##
###....+....###
######.+.######
#######?#######
############
######@#####
####..↓..###
#..........#
p.*.*...oo.#
#.......oo.#
#.*.*...+..#
#.......+###
########?###
#######p#######
######...######
######.@.######
######*.*######
##...#.o.#...##
##.*..ooo..*.##
##...#.o.#...##
######.+.######
######.+.######
######.+.######
#######?#######
####p##########
####.##########
##.....#o...###
##.@[email protected].#+++#
##.....#o+++#+#
##.@.@.######+?
##.....#o+++#+#
##.@[email protected]..+++#
##.....#o...###
###############
###############
####p##########
####.##########
##.....#.....##
##o++++?.*.→.##
##..+..#.....##
##..+@.########
##..+..#.....##
##..+++?..o++?.
###...##.....##
###############
###############
###p##########
#o....?......#
#+....?..***.#
?+++o.?......#
#+....?..###.#
#o.@..?..←@#.#
#.....?......#
#..+++?......#
#..+..?......#
###o##########
######p#####
###.o..o..##
#????..o++?.
#...?..o#*##
#@.→?#.o.*##
#...?..+**?#
#[email protected]?#
###.......?#
############
##p############
#...+++o#.....#
#.↑.+.*.#......
#...+...#.....#
#.@.+.@.#?????#
####?####.*.o.#
#.o...?.......#
#.+...?.......#
#.++++?.......#
#.....?.......#
###############
(more)
######p######
###.......###
###.*.*.*.###
###.......###
###.@→.←@.###
####..#..####
#o+++++++++o#
##*###+###*##
######?######
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment