Created
April 21, 2026 12:42
-
-
Save koffie/b81666cc7bb78c2277b52578d75849b2 to your computer and use it in GitHub Desktop.
pipe puffer (PuzzleScript Script)
This file contains hidden or 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 hidden or 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 pipe puffer | |
| author increpare | |
| homepage www.increpare.com | |
| run_rules_on_level_start | |
| background_color #472f37 | |
| (verbose_logging) | |
| ( debug ) | |
| ======== | |
| OBJECTS | |
| ======== | |
| Background | |
| #524740 #5a4f48 | |
| 00000 | |
| 01110 | |
| 01110 | |
| 01110 | |
| 00000 | |
| Wall | |
| #472f37 | |
| wall_s | |
| transparent transparent #291c21 | |
| 00000 | |
| 11111 | |
| 11111 | |
| 11111 | |
| 22222 | |
| wall_n | |
| #5f454e transparent transparent | |
| 00000 | |
| 11111 | |
| 11111 | |
| 11111 | |
| 22222 | |
| wall_o | |
| transparent transparent #5f454e | |
| 01112 | |
| 01112 | |
| 01112 | |
| 01112 | |
| 01112 | |
| wall_w | |
| #291c21 transparent transparent | |
| 01112 | |
| 01112 | |
| 01112 | |
| 01112 | |
| 01112 | |
| wall_nw | |
| #472f37 | |
| 0.... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| wall_so | |
| #472f37 | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ....0 | |
| Player | |
| transparent #a69326 #cdb844 #e3d060 #bfaa38 #000000 | |
| 01230 | |
| 34233 | |
| 22522 | |
| 11241 | |
| 01230 | |
| rohr_no e | |
| #005784 #006ea6 #524740 #acacac #cccccc #656d71 | |
| 00010 | |
| 23431 | |
| 23540 | |
| 22330 | |
| 22220 | |
| rohr_ns x | |
| #005784 #006ea6 #524740 #acacac #cccccc #e6e6e6 #656d71 | |
| 00010 | |
| 23452 | |
| 23652 | |
| 23452 | |
| 00010 | |
| rohr_nw q | |
| #005784 #006ea6 #acacac #cccccc #e6e6e6 #524740 #656d71 | |
| 00010 | |
| 12345 | |
| 03645 | |
| 02255 | |
| 05555 | |
| rohr_so c | |
| #524740 #005784 #e6e6e6 #006ea6 #acacac #cccccc #656d71 | |
| 00001 | |
| 00223 | |
| 04651 | |
| 04541 | |
| 11131 | |
| rohr_sw z | |
| #005784 #524740 #006ea6 #e6e6e6 #cccccc #acacac #656d71 | |
| 01111 | |
| 23311 | |
| 04631 | |
| 05431 | |
| 00020 | |
| rohr_ow a | |
| #005784 #524740 #006ea6 #e6e6e6 #cccccc #acacac #656d71 | |
| 01110 | |
| 23332 | |
| 04640 | |
| 05550 | |
| 01110 | |
| outlet_n | |
| #005784 #006ea6 transparent #e6e6e6 #cccccc #acacac #656d71 | |
| 01000 | |
| 23452 | |
| 22622 | |
| 22222 | |
| 22222 | |
| outlet_s | |
| transparent #cccccc #acacac #e6e6e6 #005784 #006ea6 #656d71 | |
| 00000 | |
| 00000 | |
| 00600 | |
| 02130 | |
| 44454 | |
| outlet_o | |
| transparent #005784 #e6e6e6 #006ea6 #cccccc #acacac #656d71 | |
| 00001 | |
| 00023 | |
| 00641 | |
| 00051 | |
| 00001 | |
| outlet_w | |
| #005784 transparent #acacac #cccccc #006ea6 #e6e6e6 #656d71 | |
| 01111 | |
| 02111 | |
| 03611 | |
| 45111 | |
| 01111 | |
| inlet | |
| blue | |
| ..... | |
| ..... | |
| ..0.. | |
| ..... | |
| ..... | |
| pust_n | |
| #cccccc | |
| .000. | |
| 0...0 | |
| ..0.. | |
| ..0.. | |
| ..... | |
| pust_s | |
| #cccccc | |
| ..... | |
| ..0.. | |
| ..0.. | |
| 0...0 | |
| .000. | |
| pust_o | |
| #cccccc | |
| ...0. | |
| ....0 | |
| .00.0 | |
| ....0 | |
| ...0. | |
| pust_w | |
| #cccccc | |
| .0... | |
| 0.... | |
| 0.00. | |
| 0.... | |
| .0... | |
| flow | |
| blue | |
| ..... | |
| ..... | |
| ..0.. | |
| ..... | |
| ..... | |
| ======= | |
| LEGEND | |
| ======= | |
| wall_überlagung = wall_s or wall_n or wall_o or wall_w or wall_nw or wall_so | |
| rohr = rohr_no or rohr_ns or rohr_nw or rohr_so or rohr_sw or rohr_ow | |
| outlet = outlet_n or outlet_s or outlet_o or outlet_w | |
| öffnung_n = rohr_no or rohr_ns or rohr_nw or outlet_n | |
| öffnung_s = rohr_ns or rohr_sw or rohr_so or outlet_s | |
| öffnung_o = rohr_no or rohr_so or rohr_ow or outlet_o | |
| öffnung_w = rohr_nw or rohr_sw or rohr_ow or outlet_w | |
| wall_thing = wall or outlet | |
| rohr_or_öffnung = rohr or outlet | |
| . = Background | |
| # = Wall | |
| P = Player | |
| 1 = outlet_n and wall | |
| 2 = outlet_s and wall | |
| 3 = outlet_o and wall | |
| 4 = outlet_w and wall | |
| 5 = outlet_n and inlet and wall | |
| 6 = outlet_s and inlet and wall | |
| 7 = outlet_o and inlet and wall | |
| 8 = outlet_w and inlet and wall | |
| pust = pust_n or pust_s or pust_o or pust_w | |
| obstacle = wall_thing or rohr or player | |
| rohr_or_player = rohr or player | |
| ======= | |
| SOUNDS | |
| ======= | |
| sfx0 39858907 (pusten) | |
| sfx1 96276907 (rohrdurchpusten) | |
| rohr move 73985107 (rohrbewegen) | |
| startlevel 38142502 | |
| endlevel 45497300 | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| Player, Wall, rohr | |
| wall_s | |
| wall_n | |
| wall_o | |
| wall_w | |
| wall_nw | |
| wall_so | |
| outlet | |
| inlet | |
| flow | |
| pust_n | |
| pust_s | |
| pust_o | |
| pust_w | |
| ====== | |
| RULES | |
| ====== | |
| up [ wall | no wall_thing ] -> [ wall wall_n | ] | |
| down [ wall | no wall_thing ] -> [ wall wall_s | ] | |
| left [ wall | no wall_thing ] -> [ wall wall_w | ] | |
| right [ wall | no wall_thing ] -> [ wall wall_o | ] | |
| [ wall_s wall_o ] -> [ wall_s wall_o wall_so ] | |
| [ wall_n wall_w ] -> [ wall_n wall_w wall_nw ] | |
| [ > player | obstacle ] -> cancel | |
| [pust]->[] | |
| right [ | action player | ] -> [ pust_w | action player | pust_o ] again sfx0 | |
| up [ | action player | ] -> [ pust_s | player | pust_n ] again | |
| right [ rohr_so pust_n | ] -> [ rohr_so | pust_o ] sfx1 | |
| + down [ rohr_so pust_w | ] -> [ rohr_so | pust_s ] sfx1 | |
| + up [ rohr_ns pust_n | ] -> [ rohr_ns | pust_n ] sfx1 | |
| + down [ rohr_ns pust_s | ] -> [ rohr_ns | pust_s ] sfx1 | |
| + left [ rohr_sw pust_n | ] -> [ rohr_sw | pust_w ] sfx1 | |
| + down [ rohr_sw pust_o | ] -> [ rohr_sw | pust_s ] sfx1 | |
| + right [ rohr_ow pust_o | ] -> [ rohr_ow | pust_o ] sfx1 | |
| + left [ rohr_ow pust_w | ] -> [ rohr_ow | pust_w ] sfx1 | |
| + right [ rohr_no pust_s | ] -> [ rohr_no | pust_o ] sfx1 | |
| + up [ rohr_no pust_w | ] -> [ rohr_no | pust_n ] sfx1 | |
| + left [ rohr_nw pust_s | ] -> [ rohr_nw | pust_w ] sfx1 | |
| + up [ rohr_nw pust_o | ] -> [ rohr_nw | pust_n ] sfx1 | |
| [ pust_n rohr ] -> [ pust_n up rohr ] | |
| [ pust_s rohr ] -> [ pust_s down rohr ] | |
| [ pust_o rohr ] -> [ pust_o right rohr ] | |
| [ pust_w rohr ] -> [ pust_w left rohr ] | |
| [pust outlet ] -> [ outlet ] | |
| [ > rohr_or_player | rohr_or_player ] -> [ > rohr_or_player | > rohr_or_player ] | |
| ( [ > Player | Crate ] -> [ > Player | > Crate ] ) | |
| late [flow]->[] | |
| late [ inlet ] -> [ inlet flow ] | |
| late up [ öffnung_n flow | öffnung_s no flow ] -> [ öffnung_n flow | öffnung_s flow ] | |
| + late down [ öffnung_s flow | öffnung_n no flow ] -> [ öffnung_s flow | öffnung_n flow ] | |
| + late right [ öffnung_o flow | öffnung_w no flow ] -> [ öffnung_o flow | öffnung_w flow ] | |
| + late left [ öffnung_w flow | öffnung_o no flow ] -> [ öffnung_w flow | öffnung_o flow ] | |
| ============== | |
| WINCONDITIONS | |
| ============== | |
| all outlet on flow | |
| ======= | |
| LEVELS | |
| ======= | |
| message Oh no the factory is falling apart! Can the pipe puffer put it back together? | |
| message Level 1 of 8 | |
| ( anything in this comment block is solvable: | |
| ( (not sure if I want this or not) ) | |
| message fine, solvable wiht brain-usage. doesn't use puffing though sadface | |
| ###6### | |
| #.....# | |
| #.#..a4 | |
| #...x.# | |
| #.ea..# | |
| ##p...# | |
| ####### | |
| message ok silly last level? | |
| ############## | |
| #............# | |
| #....6..2....# | |
| #...cq..ez...# | |
| #...ez...q...# | |
| #...cq..ez...# | |
| #...ez..cq...# | |
| #...cq..ez...# | |
| #...ez..cq...# | |
| #...cq..ez...# | |
| #...ez..cq...# | |
| #....1..5....# | |
| #.....p......# | |
| ############## | |
| message unnamed | |
| ###6#### | |
| #......# | |
| #..a..a4 | |
| #....x.# | |
| #..ea..# | |
| ###p...# | |
| ######## | |
| message simple. pleasing | |
| ##62### | |
| ##.x..# | |
| #.e...# | |
| #..q..# | |
| ##....# | |
| .#p.### | |
| .####.. | |
| message similarly simple/pleasing | |
| ###6## | |
| #....4 | |
| ##.a.# | |
| #.e..# | |
| #p...# | |
| ###### | |
| message whatever | |
| ###6## | |
| #..x.4 | |
| #.ec.# | |
| #..q.# | |
| #p...# | |
| ###### | |
| message slightly harder | |
| ###6## | |
| #..x.4 | |
| #.cq.# | |
| #.e..# | |
| #...p# | |
| ###### | |
| message fineish | |
| ###6## | |
| ###.## | |
| #..a.4 | |
| #..x.# | |
| #.e..# | |
| #..p.# | |
| ###### | |
| message i remember how to do this one, which is good, but it's alos not great | |
| ###62### | |
| #......# | |
| #..x#..# | |
| #...q..# | |
| #x.e...# | |
| #....p.# | |
| ######## | |
| ) | |
| ( | |
| message these are solved in their starting position | |
| ###6## | |
| #..ea4 | |
| #....# | |
| #.p..# | |
| #....# | |
| ###### | |
| ###6## | |
| #..xc4 | |
| #..eq# | |
| #.p..# | |
| #....# | |
| ###### | |
| ##62## | |
| #.eq.# | |
| #....# | |
| #.p..# | |
| #....# | |
| ###### | |
| ##62### | |
| #.eq..# | |
| #.....# | |
| #.p...# | |
| #.....# | |
| #.....# | |
| ####### | |
| ###62### | |
| #..xx..# | |
| #..eq..# | |
| #......# | |
| #......# | |
| #....p.# | |
| ######## | |
| ##62### | |
| #.xx..# | |
| #.eq..# | |
| #.p...# | |
| #.....# | |
| #.....# | |
| ####### | |
| ####6## | |
| #...ea4 | |
| #.....# | |
| #.....# | |
| #.p...# | |
| #.....# | |
| ####### | |
| ####6## | |
| #...xc4 | |
| #...eq# | |
| #.....# | |
| #.p...# | |
| #.....# | |
| ####### | |
| ###6### | |
| #..x..# | |
| #..eaa4 | |
| #.....# | |
| #.p...# | |
| #.....# | |
| ####### | |
| ###62### | |
| #..eq..# | |
| #......# | |
| #.p....# | |
| #......# | |
| #......# | |
| ######## | |
| ######## | |
| #......# | |
| #......# | |
| #..62..# | |
| #..eq..# | |
| #.p....# | |
| ######## | |
| ####6## | |
| #...ea4 | |
| #.....# | |
| #.....# | |
| #.p...# | |
| #.....# | |
| ####### | |
| ####### | |
| #.....# | |
| #.cz..# | |
| #.x5p.# | |
| #.x2..# | |
| #.eq..# | |
| #.....# | |
| ####### | |
| ###6### | |
| #..ez.# | |
| #...ea4 | |
| #.....# | |
| #.p...# | |
| #.....# | |
| ####### | |
| (trivial) | |
| ####6## | |
| #.....# | |
| #..x..4 | |
| #..ea.# | |
| #.p...# | |
| #.....# | |
| ####### | |
| ) | |
| (unsolvable | |
| ####6## | |
| #.....# | |
| #.c.q.# | |
| #p.a..4 | |
| #.x.z.# | |
| #.....# | |
| ####### | |
| ##6## | |
| #...# | |
| #.p.# | |
| #...4 | |
| ##### | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ) | |
| ( | |
| message hard? not yet solved unsolvable? lol | |
| ###6### | |
| #.....# | |
| ##.x.a4 | |
| #.....# | |
| #.ea#.# | |
| #.p...# | |
| ####### | |
| ) | |
| ( some variations of the same level | |
| #########.... | |
| #.......6#### | |
| #.......x...# | |
| #...c.a.eaaz# | |
| #....p......# | |
| #...a.x.caaq# | |
| #.......x...# | |
| #.......1#### | |
| #########.... | |
| #########...... | |
| #.......6###### | |
| #.......x.....# | |
| #...c.a.eaaaaz# | |
| #....p........# | |
| #...a.x.caaaaq# | |
| #.......x.....# | |
| #.......1###### | |
| #########...... | |
| #########....... | |
| #.......6####### | |
| #.......x......# | |
| #..c.a..eaaaaz.# | |
| #...p..........# | |
| #..a.x..caaaaq.# | |
| #.......x......# | |
| #.......1####### | |
| #########....... | |
| #########....... | |
| #.......#....... | |
| #.......6####### | |
| #.......x......# | |
| #..c.a..eaaaaz.# | |
| #...p..........# | |
| #..a.x..caaaaq.# | |
| #.......x......# | |
| #.......1####### | |
| #.......#....... | |
| #########....... | |
| ################ | |
| #..............# | |
| #.......c8###### | |
| #.......x......# | |
| #..c.z..eaaaaz.# | |
| #...p..........# | |
| #..a.x..caaaaq.# | |
| #.......x......# | |
| #.......e4###### | |
| #..............# | |
| ################ | |
| ################ | |
| #..............# | |
| #.......c8###### | |
| #..c.z..x......# | |
| #...p...eaaaaz.# | |
| #..a.x.........# | |
| #.......caaaaq.# | |
| #..e.q..x......# | |
| #.......e4###### | |
| #..............# | |
| ################ | |
| ) | |
| ( | |
| transformation | |
| [player]->[] | |
| choose 15 [ rohr ] [ no obstacle ] -> [ ] [ rohr ] | |
| (choose 1 [ player ] [ no obstacle ] -> [ ] [ player ]) | |
| (choose 5 [ outlet ] [ wall ] -> [ wall ] [ outlet ] | |
| choose 1 [ flow no outlet ] [ outlet no flow ] -> [ ] [ outlet flow ]) | |
| choose 1 [ no obstacle ] -> [ player ] | |
| choose 10 option 0.5 [ no obstacle ] -> [ wall ] | |
| + option 0.5 [] -> [ ] | |
| ) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment