Skip to content

Instantly share code, notes, and snippets.

@Norgg
Created April 11, 2021 02:45
Show Gist options
  • Save Norgg/ab1a36858f0acf720270c3b978c859b2 to your computer and use it in GitHub Desktop.
Save Norgg/ab1a36858f0acf720270c3b978c859b2 to your computer and use it in GitHub Desktop.
the gods await me (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title the gods await me
homepage www.puzzlescript.net
run_rules_on_level_start
zoomscreen 12x12
noundo
norestart
noaction
(debug)
========
OBJECTS
========
background
white
void
black yellow
10000
00100
00001
01000
00000
outervoid
black yellow
10000
00100
00001
01000
00000
passablevoid
darkgrey yellow
10000
00100
00001
01000
00000
blockablevoid
white
dangerousvoid
white
watervoid
white
grass
brown lightgreen
00000
00000
10100
01010
01010
dirt
brown
water
blue lightblue
00010
00100
00000
00010
01000
stone
grey
stonecrack1
grey darkgrey
10000
01000
00000
00000
00000
stonecrack2
grey darkgrey
10000
01100
00000
00000
00000
stonecrack3
grey darkgrey
10000
01010
00100
00010
00000
stonecrack4
grey darkgrey
10001
01010
00100
00010
00010
aliveplayer
black blue
..0..
00000
.010.
.000.
.0.0.
deadplayer
black red
...0.
0000.
.0100
00001
.110.
spawnenemy
white
enemy
darkred
..0..
.000.
..0..
.000.
.0.0.
deadenemy
darkred red
.....
00.0.
.0000
00101
11111
drownedenemy
darkred blue lightblue
11121
00201
10000
00101
12111
altar
brown lightgrey yellow
00000
20002
10001
11111
11111
path1
black
.....
.....
.....
.....
.....
path2
darkgrey
.....
.....
.....
.....
.....
path3
grey
.....
.....
.....
.....
.....
path4
lightgrey
.....
.....
.....
.....
.....
path5
white
.....
.....
.....
.....
.....
movetok
green
=======
LEGEND
=======
entity = aliveplayer or enemy
player = aliveplayer or deadplayer
anystone = stone or stonecrack1 or stonecrack2 or stonecrack3 or stonecrack4
blockableterrain = grass or dirt or stone
dangerousterrain = grass or dirt or stone or spawnenemy
waterterrain = grass or dirt or water
passableterrain = grass or dirt
terrain = passableterrain or blockableterrain or dangerousterrain or waterterrain
genterrain = passablevoid or blockablevoid or dangerousvoid or watervoid
obstacle = stone or deadenemy or water
path = path1 or path2 or path3 or path4 or path5
shorter5 = path4 or path3 or path2 or path1
shorter4 = path3 or path2 or path1
shorter3 = path2 or path1
shorter2 = path1
. = void
, = outervoid
g = passablevoid
p = aliveplayer and passablevoid
e = enemy and passablevoid
a = altar
=======
SOUNDS
=======
sfx0 13477304 ( kill enemy )
sfx1 48075109 ( sacrifice enemy )
sfx2 88048109 ( sacrifice self )
sfx3 89545704 ( player death )
================
COLLISIONLAYERS
================
background
void, passablevoid, blockablevoid, dangerousvoid, watervoid, grass, dirt, outervoid, drownedenemy
path1, path2, path3, path4, path5
movetok, spawnenemy
water, altar
aliveplayer, deadplayer, enemy, deadenemy, stone, stonecrack1, stonecrack2, stonecrack3, stonecrack4
======
RULES
======
((((((WORLDGEN))))))
random [ outervoid ] -> [ passablevoid altar ]
random [ outervoid ] -> [ passablevoid altar ]
random [ outervoid ] -> [ passablevoid altar ]
random [ outervoid ] -> [ passablevoid altar ]
[ outervoid ] -> [ void ]
[ void ] -> [ random genterrain ]
+ [ dangerousvoid ] -> [ random dangerousterrain ]
+ [ blockablevoid ] -> [ random blockableterrain ]
+ [ passablevoid ] -> [ random passableterrain ]
+ [ watervoid ] -> [ random waterterrain ]
+ [ spawnenemy ] -> [ enemy random passableterrain ]
(((((DIGGING)))))
[ > aliveplayer | stone ] -> [ aliveplayer | stonecrack1 ]
+ [ > aliveplayer | stonecrack1 ] -> [ aliveplayer | stonecrack2 ]
+ [ > aliveplayer | stonecrack2 ] -> [ aliveplayer | stonecrack3 ]
+ [ > aliveplayer | stonecrack3 ] -> [ aliveplayer | stonecrack4 ]
+ [ > aliveplayer | stonecrack4 ] -> [ aliveplayer | dirt ]
((((((COMBAT))))))
[ > aliveplayer | enemy ] -> [ aliveplayer | deadenemy ] sfx0
[ enemy | > aliveplayer ] -> [ enemy | deadplayer ] sfx3
+ [ enemy | v aliveplayer ] -> [ enemy | deadplayer ] sfx3
+ [ enemy | ^ aliveplayer ] -> [ enemy | deadplayer ] sfx3
+ [ enemy | action aliveplayer ] -> [ enemy | deadplayer ] sfx3
+ [ enemy | stationary aliveplayer ] -> [ enemy | deadplayer ] sfx3
(((((PLAYER MOVEMENT)))))
[ > player | no obstacle no enemy ] -> [ | player ]
((((((PATHFINDING))))))
[ player | no obstacle ] -> [ player | path1 ]
[ path1 | no obstacle ] -> [ path1 | path2 ]
[ path2 | no obstacle no shorter2 ] -> [ path2 | path3 ]
[ path3 | no obstacle no shorter3 ] -> [ path3 | path4 ]
[ path4 | no obstacle no shorter4 ] -> [ path4 | path5 ]
[ enemy ] -> [ enemy movetok ]
[ enemy no path movetok | path ] -> [ > enemy | path ]
[ enemy path5 movetok | shorter5 no enemy ] -> [ > enemy path5 | shorter5 ]
[ enemy path4 movetok | shorter4 no enemy ] -> [ > enemy path4 | shorter4 ]
[ enemy path3 movetok | shorter3 no enemy ] -> [ > enemy path3 | shorter3 ]
[ enemy path2 movetok | shorter2 no enemy ] -> [ > enemy path2 | shorter2 ]
[ enemy no path movetok | no path ] -> [ randomdir enemy | ]
[ movetok ] -> []
[ path ] -> []
(((((WATER BLOCKING)))))
[ > entity | water ] -> [ entity | water ]
((((((CORPSE PUSHING))))))
[ > aliveplayer | deadenemy ] -> [ > aliveplayer | > deadenemy ]
[ > deadenemy | deadenemy ] -> [ > deadenemy | > deadenemy ]
[ > deadenemy | enemy ] -> [ > deadenemy | > enemy ]
[ > enemy | water no deadenemy ] -> [ | drownedenemy ]
[ > deadenemy | water no deadenemy ] -> [ | drownedenemy ]
late [ deadenemy altar ] -> [ altar ] sfx2 message
late [ aliveplayer altar ] -> [ deadplayer altar ] sfx1 message freedom
==============
WINCONDITIONS
==============
no aliveplayer
=======
LEVELS
=======
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,..................g....................,,,,,
,,,,,.................ggg...................,,,,,
,,,,,................ggpgg..................,,,,,
,,,,,.................ggg...................,,,,,
,,,,,..................g....................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,.......................................,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment