puzzlescript
Version:
Play PuzzleScript games in your terminal!
848 lines (687 loc) • 9.28 kB
Plain Text
title Magnetized
author Rosden Shadow [Mark Signorelli]
homepage rosden.itch.io
noaction
run_rules_on_level_Start
background_color #3B3942
text_color #E0AAF2
again_interval 0.1
========
OBJECTS
========
Background
46495B #3B3942 #423D39 (#E57ED5 #CC5285)
11111
10101
11111
10101
11111
(
00101
01110
11011
01111
10110)
(
11101
00101
11111
10100
10111)
nomove
FFEED9 #536673
.....
.000.
.010.
.000.
.....
Target
E0AAF2 #423D39
.....
.000.
.0.0.
.000.
.....
Wall
D9FFDC #AAE0F2 #7EA1E5 #52465B
21110
12110
21221
23232
32323
overwall
D9FFDC #AAE0F2 #7EA1E5 #52465B
.....
.....
.....
10010
21101
Playerright
F2F2AA #E5C17E #E57ED5 #CC5285
.000.
11202
11313
11110
.1.1.
playerleft
F2F2AA #E5C17E #E57ED5 #CC5285
.000.
20211
31311
01111
.1.1.
Crate
E0AAF2 #E57ED5 #CC5285 #845C7A
21100
21110
22110
32223
.333.
overcrate
E0AAF2 #E57ED5 #CC5285 #845C7A
.....
.....
.....
.....
.000.
Cratex
F2F2AA #E5C17E #CC7A52 #736053
21100
21110
22110
32223
.333.
overcratex
F2F2AA #E5C17E #CC7A52 #736053
.....
.....
.....
.....
.000.
end
E0AAF2 #E57ED5 #CC5285 #845C7A
21100
21110
22110
32223
.333.
endx
E0AAF2 #E57ED5 #CC5285 #845C7A
21100
21110
22110
32223
.333.
cloner
E5C17E #DB7F55 #B32D2D #73342E
.100.
.210.
.221.
.332.
.....
swapcrate
Orange Yellow
00000
0...0
0...0
0...0
00000
swapwall
black
.....
.....
.....
.....
.....
thefloor
3B3942
00000
00000
00000
00000
00000
thefloorx
3B3942
00000
00000
00000
00000
00000
eend
3B3942
00000
00000
00000
00000
00000
(
checkempty
black
.....
.....
.....
.....
.....
checkblock
black
.....
.....
.....
.....
.....
)
horzmov
TRANSPARENT
vertmov
TRANSPARENT
pmov
black
.....
.....
.....
.....
.....
movr
black
.....
.....
.....
.....
.....
movl
black
.....
.....
.....
.....
.....
movu
black
.....
.....
.....
.....
.....
movd
black
.....
.....
.....
.....
.....
movr2
black
.....
.....
.....
.....
.....
movl2
black
.....
.....
.....
.....
.....
movu2
black
.....
.....
.....
.....
.....
movd2
black
.....
.....
.....
.....
.....
grabu
white
.....
..0..
..0..
..0..
.....
grabd
white
.....
..0..
..0..
..0..
.....
grabl
white
.....
.....
.000.
.....
.....
grabr
white
.....
.....
.000.
.....
.....
(grabu
white
.....
..0..
.000.
.0.0.
.....
grabd
white
.....
.0.0.
.000.
..0..
.....
grabl
white
.....
..00.
.00..
..00.
.....
grabr
white
.....
.00..
..00.
.00..
.....)
(grabu
TRANSPARENT
grabd
TRANSPARENT
grabl
TRANSPARENT
grabr
TRANSPARENT)
grabx
white
.....
.....
.....
.....
.....
grabu2
white
.....
..0..
.000.
.....
.....
grabd2
white
.....
.....
.000.
..0..
.....
grabl2
white
.....
..0..
.00..
..0..
.....
grabr2
white
.....
..0..
..00.
..0..
.....
grabno
white
.....
.....
..0..
.....
.....
switcrate
black
.....
.....
.....
.....
.....
switcrate2
black
.....
.....
.....
.....
.....
arrow
black
.....
.....
.0.0.
.000.
..0..
arrow2
black
.....
.0.0.
.000.
..0..
.....
arrowx
black
.....
.....
.....
.....
.....
arrowx2
black
.....
.....
.....
.....
.....
winend
F2F2AA #E5C17E #CC7A52
1000.
21100
21110
22110
.2221
=======
LEGEND
=======
. = Background
= Wall
P = Playerright
* = Crate
O = Target
n = nomove
a = arrow2 and wall
e=end
t = end and target and eend
w=end and winend
c=cloner
-=thefloor
x=thefloorx
feel=overwall or overcrate
pushable=crate or cloner or swapcrate or switcrate or switcrate2
win=crate or wall
(blcra=crate and grabu and grabd and grabl and grabr)
theemx= crate
player=playerright or playerleft
blocker = wall or crate or nomove or player or arrow
blocx= wall or player
arrowk = arrow or arrow2 or arrowx or arrowx2
mov= movr or movl or movu or movd or pmov
mov2= movr2 or movl2 or movu2 or movd2
nmov=horzmov or vertmov
(horzmov=movr or movl
vertmov=movd or movu)
conmov=mov or mov2
grab=grabu OR grabd or grabl or grabr
grab2=grabu2 OR grabd2 or grabl2 or grabr2
grabnl=grabu OR grabd or grabr
grabnr=grabu OR grabd or grabl
grabnu= grabd or grabl or grabr
grabnd=grabu or grabl or grabr
=======
SOUNDS
=======
(pushable MOVE 36772507)
sfx5 30435707
EndLevel 74089700
player MOVE 68988304
sfx0 52836103
sfx1 45427502
sfx2 29503700
sfx3 81951902
sfx4 40987507
================
COLLISIONLAYERS
================
Background
Target
nomove
horzmov
vertmov
pmov
movr
movl
movu
movd
movr2
movl2
movu2
movd2
grabu2
grabd2
grabl2
grabr2
grabu
grabd
grabl
grabr
grabno
grabx
Player, Wall, pushable,swapwall,thefloor,thefloorx
cratex
arrow, arrow2, arrowx, arrowx2
winend
eend
end, endx
feel
overcratex
======
RULES
======
[]
[]
[]
[])
[ > Player | pushable ] -> [ > Player | > pushable ] sfx5
crate|Target]->[> crate|target] sfx2
[ left Playerright] -> [ left playerleft]
[ right Playerleft] -> [ right playerright]
[endx] ->[thefloor] sfx2
[end | thefloor]-> [endx |thefloor]
right[pushable mov no movl vertmov| grabr]->[grabr right pushable|grabr] sfx4
left[pushable mov no movr vertmov|grabl]->[grabl left pushable|grabl] sfx4
up[pushable mov no movd vertmov|grabu]->[grabu up pushable|grabu] sfx4
down[pushable mov no movu vertmov|grabd]->[grabd down pushable |grabd] sfx4
up[pushable mov no movd horzmov|grabu]->[grabu up pushable|grabu] sfx4
down[pushable mov no movu horzmov|grabd]->[grabd down pushable |grabd] sfx4
right[pushable mov no movl horzmov| grabr]->[grabr right pushable|grabr] sfx4
left[pushable mov no movr horzmov|grabl]->[grabl left pushable|grabl] sfx4
(up[pushable mov no movd|grabu]->[grabu up pushable|grabu] sfx4
down[pushable mov no movu|grabd]->[grabd down pushable |grabd] sfx4
right[pushable mov no movl| grabr]->[grabr right pushable|grabr] sfx4
left[pushable mov no movr |grabl]->[grabl left pushable|grabl] sfx4)
[ > pushable | pushable ] -> [ pushable | > pushable ]sfx5
[pushable movr]->[right pushable ] sfx5
[pushable movl]->[left pushable ] sfx5
[pushable movu]->[up pushable ] sfx5
[pushable movd]->[down pushable ] sfx5
late[crate no mov]->[crate grabu grabd grabl grabr]
(late right[crate no mov| ]->[crate |grabl ]
late left[crate no mov| ]->[crate |grabr ]
late up[crate no mov| ]->[crate |grabd ]
late down[crate no mov| ]->[crate |grabu ])
[]
[]
[pmov]
[]
[]
[movr]
[movl]
[movu]
[movd]
right[right pushable|no blocx]->[right pushable| movr]
left[left pushable|no blocx]->[left pushable| movl]
up[up pushable|no blocx]->[up pushable| movu]
down[down pushable|no blocx]->[down pushable| movd]
[right pushable]->[right pushable right horzmov]
[left pushable]->[left pushable left horzmov]
[up pushable]->[up pushable up vertmov]
[down pushable]->[down pushable down vertmov]
(late left[grabr no blocker|]->[grabr|grabr]
late right[grabl no blocker|]->[grabl|grabl]
late up[grabd no blocker|]->[grabd|grabd]
late down[grabu no blocker|]->[grabu|grabu])
late left[grabr |no blocker]->[grabr|grabr]
late right[grabl |no blocker]->[grabl|grabl]
late up[grabd |no blocker]->[grabd|grabd]
late down[grabu |no blocker]->[grabu|grabu]
(late [grab grabno]->[grabno])
[]
late left[grabr| grabnr grabr]->[grabr| grabx]
late right[grabl|grabnl grabl]->[grabl| grabx]
late up[grabd| grabnd grabd]->[grabd| grabx]
late down[grabu| grabnu grabu]->[grabu| grabx]
(late[grab grabx]->[grab grabx] )
[grabno] )
late up [wall| ]-> [wall|overwall]
late up [theemx| ]-> [theemx|overcrate]
late [crate mov]->[crate cratex mov]
late up[Cratex| ]->[cratex|overcratex]
(late up [crate2| ]-> [crate2|overcrate2])
late up [end| ]-> [end|overcrate]
late up [endx| ]-> [endx|overcrate]
[action player eend|]->[action player eend |crate Target]
again
(
[arrowx2]
[arrowx]
[arrow]
[arrow2])
==============
WINCONDITIONS
==============
all Target on crate
no mov
=======
LEVELS
=======
message Have a cube on all targets
message level 1 of 6
---------
######-
##...###
..#O...#
..*....#
.......#
.......#
....*..#
....#..#
##.P.###
######-
message level 2 of 6
---------
########
.......#
...#...#
.......#
.....#.#
.*.....#
.....*.#
..#PO..#
.......#
########
message if the cubes have the option to switch or continue on their path. They will always switch their path.
message level 3 of 6
---------
##---
###O####
.......#
.......#
..###..#
.....*.#
.....*.#
.P...*.#
.......#
########
message level 4 of 6
---------
########
.......#
O*.O.#.#
#......#
...#...#
.......#
.*...*.#
...P...#
.#..O#.#
########
message level 5 of 6
---------
########
..O.O..#
.#...#.#
.......#
.....*.#
.....*.#
.....*.#
.#.P.#.#
..O....#
########
message level 6 of 6
---------
########
.......#
.......#
..*.*..#
..O#O..#
..*O*..#
.......#
...P...#
.......#
########
(---------
########
.......#
.*.....#
.......#
...#...#
...#...#
.*...*.#
...P...#
.#.O.#.#
########)
(
---------
########
.......#
...*...#
.......#
...O...#
.......#
..*.*..#
.......#
...P...#
########)
(---------
########
.......#
.#.*.#.#
.......#
#..O..##
.......#
...*...#
..#.#..#
...P...#
########)
xxxxxxxxxxxxxx
-eeeeeeeeeeee-
eeeeeeeeeeeeee
eeeeeeeeeeeeee
wewewewwweweew
wewewetweewwew
weweweeweeweww
eweweewwweweew
eeeeeeeeeeeeee
eeeeeeeeeeeeee
-eeeeeeeeeeee-