-
-
Save Draknek/7033604 to your computer and use it in GitHub Desktop.
PuzzleScript demake of 868-HACK
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] | |
homepage 868-hack.neocities.org | |
run_rules_on_level_start | |
(verbose_logging) | |
noaction | |
noundo | |
norestart | |
background_color #202020 | |
======== | |
OBJECTS | |
======== | |
BGNormal | |
#030802 #05230b | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
SectorCount | |
#030802 #05230b | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
Target | |
#061d0b #dffff4 #85ffbf #37df68 #21af39 #2b9334 | |
01020 | |
50304 | |
02050 | |
10102 | |
04030 | |
Wall | |
#0d4915 #ff7c2a #8724ff #89fb94 #68fa78 #4ae85c #2ed241 #10a628 | |
33445 | |
40005 | |
40006 | |
50006 | |
56677 | |
Player3 | |
#deff13 #1d250e | |
.000. | |
01010 | |
00000 | |
01110 | |
.000. | |
Player2 | |
#deff13 #1d250e | |
.000. | |
01010 | |
00000 | |
01100 | |
.000. | |
Player1 | |
#deff13 #1d250e | |
.000. | |
01010 | |
00000 | |
00100 | |
.000. | |
Virus2 | |
#9636f9 #431845 #29f149 | |
0...0 | |
00000 | |
02220 | |
01010 | |
.0.0. | |
Virus1 | |
#9636f9 #431845 #29f149 | |
0...0 | |
01000 | |
02221 | |
01010 | |
.0.0. | |
Daemon3 | |
#ff7131 #461243 #32f046 | |
0...0 | |
.000. | |
02120 | |
01110 | |
00000 | |
Daemon2 | |
#ff7131 #461243 #32f046 | |
0.... | |
.000. | |
02120 | |
01110 | |
00000 | |
Daemon1 | |
#ff7131 #461243 #32f046 | |
0.... | |
.000. | |
02120 | |
01110 | |
01001 | |
Cryptog2Visible | |
#2530fb #431846 #2ff143 #000700 | |
.000. | |
01120 | |
03110 | |
01110 | |
.000. | |
Cryptog1Visible | |
#2530fb #431846 #2ff143 #000700 | |
.001. | |
01120 | |
13110 | |
01110 | |
.000. | |
Cryptog2Invisible | |
BLUE BLACK | |
..... | |
..... | |
..... | |
..... | |
..... | |
Cryptog1Invisible | |
BLUE BLACK | |
..... | |
..... | |
..... | |
..... | |
..... | |
Glitch2 | |
#fd33f9 #471947 #28ee39 | |
00... | |
010.. | |
0210. | |
01110 | |
00000 | |
Glitch1 | |
#fd33f9 #471947 #28ee39 | |
00... | |
010.. | |
0210. | |
11110 | |
00100 | |
Marker | |
WHITE | |
..... | |
..... | |
..... | |
..... | |
..... | |
Corner | |
WHITE | |
..... | |
..... | |
..... | |
..... | |
..... | |
Moved | |
WHITE | |
..... | |
..... | |
..... | |
..... | |
..... | |
Spawn | |
PURPLE PINK | |
..... | |
.111. | |
.101. | |
.111. | |
..... | |
Damage | |
#2ff143 | |
.0..0 | |
...0. | |
0.... | |
..0.. | |
...0. | |
AttackH | |
#2ff143 | |
..... | |
.0... | |
000.0 | |
...0. | |
..... | |
AttackV | |
#2ff143 | |
..0.. | |
.0... | |
.00.. | |
...0. | |
..0.. | |
SmellL | |
WHITE | |
..... | |
.0... | |
00... | |
.0... | |
..... | |
SmellR | |
WHITE | |
..... | |
...0. | |
...00 | |
...0. | |
..... | |
SmellU | |
WHITE | |
..0.. | |
.000. | |
..... | |
..... | |
..... | |
SmellD | |
WHITE | |
..... | |
..... | |
..... | |
.000. | |
..0.. | |
FutureWall | |
WHITE | |
..... | |
..... | |
..... | |
..... | |
..... | |
DiagonalUR | |
WHITE | |
0.... | |
.0... | |
..0.. | |
...0. | |
....0 | |
DiagonalDR | |
WHITE | |
....0 | |
...0. | |
..0.. | |
.0... | |
0.... | |
======= | |
LEGEND | |
======= | |
Background = BGNormal or SectorCount | |
Rand = Marker | |
LOS = Marker | |
Flood = Marker | |
X = BGNormal and Corner | |
? = BGNormal | |
! = Corner and SectorCount | |
' = SectorCount | |
0 = BGNormal | |
1 = SectorCount | |
MaybeWall = Damage or FutureWall | |
MaybeSpawn = Damage 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 | |
Solid = Virus or Daemon or Cryptog or Spawn or Wall or Player | |
Diagonal = DiagonalUR or DiagonalDR | |
FutureTarget = AttackV | |
PlayerOrCorner = Player or Corner | |
MovedTmp = AttackV | |
P = Player3 | |
. = BGNormal | |
W = Virus2 and Moved | |
D = Daemon3 and Moved | |
C = Cryptog2Visible and Moved | |
G = Glitch2 and Moved | |
S = Spawn | |
* = Target and BGNormal | |
# = Wall and BGNormal | |
======= | |
SOUNDS | |
======= | |
sfx0 85840307 (player move) | |
sfx1 14751908 (attack enemies) | |
sfx2 15992102 (player hurt) | |
sfx3 42325308 (enemy dies) | |
sfx5 31681508 (player dies) | |
sfx6 36591708 (leaves sector 8) | |
sfx8 30233708 (next sector) | |
sfx9 52667702 (spawn appears) | |
(37534102 | |
31008508 | |
4351308 | |
63972108 | |
82789708 | |
61411508 | |
1661308 | |
14214308 | |
54536908 | |
80910308 | |
20043703 | |
) | |
================ | |
COLLISIONLAYERS | |
================ | |
Marker, Moved, Smell | |
Background | |
Target, Corner | |
Player, Wall, SolidEnemy, Spawn | |
Glitch | |
Damage, RangedAttack, FutureWall, Diagonal | |
====== | |
RULES | |
====== | |
(clean up from last frame) | |
[ RangedAttack ] -> [] | |
[ Virus1 Damage ] -> [] sfx3 | |
[ Daemon1 Damage ] -> [] sfx3 | |
[ Cryptog1 Damage ] -> [] sfx3 | |
[ Glitch1 Damage ] -> [] sfx3 | |
[ Spawn Damage ] -> [] sfx3 | |
(increase sector id) | |
right [ Player Target ] [ 1 | 1 | 1 | 1 | 1 | 1 ] -> [ Player Target ] [ 0 | 0 | 0 | 1 | 1 | 1 ] | |
right [ Player Target ] [ 0 | 0 | 0 | 1 | 1 | 1 ] -> sfx6 | |
right [ Player Target ] [ 0 | 0 | 0 | 1 | 1 | 1 ] -> message VICTORY | |
right [ Player Target ] [ 0 | 0 | 0 | 1 | 1 | 1 ] -> win | |
right [ Player Target ] [ 1 | 1 | 1 | 1 | 1 | 0 ] -> [ Player Target ] [ 1 | 1 | 1 | 1 | 1 | 1 ] | |
right [ Player Target ] [ 1 | 1 | 1 | 1 | 0 | 1 ] -> [ Player Target ] [ 1 | 1 | 1 | 1 | 1 | 0 ] | |
right [ Player Target ] [ 1 | 1 | 1 | 1 | 0 | 0 ] -> [ Player Target ] [ 1 | 1 | 1 | 1 | 0 | 1 ] | |
right [ Player Target ] [ 1 | 1 | 1 | 0 | 1 | 1 ] -> [ Player Target ] [ 1 | 1 | 1 | 1 | 0 | 0 ] | |
right [ Player Target ] [ 1 | 1 | 1 | 0 | 1 | 0 ] -> [ Player Target ] [ 1 | 1 | 1 | 0 | 1 | 1 ] | |
right [ Player Target ] [ 1 | 1 | 1 | 0 | 0 | 1 ] -> [ Player Target ] [ 1 | 1 | 1 | 0 | 1 | 0 ] | |
right [ Player Target ] [ 1 | 1 | 1 | 0 | 0 | 0 ] -> [ Player Target ] [ 1 | 1 | 1 | 0 | 0 | 1 ] | |
[ Player Target ] -> sfx8 | |
(first sector) | |
random [ Corner ] -> [ Player3 Corner ] | |
[ Player Corner | ... | ] -> [ Player Corner | ... | LOS ] | |
random [ Player Corner ] [ no Player no LOS ] -> [ Player Corner ] [ Spawn ] | |
[ LOS ] -> [] | |
[ Player Corner ] -> [ Player Target ] | |
(init new sector) | |
[ Player Target ] -> [ Player Flood Corner no Moved ] | |
[ Corner | | | | | no Corner ] -> [ Corner | | | | | Corner ] | |
[ Corner ] [ no Rand no Corner no Enemy no Spawn no Player ] -> [ Corner ] [ Rand ] | |
random [ Corner no Player ] -> [ FutureTarget ] | |
[ Corner no Player ] -> [] | |
[ Rand no Player ] -> [ random MaybeWall ] | |
[ Damage no Enemy no Player ] -> [] | |
[ Flood no FutureTarget | no FutureWall ] -> [ Flood | Flood ] | |
startloop | |
random [ Flood | FutureWall | no FutureWall no Flood ] -> [ Flood | Flood | Flood ] | |
[ Flood no FutureTarget | no FutureWall no Flood ] -> [ Flood | Flood ] | |
endloop | |
startloop | |
random [ Flood ] [ no FutureWall no Flood | FutureWall ] -> [ Flood ] [ | ] | |
[ Flood no FutureTarget | no FutureWall no Flood ] -> [ Flood | Flood ] | |
endloop | |
right [ 1 | 1 | 1 | 0 | 0 | 0 ] [ FutureTarget ] -> [ 1 | 1 | 1 | 0 | 0 | 0 ] [ Target ] | |
right [ 1 | 1 | 1 | 0 | 0 | 0 ] [ FutureWall ] -> [ 1 | 1 | 1 | 0 | 0 | 0 ] [ Wall ] | |
right [ 1 | 1 | 1 | 0 | 0 | 0 ] [ Player Corner ] -> [ 1 | 1 | 1 | 0 | 0 | 0 ] [ Player SmellL no Corner ] | |
[ Flood ] [ FutureTarget ] -> [ Flood ] [ FutureWall ] | |
[ Flood ] -> [] | |
(transition effect between sectors) | |
[ Diagonal ] [ Player ] -> [ Diagonal ] [ Player Flood ] | |
[ Flood no Diagonal | no Flood ] -> [ Flood | Flood ] | |
[ Diagonal ] [ PlayerOrCorner | | | | | no Player no Corner no Target ] -> [ Diagonal ] [ PlayerOrCorner | | | | | Corner ] | |
[ Diagonal | Wall no FutureWall no Diagonal no Flood ] -> [ Diagonal | no Wall ] | |
[ Diagonal | FutureWall Corner no Diagonal no Flood ] -> [ Diagonal | Target ] | |
[ Diagonal | FutureWall no Diagonal no Flood no Corner ] -> [ Diagonal | Wall ] | |
[ Diagonal ] [ Corner no Player ] -> [ Diagonal ] [] | |
[ Diagonal Flood | no Diagonal no Flood ] -> [ Diagonal Flood | Diagonal ] again | |
[ Diagonal ] [ Player ] -> [ Diagonal ] [ Player SmellL ] | |
[ Diagonal Player ] -> [ Player ] | |
[ Diagonal Flood ] -> [] | |
[ Flood ] [ Player SmellL ] [ Enemy ] -> [ Flood ] [ Player SmellL ] [ Enemy Moved ] | |
[ Flood ] -> [] | |
(spawn new enemies at the start of a new round) | |
[ Diagonal ] [ Player SmellL ] -> [ Diagonal ] [ Player ] | |
[ Player SmellL | no Solid no Glitch ] -> [ Player SmellL | LOS ] | |
[ Player SmellL | ... | LOS | no Solid no Glitch ] -> [ Player SmellL | ... | LOS | LOS ] | |
right [ Player SmellL ] [ 1 | 1 | 1 | 1 | 1 | 1 ] -> message Final Sector | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|0|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|0|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|0|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|0|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|0|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|0|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|0|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|0|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|0] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|0] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|1] sfx9 | |
random right [ Player SmellL ] [ no Solid no Glitch no LOS ] [1|1|1|1|1|1] -> [ Player SmellL ] [ Spawn ] [1|1|1|1|1|1] sfx9 | |
[ LOS ] -> [] | |
[ Player SmellL ] -> [ Player ] | |
(start transition) | |
right [ Player Corner | ] -> [ Player Corner Marker | ] | |
down [ Player Corner Marker no Diagonal | ] -> [ Player Corner Marker DiagonalDR | ] | |
down [ Player Corner no Marker no Diagonal | ] -> [ Player Corner Marker DiagonalUR | ] | |
up [ Player Corner Marker no Diagonal | ] -> [ Player Corner Marker DiagonalUR | ] | |
up [ Player Corner no Marker no Diagonal | ] -> [ Player Corner Marker DiagonalDR | ] | |
[ Diagonal ] [ Enemy no Moved ] -> [ Diagonal ] [ Enemy Moved ] | |
[ Player Corner ] -> [ Player no Marker ] again | |
(enemies next to player will always attack) | |
[ Enemy no Moved | Player ] -> [ > Enemy | Player ] | |
[ Marker ] -> [] | |
[ Smell ] -> [] | |
[ Moved no Damage no Diagonal no FutureWall ] -> [ MovedTmp ] | |
(smell: glitches) | |
left [ Player | ] -> [ Player | SmellR ] | |
right [ Player | ] -> [ Player | SmellL ] | |
up [ Player | ] -> [ Player | SmellD ] | |
down [ Player | ] -> [ Player | SmellU ] | |
startloop | |
[ Smell | no Smell no Marker no Player no Moved ] -> [ Smell | Marker ] | |
random [ stationary Marker ] -> [ action Marker ] | |
random [ stationary Marker ] -> [ action Marker ] | |
down [ action Marker | Wall Smell no SolidEnemy no Damage ] -> [ SmellD | Wall Smell ] | |
+ up [ action Marker | Wall Smell no SolidEnemy no Damage ] -> [ SmellU | Wall Smell ] | |
+ right [ action Marker | Wall Smell no SolidEnemy no Damage ] -> [ SmellR | Wall Smell ] | |
+ left [ action Marker | Wall Smell no SolidEnemy no Damage ] -> [ SmellL | Wall Smell ] | |
down [ action Marker | Wall Smell ] -> [ SmellD | Wall Smell ] | |
+ up [ action Marker | Wall Smell ] -> [ SmellU | Wall Smell ] | |
+ right [ action Marker | Wall Smell ] -> [ SmellR | Wall Smell ] | |
+ left [ action Marker | Wall Smell ] -> [ SmellL | Wall Smell ] | |
left [ Marker | Wall Smell no SolidEnemy no Damage ] -> [ SmellL | Wall Smell ] | |
+ right [ Marker | Wall Smell no SolidEnemy no Damage ] -> [ SmellR | Wall Smell ] | |
+ up [ Marker | Wall Smell no SolidEnemy no Damage ] -> [ SmellU | Wall Smell ] | |
+ down [ Marker | Wall Smell no SolidEnemy no Damage ] -> [ SmellD | Wall Smell ] | |
left [ Marker | Wall Smell ] -> [ SmellL | Wall Smell ] | |
+ right [ Marker | Wall Smell ] -> [ SmellR | Wall Smell ] | |
+ up [ Marker | Wall Smell ] -> [ SmellU | Wall Smell ] | |
+ down [ Marker | Wall Smell ] -> [ SmellD | Wall Smell ] | |
down [ action Marker | Smell no SolidEnemy no Damage ] -> [ SmellD | Smell ] | |
+ up [ action Marker | Smell no SolidEnemy no Damage ] -> [ SmellU | Smell ] | |
+ right [ action Marker | Smell no SolidEnemy no Damage ] -> [ SmellR | Smell ] | |
+ left [ action Marker | Smell no SolidEnemy no Damage ] -> [ SmellL | Smell ] | |
down [ action Marker | Smell ] -> [ SmellD | Smell ] | |
+ up [ action Marker | Smell ] -> [ SmellU | Smell ] | |
+ right [ action Marker | Smell ] -> [ SmellR | Smell ] | |
+ left [ action Marker | Smell ] -> [ SmellL | Smell ] | |
left [ Marker | Smell no SolidEnemy no Damage ] -> [ SmellL | Smell ] | |
+ right [ Marker | Smell no SolidEnemy no Damage ] -> [ SmellR | Smell ] | |
+ up [ Marker | Smell no SolidEnemy no Damage ] -> [ SmellU | Smell ] | |
+ down [ Marker | Smell no SolidEnemy no Damage ] -> [ SmellD | Smell ] | |
left [ Marker | Smell ] -> [ SmellL | Smell ] | |
+ right [ Marker | Smell ] -> [ SmellR | Smell ] | |
+ up [ Marker | Smell ] -> [ SmellU | Smell ] | |
+ down [ Marker | Smell ] -> [ SmellD | Smell ] | |
endloop | |
[ Marker ] -> [] | |
(enemy movement: glitches) | |
startloop | |
random [ stationary Glitch Smell no Damage no Moved no MovedTmp ] -> [ action Glitch Smell ] | |
left [ action Glitch SmellL | no EnemyOrSpawn ] -> [ SmellL | Glitch MovedTmp ] | |
right [ action Glitch SmellR | no EnemyOrSpawn ] -> [ SmellR | Glitch MovedTmp ] | |
up [ action Glitch SmellU | no EnemyOrSpawn ] -> [ SmellU | Glitch MovedTmp ] | |
down [ action Glitch SmellD | no EnemyOrSpawn ] -> [ SmellD | Glitch MovedTmp ] | |
[ action Glitch ] -> [ randomDir Glitch ] | |
endloop | |
[ Smell ] -> [] | |
(smell: normal enemies) | |
left [ Player | no Wall ] -> [ Player | SmellR ] | |
right [ Player | no Wall ] -> [ Player | SmellL ] | |
up [ Player | no Wall ] -> [ Player | SmellD ] | |
down [ Player | no Wall ] -> [ Player | SmellU ] | |
startloop | |
[ Smell | no Smell no Marker no Player no Wall no Moved ] -> [ Smell | Marker ] | |
random [ stationary Marker ] -> [ action Marker ] | |
random [ stationary Marker ] -> [ action Marker ] | |
down [ action Marker | Smell no Glitch no Damage no Moved no MovedTmp ] -> [ SmellD | Smell ] | |
+ up [ action Marker | Smell no Glitch no Damage no Moved no MovedTmp ] -> [ SmellU | Smell ] | |
+ right [ action Marker | Smell no Glitch no Damage no Moved no MovedTmp ] -> [ SmellR | Smell ] | |
+ left [ action Marker | Smell no Glitch no Damage no Moved no MovedTmp ] -> [ SmellL | Smell ] | |
down [ action Marker | Smell ] -> [ SmellD | Smell ] | |
+ up [ action Marker | Smell ] -> [ SmellU | Smell ] | |
+ right [ action Marker | Smell ] -> [ SmellR | Smell ] | |
+ left [ action Marker | Smell ] -> [ SmellL | Smell ] | |
left [ Marker | Smell no Glitch no Damage no Moved no MovedTmp ] -> [ SmellL | Smell ] | |
+ right [ Marker | Smell no Glitch no Damage no Moved no MovedTmp ] -> [ SmellR | Smell ] | |
+ up [ Marker | Smell no Glitch no Damage no Moved no MovedTmp ] -> [ SmellU | Smell ] | |
+ down [ Marker | Smell no Glitch no Damage no Moved no MovedTmp ] -> [ SmellD | Smell ] | |
left [ Marker | Smell ] -> [ SmellL | Smell ] | |
+ right [ Marker | Smell ] -> [ SmellR | Smell ] | |
+ up [ Marker | Smell ] -> [ SmellU | Smell ] | |
+ down [ Marker | Smell ] -> [ SmellD | Smell ] | |
endloop | |
[ Marker ] -> [] | |
(enemy movement: normal enemies) | |
startloop | |
random [ stationary SolidEnemy Smell no Damage no Moved no MovedTmp ] -> [ action SolidEnemy Smell ] | |
left [ action SolidEnemy SmellL | no Solid no Glitch ] -> [ SmellL | SolidEnemy MovedTmp ] | |
right [ action SolidEnemy SmellR | no Solid no Glitch ] -> [ SmellR | SolidEnemy MovedTmp ] | |
up [ action SolidEnemy SmellU | no Solid no Glitch ] -> [ SmellU | SolidEnemy MovedTmp ] | |
down [ action SolidEnemy SmellD | no Solid no Glitch ] -> [ SmellD | SolidEnemy MovedTmp ] | |
[ action SolidEnemy ] -> [ randomDir SolidEnemy ] | |
endloop | |
[ Smell ] -> [] | |
[ MovedTmp ] -> [ Moved ] | |
(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 ] -> [ Player Moved ] [ random MaybeSpawn ] | |
[ Player Moved ] [ Spawn ] -> sfx9 | |
[ Player Moved ] -> [ Player ] | |
[ Damage no Enemy no Player ] -> [] | |
(cryptog invisibility) | |
late [ Player ] [ Cryptog2 ] -> [ Player ] [ Cryptog2Invisible ] | |
late [ Player ] [ Cryptog1 ] -> [ Player ] [ 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 ] -> [] again sfx5 | |
[ 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 ] -> cancel | |
[ Player2 Target ] -> [ Player3 Target ] | |
[ Player1 Target ] -> [ Player2 Target ] | |
============== | |
WINCONDITIONS | |
============== | |
no Player | |
======= | |
LEVELS | |
======= | |
(*..... | |
...... | |
...... | |
.....G | |
.P..SG | |
...GGG) | |
(*P...G | |
...... | |
...... | |
...... | |
...... | |
D....W) | |
(##.##D | |
.#.##. | |
P.G##. | |
##.... | |
...##. | |
.W.##W) | |
(*..... | |
...... | |
...... | |
..WW.. | |
..WD.P | |
....#.) | |
!''??X | |
?????? | |
?????? | |
?????? | |
?????? | |
X????X |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment