Last active
September 22, 2023 12:27
-
-
Save Draknek/bf4be9842212ac2bde63ddfa03841507 to your computer and use it in GitHub Desktop.
Activation Fascination (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
title Activation Fascination | |
author Alan Hazelden | |
homepage alan.draknek.org | |
======== | |
OBJECTS | |
======== | |
Background | |
lightgreen green | |
11111 | |
01111 | |
11101 | |
11111 | |
10111 | |
Target | |
darkblue | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
Wall | |
brown darkbrown | |
00010 | |
11111 | |
01000 | |
11111 | |
00010 | |
PlayerRight | |
#990c33 #ffffff #c83242 #cf5c50 #640821 | |
.000. | |
.221. | |
.222. | |
.333. | |
.3.3. | |
PlayerLeft | |
#990c33 #ffffff #c83242 #cf5c50 #640821 | |
.000. | |
.122. | |
.222. | |
.333. | |
.3.3. | |
PlayerUp | |
#990c33 #ffffff #c83242 #cf5c50 #640821 | |
.000. | |
.222. | |
.222. | |
.333. | |
.3.3. | |
PlayerDown | |
#990c33 #ffffff #c83242 #cf5c50 #640821 | |
.000. | |
.121. | |
.222. | |
.333. | |
.3.3. | |
CrateRight | |
orange brown | |
00000 | |
01110 | |
01111 | |
01110 | |
00000 | |
Bomb | |
darkblue white | |
..... | |
.00.. | |
0000. | |
0000. | |
.00.. | |
BombTriggered | |
darkblue red | |
..... | |
.00.. | |
0110. | |
0110. | |
.00.. | |
(RemoveMarker | |
red) | |
QuickActionMarker | |
yellow | |
BoxEating | |
blue | |
BombInBox | |
darkblue | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
PlayerInBox | |
#990c33 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
Explosion | |
red | |
..... | |
.0... | |
...0. | |
..0.. | |
..... | |
ShowCanActivate | |
yellow | |
0...0 | |
..... | |
..... | |
..... | |
0...0 | |
======= | |
LEGEND | |
======= | |
PlayerNormal = PlayerLeft or PlayerRight or PlayerUp or PlayerDown | |
Player = PlayerNormal or PlayerInBox | |
Crate = CrateRight | |
InBox = BombInBox or PlayerInBox | |
Pushable = Crate or Bomb or BombTriggered or PlayerNormal | |
Solid = Wall or Pushable or Player | |
Triggerable = Crate or Bomb or BombTriggered | |
Destroyable = Solid or InBox | |
. = Background | |
# = Wall | |
P = PlayerDown | |
* = CrateRight | |
O = Target | |
! = Bomb | |
======= | |
SOUNDS | |
======= | |
Crate move 36772507 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
Target | |
Wall, Pushable | |
InBox, BoxEating | |
QuickActionMarker, Explosion | |
ShowCanActivate | |
====== | |
RULES | |
====== | |
[ > PlayerInBox ] -> [ PlayerInBox ] | |
[ action PlayerInBox Crate ] -> [ PlayerInBox action Crate ] | |
left [ > Player | no Solid ] -> [ | PlayerLeft ] | |
right [ > Player | no Solid ] -> [ | PlayerRight ] | |
up [ > Player | no Solid ] -> [ | PlayerUp ] | |
down [ > Player | no Solid ] -> [ | PlayerDown ] | |
[ left Player no PlayerLeft ] -> [ PlayerLeft QuickActionMarker ] | |
[ right Player no PlayerRight ] -> [ PlayerRight QuickActionMarker ] | |
[ up Player no PlayerUp ] -> [ PlayerUp QuickActionMarker ] | |
[ down Player no PlayerDown ] -> [ PlayerDown QuickActionMarker ] | |
left [ action PlayerLeft | Triggerable ] -> [ PlayerLeft | action Triggerable ] | |
right [ action PlayerRight | Triggerable ] -> [ PlayerRight | action Triggerable ] | |
up [ action PlayerUp | Triggerable ] -> [ PlayerUp | action Triggerable ] | |
down [ action PlayerDown | Triggerable ] -> [ PlayerDown | action Triggerable ] | |
(Quick actions don't take any time, so don't let other objects do things) | |
[ QuickActionMarker ] [ BombTriggered ] -> [ QuickActionMarker ] [ QuickActionMarker BombTriggered ] | |
(Pushing) | |
[ > Player | Pushable ] -> [ > Player | > Pushable ] | |
[ > Pushable | Pushable ] -> [ > Pushable | > Pushable ] | |
[ > Crate InBox ] -> [ > Crate > InBox ] | |
[ > Pushable | Wall ] -> cancel | |
[ > Pushable | no Solid ] -> [ | Pushable ] | |
[ > InBox | ] -> [ | InBox ] | |
(Triggered objects) | |
(Bomb) | |
[ action BombTriggered ] -> [ Bomb ] | |
[ Explosion Bomb ] -> [ BombTriggered ] | |
[ Explosion Destroyable ] -> [ Explosion ] | |
[ Explosion ] -> [] again | |
[ | BombTriggered no QuickActionMarker | ] -> [ > Explosion | BombTriggered | < Explosion ] | |
[ ^ Explosion | no Explosion ] -> [ ^ Explosion | Explosion ] | |
[ v Explosion | no Explosion ] -> [ v Explosion | Explosion ] | |
[ moving Explosion ] -> [ Explosion ] | |
[ BombTriggered no QuickActionMarker ] -> [ Explosion ] | |
[ Explosion ] -> again | |
[ Explosion Bomb ] -> [ BombTriggered ] | |
[ action Bomb ] -> [ BombTriggered ] | |
(Box triggering) | |
[ action CrateRight no InBox ] -> [ CrateRight right BoxEating ] | |
[ action CrateRight InBox ] -> [ CrateRight right InBox ] | |
(Box eating) | |
[ > BoxEating | Bomb ] -> [ BombInBox | ] | |
[ > BoxEating | Player ] -> [ PlayerInBox | ] | |
[ BoxEating ] -> [] | |
(Box barfing - pushing things out of the way) | |
[ > InBox | Pushable ] -> [ > InBox | > Pushable ] | |
[ > Pushable | Pushable ] -> [ > Pushable | > Pushable ] | |
[ > Crate InBox ] -> [ > Crate > InBox ] | |
[ > Pushable no InBox | stationary Solid ] -> [ Pushable | Solid ] | |
+ [ > Pushable > InBox | stationary Solid ] -> [ Pushable InBox | Solid ] | |
[ > Pushable no InBox | no Solid ] -> [ | Pushable ] | |
[ > Pushable > InBox | no Solid ] -> [ | Pushable InBox ] | |
(Box barfing - actual barfing) | |
[ > BombInBox | no Solid ] -> [ | Bomb ] | |
left [ > PlayerInBox | no Solid ] -> [ | PlayerLeft ] | |
right [ > PlayerInBox | no Solid ] -> [ | PlayerRight ] | |
up [ > PlayerInBox | no Solid ] -> [ | PlayerUp ] | |
down [ > PlayerInBox | no Solid ] -> [ | PlayerDown ] | |
[ > InBox ] -> [ InBox ] | |
(Visual indicator for activatability) | |
[ ShowCanActivate ] -> [] | |
[ PlayerInBox ] -> [ PlayerInBox ShowCanActivate ] | |
left [ PlayerLeft | Triggerable ] -> [ PlayerLeft | Triggerable ShowCanActivate ] | |
right [ PlayerRight | Triggerable ] -> [ PlayerRight | Triggerable ShowCanActivate ] | |
up [ PlayerUp | Triggerable ] -> [ PlayerUp | Triggerable ShowCanActivate ] | |
down [ PlayerDown | Triggerable ] -> [ PlayerDown | Triggerable ShowCanActivate ] | |
(cleanup) | |
[ QuickActionMarker ] -> [] | |
============== | |
WINCONDITIONS | |
============== | |
all Target on Player | |
======= | |
LEVELS | |
======= | |
########### | |
#...###...# | |
#p!...#...o | |
#...###...# | |
########### | |
######o# | |
######.# | |
#..###.# | |
#.!#...# | |
#..##### | |
p.###### | |
######## | |
############ | |
############ | |
##...####### | |
##.!.###...# | |
##p!.###...o | |
##.!.###...# | |
##...####### | |
############ | |
############ | |
######### | |
######### | |
###.!.### | |
###*!.### | |
#...##### | |
#.p.#...# | |
#...#...# | |
######o## | |
#p######### | |
#...###...# | |
###.###...o | |
###...#...# | |
###.####### | |
#.!.####### | |
#.*.####### | |
#...####### | |
########### | |
######### | |
##..#...# | |
##*.#...o | |
##..#...# | |
##p###### | |
#...##### | |
#.!.##### | |
#...##### | |
######### | |
######### | |
##..##### | |
#*..#...# | |
#..##...o | |
#.!.#...# | |
##.p##### | |
######### | |
############ | |
############ | |
###..####### | |
###..####### | |
###..###...# | |
###*..##...o | |
####.###...# | |
##...####### | |
##p!!####### | |
##...####### | |
############ | |
############ | |
(########## | |
#####...## | |
##..#...## | |
#*..#...## | |
#.p####### | |
#.!###...# | |
#.!###...# | |
#..###...# | |
#######o##) | |
message Thanks for playing :) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment