Created
October 17, 2013 22:34
-
-
Save anonymous/7033522 to your computer and use it in GitHub Desktop.
title
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 8.68-HACK | |
author Alan Hazelden [with apologies to Michael Brough] | |
run_rules_on_level_start | |
(verbose_logging) | |
noaction | |
background_color #202020 | |
======== | |
OBJECTS | |
======== | |
Background | |
BLACK | |
Target | |
BLACK YELLOW | |
01010 | |
10101 | |
01010 | |
10101 | |
01010 | |
Wall | |
GREEN BLACK | |
00000 | |
01110 | |
01110 | |
01110 | |
00000 | |
Player3 | |
YELLOW GREEN BLACK | |
.000. | |
02220 | |
02120 | |
02220 | |
.000. | |
Player2 | |
YELLOW YELLOW | |
.000. | |
0...0 | |
0.1.0 | |
0...0 | |
.000. | |
Player1 | |
YELLOW RED | |
.000. | |
0...0 | |
0.1.0 | |
0...0 | |
.000. | |
Virus2 | |
PURPLE BLACK | |
0...0 | |
00000 | |
01110 | |
01010 | |
.0.0. | |
Virus1 | |
PURPLE BLACK | |
0...0 | |
00100 | |
01110 | |
01010 | |
.0.0. | |
Daemon3 | |
RED BLACK | |
0...0 | |
.000. | |
01110 | |
01110 | |
00000 | |
Daemon2 | |
RED BLACK | |
0.... | |
.000. | |
01110 | |
01110 | |
00000 | |
Daemon1 | |
RED BLACK | |
0.... | |
.010. | |
01110 | |
01110 | |
00000 | |
Cryptog2Visible | |
BLUE BLACK | |
.000. | |
01110 | |
01110 | |
01110 | |
.000. | |
Cryptog1Visible | |
BLUE BLACK | |
.001. | |
01110 | |
11110 | |
01110 | |
.000. | |
Cryptog2Invisible | |
BLUE BLACK | |
..... | |
..... | |
..... | |
..... | |
..... | |
Cryptog1Invisible | |
BLUE BLACK | |
..... | |
..... | |
..... | |
..... | |
..... | |
Glitch2 | |
PINK BLACK | |
00... | |
010.. | |
0110. | |
01110 | |
00000 | |
Glitch1 | |
PINK BLACK | |
00... | |
010.. | |
0110. | |
11110 | |
00100 | |
Marker | |
WHITE | |
Corner | |
WHITE | |
Moved | |
WHITE | |
Spawn | |
PURPLE PINK | |
..... | |
.111. | |
.101. | |
.111. | |
..... | |
Damage | |
LIGHTGREEN | |
.0..0 | |
...0. | |
0.... | |
..0.. | |
...0. | |
AttackH | |
LIGHTGREEN | |
..... | |
.0... | |
000.0 | |
...0. | |
..... | |
AttackV | |
LIGHTGREEN | |
..0.. | |
.0... | |
.00.. | |
...0. | |
..0.. | |
SmellL | |
WHITE | |
..... | |
.0... | |
00... | |
.0... | |
..... | |
SmellR | |
WHITE | |
..... | |
...0. | |
...00 | |
...0. | |
..... | |
SmellU | |
WHITE | |
..0.. | |
.000. | |
..... | |
..... | |
..... | |
SmellD | |
WHITE | |
..... | |
..... | |
..... | |
.000. | |
..0.. | |
GSmellL | |
WHITE | |
..... | |
.0... | |
00... | |
.0... | |
..... | |
GSmellR | |
WHITE | |
..... | |
...0. | |
...00 | |
...0. | |
..... | |
GSmellU | |
WHITE | |
..0.. | |
.000. | |
..... | |
..... | |
..... | |
GSmellD | |
WHITE | |
..... | |
..... | |
..... | |
.000. | |
..0.. | |
======= | |
LEGEND | |
======= | |
Rand = Marker | |
LOS = Marker | |
Flood = Marker | |
X = Corner | |
? = Rand | |
MaybeWall = background or wall | |
MaybeSpawn = background or spawn | |
Player = Player3 or Player2 or Player1 | |
Virus = Virus2 or Virus1 | |
Daemon = Daemon3 or Daemon2 or Daemon1 | |
Cryptog2 = Cryptog2Visible or Cryptog2Invisible | |
Cryptog1 = Cryptog1Visible or Cryptog1Invisible | |
Cryptog = Cryptog2 or Cryptog1 | |
Glitch = Glitch2 or Glitch1 | |
SolidEnemy = Virus or Daemon or Cryptog | |
Enemy = SolidEnemy or Glitch | |
EnemyOrSpawn = Enemy or Spawn | |
EnemyChoice = Virus2 or Daemon3 or Cryptog2Visible or Glitch2 | |
RangedAttack = AttackH or AttackV | |
Smell = SmellL or SmellR or SmellU or SmellD | |
GSmell = GSmellL or GSmellR or GSmellU or GSmellD | |
Solid = Virus or Daemon or Cryptog or Spawn or Wall or Player | |
P = Player3 | |
. = Background | |
W = Virus2 and Moved | |
D = Daemon3 and Moved | |
C = Cryptog2Visible and Moved | |
G = Glitch2 and Moved | |
S = Spawn | |
* = Target | |
======= | |
SOUNDS | |
======= | |
sfx0 51664907 | |
sfx1 41190904 (attack enemies) | |
sfx2 68875104 (player hurt) | |
sfx9 52667702 (spawn) | |
endgame 51898702 | |
(sfx8 37534102) | |
================ | |
COLLISIONLAYERS | |
================ | |
Marker, Moved, Smell, GSmell | |
Background | |
Target, Corner | |
Player, Wall, SolidEnemy, Spawn | |
Glitch | |
Damage, RangedAttack | |
====== | |
RULES | |
====== | |
(clean up from last frame) | |
[ RangedAttack ] -> [] | |
[ Virus1 Damage ] -> [] | |
[ Daemon1 Damage ] -> [] | |
[ Cryptog1 Damage ] -> [] | |
[ Glitch1 Damage ] -> [] | |
[ Spawn Damage ] -> [] | |
(init map) | |
random [ Corner ] -> [ Player3 Target ] | |
[ Player Target | | | | | ] -> [ Player Flood | | | | | Corner ] | |
[ Corner | | | | | no Player ] -> [ Corner | | | | | Corner ] | |
[ Corner ] [ no Corner no Enemy no Spawn no Player ] -> [ Corner ] [ Rand ] | |
[ Corner ] [ Glitch ] -> [ Corner ] [ Glitch no Wall ] | |
[ Player Target ] -> [ Player Flood ] | |
random [ Corner ] -> [ Target ] | |
[ Corner ] -> [] | |
random [ Rand no Solid no Glitch ] -> [ Spawn ] | |
[ Rand no Player ] -> [ random MaybeWall ] | |
[ Flood | no Wall ] -> [ Flood | Flood ] | |
startloop | |
random [ Flood | Wall | no Wall no Flood ] -> [ Flood | Flood | Flood ] | |
[ Flood | no Wall no Flood ] -> [ Flood | Flood ] | |
endloop | |
startloop | |
random [ Flood ] [ no Wall no Flood | Wall ] -> [ Flood ] [ | ] | |
[ Flood | no Wall no Flood ] -> [ Flood | Flood ] | |
endloop | |
[ Flood no Player ] -> [] | |
[ Player Flood ] [ Enemy ] -> [ Player Flood ] [ Enemy Moved ] | |
[ Flood ] -> [] | |
(enemies next to player will always attack) | |
[ Enemy no Moved | Player ] -> [ > Enemy | Player ] | |
(smell: normal enemies) | |
left [ Player | no Wall no Moved ] -> [ Player | SmellR ] | |
right [ Player | no Wall no Moved ] -> [ Player | SmellL ] | |
up [ Player | no Wall no Moved ] -> [ Player | SmellD ] | |
down [ Player | no Wall no Moved ] -> [ Player | SmellU ] | |
left [ Smell | no Smell no Wall no Moved no Player ] -> [ Smell | SmellR ] | |
+ right [ Smell | no Smell no Wall no Moved no Player ] -> [ Smell | SmellL ] | |
+ up [ Smell | no Smell no Wall no Moved no Player ] -> [ Smell | SmellD ] | |
+ down [ Smell | no Smell no Wall no Moved no Player ] -> [ Smell | SmellU ] | |
(enemy movement: normal enemies) | |
startloop | |
random [ stationary SolidEnemy Smell no Damage no Moved ] -> [ action SolidEnemy Smell ] | |
left [ action SolidEnemy SmellL | no Solid no Glitch ] -> [ SmellL | SolidEnemy Moved ] | |
right [ action SolidEnemy SmellR | no Solid no Glitch ] -> [ SmellR | SolidEnemy Moved ] | |
up [ action SolidEnemy SmellU | no Solid no Glitch ] -> [ SmellU | SolidEnemy Moved ] | |
down [ action SolidEnemy SmellD | no Solid no Glitch ] -> [ SmellD | SolidEnemy Moved ] | |
[ action SolidEnemy ] -> [ randomDir SolidEnemy ] | |
endloop | |
[ Smell ] -> [] | |
(smell: glitches) | |
left [ Player | no Moved ] -> [ Player | GSmellR ] | |
right [ Player | no Moved ] -> [ Player | GSmellL ] | |
up [ Player | no Moved ] -> [ Player | GSmellD ] | |
down [ Player | no Moved ] -> [ Player | GSmellU ] | |
left [ GSmell | no GSmell no Moved no Player ] -> [ GSmell | GSmellR ] | |
+ right [ GSmell | no GSmell no Moved no Player ] -> [ GSmell | GSmellL ] | |
+ up [ GSmell | no GSmell no Moved no Player ] -> [ GSmell | GSmellD ] | |
+ down [ GSmell | no GSmell no Moved no Player ] -> [ GSmell | GSmellU ] | |
(enemy movement: glitches) | |
startloop | |
random [ stationary Glitch GSmell no Damage no Moved ] -> [ action Glitch GSmell ] | |
left [ action Glitch GSmellL | no EnemyOrSpawn ] -> [ GSmellL | Glitch Moved ] | |
right [ action Glitch GSmellR | no EnemyOrSpawn ] -> [ GSmellR | Glitch Moved ] | |
up [ action Glitch GSmellU | no EnemyOrSpawn ] -> [ GSmellU | Glitch Moved ] | |
down [ action Glitch GSmellD | no EnemyOrSpawn ] -> [ GSmellD | Glitch Moved ] | |
[ action Glitch ] -> [ randomDir Glitch ] | |
endloop | |
[ GSmell ] -> [] | |
(extra movement: viruses) | |
[ Player Moved ] [ Virus Moved ] -> [ Player Moved ] [ Virus ] again | |
(damage enemies) | |
[ Virus2 Damage ] -> [ Virus1 Moved ] | |
[ Daemon3 Damage ] -> [ Daemon2 Moved ] | |
[ Daemon2 Damage ] -> [ Daemon1 Moved ] | |
[ Cryptog2 Damage ] -> [ Cryptog1Visible Moved ] | |
[ Glitch2 Damage ] -> [ Glitch1 Moved ] | |
(spawn enemies) | |
[ Player Moved ] [ Spawn ] -> [ Player Moved ] [ random EnemyChoice Moved ] | |
(maybe create new spawn points) | |
random [ Player Moved ] [ no Solid no Glitch ] -> [ Player Moved ] [ random MaybeSpawn ] | |
[ Player Moved ] [ Spawn ] -> [ Player Moved ] [ random MaybeSpawn ] | |
[ Player Moved ] [ Spawn ] -> sfx9 | |
[ Player Moved ] -> [ Player ] | |
(cryptog invisibility) | |
late [ Cryptog2 ] -> [ Cryptog2Invisible ] | |
late [ Cryptog1 ] -> [ Cryptog1Invisible ] | |
late [ Player | ... | Cryptog2 ] -> [ Player | ... | Cryptog2Visible ] | |
late [ Player | ... | Cryptog1 ] -> [ Player | ... | Cryptog1Visible ] | |
(enemy attacking) | |
[ > Enemy | Player ] -> [ Enemy | Player ] | |
[ Player3 Damage ] -> [ Player2 ] again sfx2 | |
[ Player2 Damage ] -> [ Player1 ] again sfx2 | |
[ Player1 Damage ] -> win | |
[ Enemy no Moved | Player no Damage ] -> [ Enemy Moved | Player Damage ] again | |
[ > Enemy no Moved | Solid no Player ] -> [ Enemy Moved | Solid ] | |
[ > Enemy no Moved | Glitch ] -> [ Enemy Moved | Glitch ] | |
[ > Enemy no Moved | no Solid no Glitch ] -> [ | Enemy Moved ] | |
(player movement) | |
[ moving Player ] [ Moved ] -> [ moving Player ] [] | |
[ > Player | no Solid no Glitch ] -> [ > Player | LOS ] | |
[ > Player | ... | LOS | no Solid no Glitch ] -> [ > Player | ... | LOS | LOS ] | |
[ > Player | EnemyOrSpawn ] -> [ Player Moved | EnemyOrSpawn Damage ] again sfx1 | |
[ > Player | ... | LOS | EnemyOrSpawn ] -> [ Player Moved | ... | LOS | EnemyOrSpawn Damage ] again sfx1 | |
horizontal [ Player Moved | ... | LOS ] -> [ Player Moved | ... | AttackH ] | |
vertical [ Player Moved | ... | LOS ] -> [ Player Moved | ... | AttackV ] | |
[ LOS ] -> [] | |
[ > Player | no Wall ] -> [ | Player Moved ] again sfx0 | |
[ > Player | wall ] -> cancel | |
[ Player2 Target ] -> [ Player3 Target ] | |
[ Player1 Target ] -> [ Player2 Target ] | |
============== | |
WINCONDITIONS | |
============== | |
======= | |
LEVELS | |
======= | |
(*..... | |
...... | |
...... | |
.....G | |
.P..SG | |
...GGG) | |
X????X | |
?????? | |
?????? | |
?????? | |
?????? | |
X????X |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment