Skip to content

Instantly share code, notes, and snippets.

@ncrecc
Created March 15, 2022 07:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ncrecc/862569b7feb3fe5876cc2fbec12df0f4 to your computer and use it in GitHub Desktop.
Save ncrecc/862569b7feb3fe5876cc2fbec12df0f4 to your computer and use it in GitHub Desktop.
Property Damage (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Property Damage
author Bert of Wibi
homepage www.puzzlescript.net
flickscreen 6x7
verbose_logging
norestart
========
OBJECTS
========
Background
lightgreen green
11111
01111
11101
11111
10111
Target
darkblue
.....
.000.
.0.0.
.000.
.....
Wall
brown darkbrown
00010
11111
01000
11111
00010
(
Player
black orange white blue
.000.
.111.
22222
.333.
.3.3.
)
PlayerD
black orange white blue
.....
.000.
30003
.111.
.2.2.
PlayerU
black orange white blue
.2.2.
.111.
30003
.000.
.....
PlayerR
black orange white blue
..3..
.0012
.001.
.0012
..3..
PlayerL
black orange white blue
..3..
2100.
.100.
2100.
..3..
Crate
orange
00000
0...0
0...0
0...0
00000
Crack
Black
..0..
00...
..00.
..0.0
..0..
doMine
transparent
turned
transparent
wasHere
red
.....
.....
..0..
.....
.....
inventorystart
pink
inventorybound
red
inventoryspace
blue
goal
black white
01010
10101
01010
10101
01010
wraparound
purple
bubble
blue white
.000.
0.1.0
01..0
0...0
.000.
pop
blue
0...0
.0.0.
.....
.0.0.
0...0
=======
LEGEND
=======
. = Background
# = Wall
P = PlayerD
G = Goal
* = Crate
@ = Crate and Target
O = Target
I = inventorystart and inventoryspace
B = inventorybound
S = inventoryspace
_ = wraparound
! = bubble
? = bubble and target
Solid = wall or crate or bubble
Player = PlayerD or PlayerU or PlayerR or PlayerL
spacefiller = crate or bubble
pushable = crate or bubble
=======
SOUNDS
=======
Crate move 36772507
crack create 77046502
bubble destroy 55705504
(bubble destroy 50224500)
sfx1 8605102
sfx2 67131102
================
COLLISIONLAYERS
================
Background
Target, inventoryspace, goal
inventorystart, pop
Player, Wall, Crate, bubble, inventorybound, wraparound
Crack
domine
washere
turned
======
RULES
======
[player] -> [player washere]
left [action player] [washere] [inventorystart|no wraparound] -> [action player] [action washere] [inventorystart|]
up [action playerU|no solid] [action washere] -> [action PlayerU|] []
down [action playerd|no solid] [action washere] -> [action Playerd|] []
left [action playerl|no solid] [action washere] -> [action Playerl|] []
right [action playerr|no solid] [action washere] -> [action Playerr|] []
[action Player] [washere] -> [Player] [washere]
left [action Player stationary Background] [inventorystart|] -> [action player action Background] [|inventorystart]
up [action playerU|] [inventorystart solid] -> [PlayerU|solid] [inventorystart] sfx2
down [action playerd|] [inventorystart solid] -> [Playerd|solid] [inventorystart] sfx2
left [action playerl|] [inventorystart solid] -> [Playerl|solid] [inventorystart] sfx2
right [action playerr|] [inventorystart solid] -> [Playerr|solid] [inventorystart] sfx2
[up player no PlayerU] -> [up PlayerU turned]
[down player no PlayerD] -> [down Playerd turned]
[left player no PlayerL] -> [left Playerl turned]
[right player no PlayerR] -> [right Playerr turned]
[> player|solid] -> [> player|domine solid]
(
up [action playeru|solid] -> [playeru|domine]
down [action playerd|solid] -> [playerd|domine]
left [action playerl|solid] -> [playerl|domine]
right[action playerr|solid] -> [playerr|domine]
)
[ > Player | pushable ] -> [ > Player | > pushable ]
[> Crate Crack] -> [> Crate > Crack]
[> Crack|solid] -> [crack|solid]
[> crack|inventorybound] -> [crack|inventorybound]
late [pop] -> []
late [bubble domine] [turned] [washere] -> [pop] [turned] [washere]
late [bubble domine] [washere] -> [pop] []
late right [solid crack domine] [inventorystart|inventorybound] -> [solid crack] [inventorystart|inventorybound] message i can only hold 9 things, got to place some
(the message above never shows due to 232 canceling!)
late right [solid crack domine] [turned] [inventorystart|no inventorybound] -> [] [turned] [solid|inventorystart] sfx1
late right [solid crack domine] [player washere] [inventorystart|no inventorybound] -> [] [player] [solid|inventorystart] sfx1
late right [solid crack domine] [inventorystart|no inventorybound] -> [] [solid|inventorystart] sfx1 (above 2 lines *should* cover all cases)
late [solid domine] [turned] -> [solid crack] [turned]
late [solid domine] [player washere] -> [solid crack] [player]
late [solid domine] -> [solid crack] (above 2 lines *should* cover all cases)
late [player washere] -> cancel
late [washere] -> []
late [domine] -> []
late [turned] -> []
(
late right [wraparound|solid|...||wraparound]
)
==============
WINCONDITIONS
==============
all Target on spacefiller
all player on goal
some goal
=======
LEVELS
=======
ggb.........
ggb.....#.#.
bgb.b.......
.bbb...#...#
..b.....###.
............
............
#........!o#
bb!!bbbbbbbb
!!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!
bbbbbbbb!!bb
#..........#
############
#....##....#
#.ooo##!!!.#
#..........#
#.ooo##!!!.#
#....##....#
############
..####..####
..#o.#..#..#
###..####..#
#...o##...!#
#....##.!..#
###..####..#
..####..####
......######
.####.#!..!#
o#.!#.#o!!o#
.#..#.#.!!.#
.#!.#o#o!!o#
.####.#!..!#
......######
######..####
#....#..#o.#
#..#.####..#
#.?!.##...?#
#.?o.##.!..#
#....####..#
######..####
#..........#
bbbbbbbb@@bb
@@@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@
bb@@bbbbbbbb
#..........#
############
#....##....#
#.***##ooo.#
#..........#
#.***##ooo.#
#....##....#
############
####..####..
#..#..#.o#..
#..####..###
#*...##o...#
#..*.##....#
#..####..###
####..####..
######......
#*..*#.####.
#o**o#.#*.#o
#.**.#.#..#.
#o**o#o#.*#.
#*..*#.####.
######......
####..######
#.o#..#....#
#..####.#..#
#@p..##.*@.#
#..*.##.o@.#
#g.####....#
####..######
bbbbbbbbbbbb
isssssssssb.
(
############
#....##....#
#....##....#
#....##....#
#....##....#
#....##....#
############
bbbbbbbbbbbb
isssssssssb.
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment