Created
June 29, 2025 22:59
-
-
Save patrickgh3/3321a6b0dbbe4b7755b69b8bbd2cc6eb to your computer and use it in GitHub Desktop.
Red Dragon Sauna (Pattern:Script 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 https://clementsparrow.github.io/Pattern-Script/src/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 Red Dragon Sauna | |
| author Toombler and Patrick Traynor | |
| homepage www.puzzlescript.net | |
| run_rules_on_level_start | |
| realtime_interval 0.13 | |
| text_color red | |
| background_color #0B101F | |
| ==== | |
| TAGS | |
| ==== | |
| ActiveStatus = Active Inactive | |
| Count = 0 1 2 3 4 5 | |
| ======== | |
| OBJECTS | |
| ======== | |
| Background | |
| #3F241A #4C3128 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 01110 | |
| 01110 | |
| Wall | |
| #CC873D #DAAD69 | |
| 11111 | |
| 00000 | |
| 11111 | |
| 00000 | |
| 00000 | |
| Wall2 | |
| #699BD3 #486991 | |
| 01110 | |
| 00011 | |
| 11100 | |
| 01000 | |
| 10101 | |
| Background2 | |
| #131C35 #182544 | |
| 00001 | |
| 11100 | |
| 11000 | |
| 10011 | |
| 00010 | |
| Fence | |
| gray | |
| .0.0. | |
| 00000 | |
| .0.0. | |
| 00000 | |
| .0.0. | |
| LetterS | |
| #CC873D #DAAD69 | |
| 00111 | |
| 01000 | |
| 00110 | |
| 00001 | |
| 11110 | |
| LetterA | |
| #CC873D #DAAD69 | |
| 00110 | |
| 01001 | |
| 01111 | |
| 01001 | |
| 01001 | |
| LetterU | |
| #CC873D #DAAD69 | |
| 01001 | |
| 01001 | |
| 01001 | |
| 01001 | |
| 00110 | |
| LetterN | |
| #CC873D #DAAD69 | |
| 01001 | |
| 01101 | |
| 01011 | |
| 01001 | |
| 01001 | |
| CustomerRare | |
| #DD602A #D3DDD6 | |
| ..0.. | |
| .000. | |
| 01110 | |
| .111. | |
| .0.0. | |
| CustomerFreezing | |
| #F2B68C #D3DDD6 | |
| ..0.0 | |
| .0000 | |
| 0111. | |
| .111. | |
| .0.0. | |
| CustomerBurned | |
| #110D0D | |
| ..... | |
| ..... | |
| .0... | |
| .00.0 | |
| 0000. | |
| ( | |
| DraconicCustomerRare (wip) | |
| #DD602A #A04620 #FFD800 #D3DDD6 | |
| ..... | |
| ..... | |
| ..002 | |
| .0000 | |
| .001. | |
| DraconicCustomerFreezing | |
| #FF96DA #A86390 #FFD800 #D3DDD6 | |
| .0... | |
| .10.. | |
| ..102 | |
| .0000 | |
| .1.1. | |
| ) | |
| DraconicCustomerRare (wip) | |
| #DD602A #A04620 #FFD800 #D3DDD6 | |
| ..... | |
| ...20 | |
| .110. | |
| 10000 | |
| 00.1. | |
| DraconicCustomerFreezing | |
| #FF96DA #A86390 #FFD800 #D3DDD6 | |
| .0... | |
| .1020 | |
| ..10. | |
| .0000 | |
| .1.1. | |
| DraconicCustomerBurned | |
| #110D0D | |
| ..... | |
| ..... | |
| ...0. | |
| ..00. | |
| 0.000 | |
| Adventurer | |
| #E29761 #E29761 red green gray | |
| 4.0.. | |
| 4222. | |
| 42244 | |
| .3344 | |
| .3.3. | |
| Employee | |
| #E29761 #E29761 red green gray | |
| 4.0.. | |
| 4222. | |
| 42244 | |
| .3344 | |
| .3.3. | |
| DummyFrozen | |
| #E29761 #E29761 red green gray lightblue | |
| 4.5.. | |
| 4555. | |
| 45544 | |
| .5544 | |
| .5.5. | |
| DummyThawed | |
| #E29761 #E29761 red green gray lightblue | |
| 4.0.. | |
| 4222. | |
| 42244 | |
| .3344 | |
| .3.3. | |
| AdventurerFreezing:0 | |
| lightblue | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| AdventurerFreezing:1 | |
| lightblue | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| .0.0. | |
| AdventurerFreezing:2 | |
| lightblue | |
| ..... | |
| ..... | |
| ..... | |
| .00.. | |
| .0.0. | |
| AdventurerFreezing:3 | |
| lightblue | |
| ..... | |
| ..... | |
| .00.. | |
| .00.. | |
| .0.0. | |
| AdventurerFreezing:4 | |
| lightblue | |
| ..... | |
| .000. | |
| .00.. | |
| .00.. | |
| .0.0. | |
| AdventurerFreezing:5 | |
| lightblue | |
| ..0.. | |
| .000. | |
| .00.. | |
| .00.. | |
| .0.0. | |
| Sword:directions | |
| darkgray lightgray yellow | |
| ..... | |
| .0... | |
| 00000 | |
| .0... | |
| ..... | |
| rot:right:> | |
| DragonTail:directions (TEMP) | |
| red | |
| ..... | |
| ..... | |
| ...0. | |
| ....0 | |
| ..... | |
| rot:right:> | |
| DragonTail:left (TEMP) | |
| red darkred orange | |
| copy: DragonTail:Right | | |
| Dragon:directions (TEMP) | |
| red darkred orange | |
| 0.... | |
| 10.20 | |
| .110. | |
| 00000 | |
| 1..1. | |
| rot:right:> | |
| Dragon:left (TEMP) | |
| red darkred orange | |
| copy: Dragon:Right | | |
| SleepingDragon (TEMP) | |
| red darkred orange | |
| ..... | |
| ..... | |
| 00.10 | |
| 1110. | |
| 00000 | |
| DragonFire:directions | |
| orange | |
| ..... | |
| 0..0. | |
| 000.0 | |
| .0.00 | |
| ..... | |
| rot:right:> | |
| Wind:directions | |
| white | |
| ..... | |
| 0..0. | |
| 000.0 | |
| .0.0. | |
| ..... | |
| rot:right:> | |
| HotRock:Inactive | |
| darkgray | |
| .000. | |
| 00000 | |
| 00000 | |
| 00000 | |
| .000. | |
| HotRock:Active | |
| #486991 #486991 orange yellow | |
| 21210 | |
| 12322 | |
| 13330 | |
| 02200 | |
| 20221 | |
| Egg:Inactive | |
| brown | |
| ..... | |
| ..0.. | |
| .000. | |
| .000. | |
| ..0.. | |
| Egg:Active | |
| yellow | |
| ..... | |
| ..0.. | |
| .000. | |
| .000. | |
| ..0.. | |
| BrokenEgg | |
| brown | |
| ..... | |
| ..... | |
| .0... | |
| ...0. | |
| .00.. | |
| BreakableWall | |
| #CC873D | |
| 0.0.0 | |
| 0.000 | |
| 0.0.0 | |
| .00.0 | |
| 0.0.0 | |
| Ice | |
| #6EA0D3 #BFDFFF | |
| 00100 | |
| 01000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| Water | |
| #27479E | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| .00.0 | |
| LevelExit | |
| transparent | |
| .0.0. | |
| 0.0.0 | |
| .0.0. | |
| 0.0.0 | |
| .0.0. | |
| LevelExitFreeze | |
| transparent | |
| .0.0. | |
| 0.0.0 | |
| .0.0. | |
| 0.0.0 | |
| .0.0. | |
| Revive | |
| yellow blue | |
| ..0.. | |
| 00100 | |
| 01110 | |
| 01110 | |
| .000. | |
| Fan | |
| gray darkgray | |
| .000. | |
| 01110 | |
| 01110 | |
| 01110 | |
| .000. | |
| SteamBackground:0 | |
| lightgray | |
| ..... | |
| ..0.. | |
| .000. | |
| ..0.. | |
| ..... | |
| SteamBackground:1 | |
| lightgray | |
| 0000. | |
| 0000. | |
| .000. | |
| .0000 | |
| .0000 | |
| SteamBackground:2 | |
| lightgray | |
| .000. | |
| ..000 | |
| 0000. | |
| .0.00 | |
| .000. | |
| SteamBackground:3 | |
| lightgray | |
| ..0.. | |
| ...0. | |
| ..00. | |
| .0... | |
| ..00. | |
| SteamBackground:4 | |
| lightgray | |
| ..0.. | |
| ..... | |
| ...0. | |
| .0... | |
| ..... | |
| SteamBackground:5 | |
| lightgray | |
| ..... | |
| ..... | |
| ..... | |
| .0... | |
| ..... | |
| SteamForeground:0 | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| SteamForeground:1 | |
| white | |
| ..... | |
| ..... | |
| 0.00. | |
| 000.0 | |
| .0000 | |
| SteamForeground:2 | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| .0... | |
| ..00. | |
| SteamForeground:3 | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ...0. | |
| SteamForeground:4 | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| SteamForeground:5 | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| TempRevive | |
| transparent | |
| TempRemoveIce | |
| transparent | |
| TempSwordCheck | |
| pink | |
| TempBreatheFireMessage | |
| transparent | |
| ======= | |
| LEGEND | |
| ======= | |
| . = Background | |
| # = Wall | |
| & = Wall2 | |
| % = Fence | |
| $ = LetterS | |
| a = Adventurer and TempRemoveIce | |
| Z = DummyFrozen | |
| M = Employee | |
| P = SleepingDragon | |
| D = Dragon:right | |
| N = Dragon:left | |
| H = HotRock:Inactive | |
| J = HotRock:Active | |
| E = egg:inactive | |
| f = egg:active | |
| C = CustomerFreezing | |
| R = CustomerRare | |
| U = CustomerBurned | |
| G = DraconicCustomerFreezing | |
| k = DraconicCustomerRare | |
| L = DraconicCustomerBurned | |
| x = Revive | |
| @ = Fan | |
| b = breakablewall | |
| i = ice | |
| s = sword:right | |
| q = LevelExit | |
| y = LevelExitFreeze | |
| } = TempBreatheFireMessage | |
| Dragon = Dragon:directions | |
| DragonFire = DragonFire:directions | |
| Wind = Wind:directions | |
| HotRock = HotRock:ActiveStatus | |
| Egg = Egg:ActiveStatus | |
| AdventurerFreezing = AdventurerFreezing:Count | |
| SteamBackground = SteamBackground:Count | |
| SteamForeground = SteamForeground:Count | |
| Sword = Sword:directions | |
| Customer = CustomerFreezing or CustomerRare or CustomerBurned | |
| DraconicCustomer = DraconicCustomerFreezing or DraconicCustomerRare or DraconicCustomerBurned | |
| EmployeePushable = CustomerFreezing or CustomerRare or DraconicCustomerFreezing or DraconicCustomerRare or Ice or SleepingDragon or Revive | |
| GenericCustomerRare = CustomerRare or DraconicCustomerRare | |
| Player = Dragon:directions or Adventurer or Employee | |
| BlocksDragonFire = Dragon or Wall or Wall2 or HotRock or ice | |
| BlocksSword = Wall or HotRock or Fence | |
| ========= | |
| MAPPINGS | |
| ========= | |
| Count => PlusOne | |
| 0 1 2 3 4 5 -> 1 2 3 4 5 5 | |
| ======= | |
| SOUNDS | |
| ======= | |
| DragonFire create 39437402 | |
| Wind create 16137609 | |
| BrokenEgg create 80529904 (36965907) | |
| sfx0 29250504 (can't move when frozen) | |
| sfx1 42166404 (burn customer) | |
| sfx2 66347708 (revive) | |
| sfx3 52379909 (warm up) | |
| Water create 42954608 | |
| Adventurer destroy 2499004 | |
| Revive destroy 73706804 | |
| SleepingDragon destroy 12592205 | |
| EmployeePushable move 33149107 | |
| EndLevel 5771609 | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| Background2 | |
| water | |
| SteamBackground:Count | |
| LevelExit, LevelExitFreeze | |
| CustomerBurned, DraconicCustomerBurned | |
| Dragon, SleepingDragon, Adventurer, Employee, Wall, Wall2, Fence, LetterS, LetterA, LetterU, LetterN, BreakableWall, ice, HotRock, Egg, sword, CustomerFreezing, CustomerRare, DraconicCustomerFreezing, DraconicCustomerRare, Fan, Revive, DummyFrozen, DummyThawed | |
| AdventurerFreezing:Count | |
| BrokenEgg | |
| DragonTail:directions | |
| DragonFire:directions Wind:Directions | |
| SteamForeground:Count | |
| TempRemoveIce | |
| TempSwordCheck | |
| TempBreatheFireMessage | |
| TempRevive | |
| ====== | |
| RULES | |
| ====== | |
| [ Wall2 ] [ no Background2 ] -> [ Wall2 ] [ Background2 ] | |
| [ > Adventurer AdventurerFreezing:5 ] -> [ stationary Adventurer AdventurerFreezing:5 ] sfx0 (adventurer can't move if frozen) | |
| [ > Adventurer | HotRock ] -> [ > Adventurer | > HotRock ] (adventurer pushes hotrocks?) | |
| (adventurer's sword movement - janky?) | |
| [ > Adventurer | Sword ] -> [ > Adventurer | > Sword:> ] | |
| [ < Adventurer | Sword ] -> [ < Adventurer | < Sword:> ] | |
| [ ^ Adventurer | Sword ] -> [ ^ Adventurer ^ TempSwordCheck | Sword ^ TempSwordCheck ] | |
| [ v Adventurer | Sword ] -> [ v Adventurer v TempSwordCheck | Sword v TempSwordCheck ] | |
| [ > TempSwordCheck | ] -> [ | stationary TempSwordCheck ] | |
| [ TempSwordCheck BlocksSword ] -> cancel sfx0 | |
| [ Sword ][ Adventurer | TempSwordCheck ] -> [ ][ stationary Adventurer | sword:> ] | |
| [ TempSwordCheck ] -> [] | |
| [ action Adventurer ] -> [ stationary Adventurer ] (action does nothing for adventurer) | |
| [ Dragon ][ Adventurer no AdventurerFreezing:5 ] -> [ stationary Dragon ][ Adventurer no AdventurerFreezing:5 ] (Dragon doesn't move when adventurer unfrozen) | |
| ( Dragon looks in the direction you press, or moves in that direction if already facing there. Code added by Patrick. ) | |
| [ up Dragon:up ] -> [ up Dragon:up ] | |
| [ up Dragon:down ] -> [ Dragon:up ] | |
| [ up Dragon:right ] -> [ Dragon:up ] | |
| [ up Dragon:left ] -> [ Dragon:up ] | |
| [ down Dragon:up ] -> [ Dragon:down ] | |
| [ down Dragon:down ] -> [ down Dragon:down ] | |
| [ down Dragon:right ] -> [ Dragon:down ] | |
| [ down Dragon:left ] -> [ Dragon:down ] | |
| [ right Dragon:up ] -> [ Dragon:right ] | |
| [ right Dragon:down ] -> [ Dragon:right ] | |
| [ right Dragon:right ] -> [ right Dragon:right ] | |
| [ right Dragon:left ] -> [ Dragon:right ] | |
| [ left Dragon:up ] -> [ Dragon:left ] | |
| [ left Dragon:down ] -> [ Dragon:left ] | |
| [ left Dragon:right ] -> [ Dragon:left ] | |
| [ left Dragon:left ] -> [ left Dragon:left ] | |
| ( Commented out by patrick ) | |
| ([ > Dragon:directions | ] -> [ > Dragon:> | ]) | |
| (Dragon Breathes Fire in a line) | |
| [DragonFire] -> [] | |
| [Wind] -> [] | |
| [ action Dragon:> | Fan ] -> [ Dragon:> | Fan Wind:> ] again | |
| [ action Dragon:> | no Fan ] -> [ Dragon:> | DragonFire:> ] again | |
| [ DragonFire:> Ice ] -> [ Water ] ( Special case for facing into ice ) | |
| [ DragonFire:> BlocksDragonFire ] -> [ BlocksDragonFire ] ( this line dded by patrick for when you face the wall and press Action ) | |
| [ DragonFire:> no BlocksDragonFire | no DragonFire no BlocksDragonFire ] -> [ DragonFire:> | DragonFire:> ] | |
| [ Wind:> no BlocksDragonFire | no Wind no BlocksDragonFire ] -> [ Wind:> | Wind:> ] | |
| [ DragonFire HotRock:Inactive ] -> [ DragonFire HotRock:Active ] | |
| [ DragonFire:> | HotRock:Inactive ] -> [ DragonFire:> | HotRock:Active ] | |
| ( | |
| [ DragonFire Ice ] -> [ DragonFire Water ] | |
| [ DragonFire:> | Ice ] -> [ DragonFire:> | Water ] | |
| ) | |
| [ DragonFire BreakableWall ] -> [ DragonFire ] | |
| [ DragonFire:> | BreakableWall ] -> [ DragonFire:> | ] | |
| [ DragonFire egg:Inactive ] -> [ DragonFire BrokenEgg ] (inactive egg is destroyed by fire) | |
| [ DragonFire Adventurer ] -> [ DragonFire ] (destroy adventurer) | |
| (eggs are active if next to heat source) | |
| late [ Egg ] -> [ Egg:Inactive ] | |
| late [ Egg | HotRock:Active ] -> [ Egg:Active | HotRock:Active ] | |
| (customers are warmed or burned by dragon breath) | |
| late [ CustomerFreezing DragonFire ] -> [ CustomerBurned DragonFire ] sfx1 | |
| late [ CustomerRare DragonFire ] -> [ CustomerBurned DragonFire ] sfx1 | |
| (late [ CustomerRare | DragonFire ] -> [ CustomerBurned | DragonFire ]) | |
| late [ CustomerFreezing | DragonFire ] -> [ CustomerRare | DragonFire ] sfx3 | |
| late [ DraconicCustomerFreezing DragonFire ] -> [ DraconicCustomerBurned DragonFire ] sfx1 | |
| late [ DraconicCustomerFreezing | DragonFire ] -> [ DraconicCustomerRare | DragonFire ] sfx3 | |
| late [ DummyFrozen DragonFire ] -> [ CustomerBurned DragonFire ] sfx1 | |
| late [ DummyFrozen | DragonFire ] -> [ DummyThawed | DragonFire ] sfx3 win | |
| (ice melts by dragon breath) | |
| late [ Ice DragonFire ] -> [ Water DragonFire ] | |
| late [ Ice | DragonFire ] -> [ Water | DragonFire ] | |
| (dragon revives people) | |
| late [ SteamBackground:5 ] -> [] | |
| late [ SteamBackground:4 ] -> [ SteamBackground:5 ] (steam animation) | |
| late [ SteamBackground:3 ] -> [ SteamBackground:4 ] | |
| late [ SteamBackground:2 ] -> [ SteamBackground:3 ] | |
| late [ SteamBackground:1 ] -> [ SteamBackground:2 ] | |
| late [ SteamBackground:0 ] -> [ SteamBackground:1 ] | |
| late [ SteamForeground:5 ] -> [] | |
| late [ SteamForeground:4 ] -> [ SteamForeground:5 ] | |
| late [ SteamForeground:3 ] -> [ SteamForeground:4 ] | |
| late [ SteamForeground:2 ] -> [ SteamForeground:3 ] | |
| late [ SteamForeground:1 ] -> [ SteamForeground:2 ] | |
| late [ SteamForeground:0 ] -> [ SteamForeground:1 ] | |
| late [ DragonFire Revive ] -> [ DragonFire Revive TempRevive ] sfx2 | |
| late [ TempRevive | no TempRevive no Wall no ice ] -> [ TempRevive | TempRevive ] (spread revive in an area) | |
| late [ TempRevive CustomerBurned ] -> [ TempRevive CustomerFreezing ] | |
| late [ TempRevive DraconicCustomerBurned ] -> [ TempRevive DraconicCustomerFreezing ] | |
| late [TempRevive Revive ] -> [TempRevive Revive SteamBackground:2 SteamForeground:2] (spawn steam graphics) | |
| late [TempRevive | Revive ] -> [TempRevive SteamBackground:1 SteamForeground:1 | Revive] | |
| late [TempRevive] -> [TempRevive SteamBackground:0 SteamForeground:0] | |
| late [ DragonFire Revive TempRevive ] -> [] | |
| late [ TempRevive ] -> [] | |
| (wind pushes people) | |
| [ Customer Wind:> ] -> [ > Customer Wind:> ] | |
| [ DraconicCustomer Wind:> ] -> [ > DraconicCustomer Wind:> ] | |
| (employee pushes things) | |
| [ > Employee | EmployeePushable ] -> [ > Employee | > EmployeePushable ] | |
| [ > EmployeePushable | EmployeePushable ] -> [ > EmployeePushable | > EmployeePushable ] | |
| (employee relaxes) | |
| [ action Employee ] [ SleepingDragon ] -> [ CustomerFreezing ] [ Dragon:right ] | |
| (player freezes if away from heat) | |
| [ > Adventurer no AdventurerFreezing ] -> [ > Adventurer AdventurerFreezing:0 ] | |
| late Count [ AdventurerFreezing:Count no Adventurer][ Adventurer ] -> [ ][ AdventurerFreezing:PlusOne Adventurer ] | |
| late [ AdventurerFreezing ][ Adventurer | HotRock:Active ] -> [ ][ Adventurer | HotRock:Active ] sfx3 | |
| late [ TempRemoveIce ][AdventurerFreezing] -> [][] | |
| late [ TempRemoveIce ] -> [] | |
| late [AdventurerFreezing no Adventurer ] -> [] | |
| (aesthetics) | |
| late [ DragonTail:directions ] -> [] | |
| late [ | Dragon:> ] -> [ DragonTail:> | Dragon:> ] | |
| right [ LetterS | no LetterA | | | ] -> [ LetterS | LetterA | LetterU | LetterN | LetterA ] | |
| [ right Player LevelExit ] -> [] win (temp/only certain levels?) | |
| late [ Player LevelExitFreeze AdventurerFreezing:5 ] -> win (janky condition for level where you have to freeze) | |
| [ moving Dragon ][ TempBreatheFireMessage ] -> message Press X to breathe fire | |
| [ moving Dragon ][ TempBreatheFireMessage ] -> [moving Dragon][] | |
| (ideas: | |
| Dragon sauna could be cute - you play a dragon with a breath attack, don’t burn animals (maybe burn some?). Maybe you need to warm up to get access to breath attack, win condition starts with you just warming self up, then guests and self with sokoban, then breath attack. Breath + ice = water? Breath + water = steam? (puzzle = breathe from different directions). Ice enemies you kill? Heat up rocks adjacent to water? Push hot rocks around? Sliding on ice? Leave the sauna and explore icy wilderness? Funny setup at start with adventurer encountering dragon in a cave and it’s actually a sauna? (Could do switch up where protagonist switches from adventurer to dragon). | |
| Puzzle = order in which you heat animals/stones? animal could change states after heating to make it easier to get around them. (Heat egg up indirectly makes it immune to dragon fire?) | |
| Is the sauna for adventurers or other monsters or animals? | |
| Reflective animal for breath attack? | |
| With player exploring at the start, could have timed aspect where player must be adjacent to warm rocks so as to not freeze (5 step Steve style). Push hot rocks around, traverse to dragon cave. Unfreeze dragon? Is it funnier if player is killed by dragon like in Mortar? Or dragon slayer accidentally allies with dragon to avoid freezing? Human could cut meat with sword, dragon could cook it. | |
| Could have multistep puzzle - adventurer moves things around to set up, then dragon moves and breathes fire. | |
| Warm up dragon eggs? | |
| Adventurer hatches dragon egg = control switches? | |
| Adventurer has drod sword, makes warming self harder - dragon could warm sword? | |
| What if adventurer moves whenever not frozen, dragon moves whenever frozen? So can switch back and forth | |
| In the start, adventurer freezes before they stab dragon, and you start to control dragon? Maybe funny if dragon kills adventurer at start, then they work together in later levels at some point | |
| ) | |
| ============== | |
| WINCONDITIONS | |
| ============== | |
| no DragonFire | |
| no CustomerBurned | |
| no DraconicCustomerBurned | |
| no CustomerFreezing | |
| no DraconicCustomerFreezing | |
| Any GenericCustomerRare | |
| ======= | |
| LEVELS | |
| ======= | |
| message KNIGHT: At last, my righteous quest is almost complete! I've only to brave the cold and slay the wicked dragon. | |
| ....&&&&&&& | |
| ....&j&&&&& | |
| .......&&&& | |
| ..........q | |
| .a........q | |
| ........j&& | |
| ..&j....&&& | |
| .&&&&&&&&&& | |
| &&&&&&&&&& | |
| &&&j&&&&&& | |
| .....&&&&& | |
| a.....&&&& | |
| &&....j&&& | |
| &&&&..&&&& | |
| &&&...&&&& | |
| &&&......q | |
| &&&j&....& | |
| &&&&&&&j&& | |
| &&&&&&&&&& | |
| &&&&&&&&&& | |
| &&&&&&&&&& | |
| &&&..j&&&& | |
| .........q | |
| a.....&&&& | |
| &.....&&&& | |
| &j.....&&& | |
| &&&....j&& | |
| &&&j&&&&&& | |
| &&&&&&&&&& | |
| &&&&&&&& | |
| ......j& | |
| a.....&& | |
| &j&....& | |
| &&&yyyy& | |
| &&&&yyy& | |
| &&&&yyy& | |
| &&&&yyy& | |
| message KNIGHT: Oh no, I'm freezing! This is the end of me... | |
| message [ 1 year later ] | |
| message DRAGON: Breathing fire by pressing X is great for clearing out my cave once in a while. | |
| (message DRAGON: Oh, a creature trapped in the ice?) | |
| &&&&&&&&&&&iiii | |
| &&&&&&&&&&&izii | |
| &&&&&&&&&&&iiii | |
| &&&iii&&&&&iiii | |
| iiiiiii&&&&%&&& | |
| iiiiiiiiiiii&&& | |
| .iiiiiiiiiii&&& | |
| .i.iiii.ii&&&&& | |
| ....iii.ii&&&&& | |
| .d..i.i..ii&&&& | |
| .........ii&&&& | |
| message KNIGHT: Thank you for saving me! Now I can get on with my goal of ... um, actually, never mind. | |
| message DRAGON: This gives me a business idea... | |
| message [ 1 year later ] | |
| message DRAGON: Welcome to Red Dragon Sanua! | |
| (message "We cook you to rare, but not well-done!") (do we need to state this outright?) | |
| #$....# | |
| ####### | |
| ##...## | |
| ##.d.## | |
| ##...## | |
| ##%%%## | |
| #c...c# | |
| #c...c# | |
| #c...c# | |
| ####### | |
| ########### | |
| #.........# | |
| #ccc...cc.# | |
| #ccc.d.cc.# | |
| #......cc.# | |
| ########### | |
| ####### | |
| #ccccc# | |
| #.....# | |
| #..d..# | |
| #.....# | |
| #ccccc# | |
| ####### | |
| ######### | |
| #......n# | |
| #..ccc..# | |
| #..c.cc.# | |
| #..c....# | |
| #.c.....# | |
| #......c# | |
| ######### (GOOD) | |
| ######## | |
| ##iiiic# | |
| ##ciiii# | |
| ####icc# | |
| #d.iiic# | |
| #.iiiii# | |
| ######## | |
| ######### | |
| ###c##### | |
| #c.i..ic# | |
| #.....i.# | |
| #...d...# | |
| #i.....i# | |
| #ici...c# | |
| #####c### | |
| ######### | |
| ############ | |
| ###c######## | |
| #r....i.r### | |
| ###i.....### | |
| ###......c## | |
| ###......### | |
| ##c.i...i.r# | |
| ###.....c### | |
| #d.i...c#### | |
| ###r...##### | |
| ######r##### | |
| ############ | |
| message [ 1 year later ] | |
| message DRAGON: Now catering to some of my peers! | |
| ####### | |
| ##...## | |
| ##.d.## | |
| ##...## | |
| ##%%%## | |
| #g...g# | |
| #g...g# | |
| #g...g# | |
| ####### | |
| ######### | |
| ##.....## | |
| ##..d..## | |
| ##.....## | |
| ##%%%%%## | |
| ##.....## | |
| #g...ggg# | |
| #g...ggg# | |
| #g...ggg# | |
| ##.....## | |
| ##kkkkk## | |
| ######### | |
| ######## | |
| #..g...# | |
| #.g...g# | |
| #g....g# | |
| #..d.g.# | |
| #.....g# | |
| ######## | |
| ( | |
| ########## | |
| #ggg.##gg# | |
| #g......g# | |
| #g....n.g# | |
| #g......g# | |
| #gggggggg# | |
| ########## (keep or not?) | |
| ) | |
| ( | |
| ######### | |
| #.g..g.g# | |
| #..g..g.# | |
| #g......# | |
| #..gg.gg# | |
| #d....g.# | |
| #..g.g.g# | |
| #.g...g.# | |
| ######### (keep or not?) | |
| ) | |
| ########## | |
| #........# | |
| #.gggggg.# | |
| #.gggggg.# | |
| #.gggcgg.# | |
| #.gg##gg.# | |
| #.#ggggg.# | |
| #.gggggc.# | |
| #d.......# | |
| ########## | |
| ######### | |
| #.gg...c# | |
| #g..c...# | |
| #.......# | |
| #d...c..# | |
| #..gggg.# | |
| ##c..g..# | |
| ##.c...c# | |
| ######### | |
| ( | |
| ######### | |
| #.gg.ggc# | |
| #g.gc..g# | |
| #.......# | |
| #d...cg.# | |
| #..gggg.# | |
| #.g..g..# | |
| #c.c...c# | |
| ######### | |
| ) | |
| ########### | |
| #rrrrrrrrr# | |
| #r.ii...nr# | |
| #rg...g.gr# | |
| #r.g....ir# | |
| #rg....g.r# | |
| #rggg.g.gr# | |
| #r.i...i.r# | |
| #rrrrrrrrr# | |
| ########### | |
| ( | |
| ############### | |
| ####rrrrrrr#### | |
| ####.......#### | |
| ####%%%%%%%#### | |
| #r.%.ii...n%.r# | |
| #r.%g...g.g%.r# | |
| #r.%.g....i%.r# | |
| #r.%g....g.%.r# | |
| #r.%ggg.g.g%.r# | |
| #r.%.i...i.%.r# | |
| ####%%%%%%%#### | |
| ####.......#### | |
| ####rrrrrrr#### | |
| ############### | |
| ) | |
| ( | |
| ########### | |
| ##rrrrrrr## | |
| #r.ii...nr# | |
| #rg...g..r# | |
| #r.g.g..ir# | |
| #rg....g.r# | |
| #r.gg.g.gr# | |
| #r.i...i.r# | |
| ##rrrrrrr## | |
| ########### | |
| ) | |
| message [ 1 year later ] | |
| message DRAGON: Introducing our all new revitalizing steam treatment! | |
| ######### | |
| #c.c#c.c# | |
| #...#...# | |
| #...c...# | |
| #d..c...# | |
| #...c...# | |
| #####...# | |
| #####.x.# | |
| ######### | |
| ( | |
| ######### | |
| ##c...cc# | |
| ##....cc# | |
| #c..n.c## | |
| ##....c## | |
| ##.c.c.## | |
| ##c....x# | |
| ######### (split into two levels) | |
| ) | |
| ######## | |
| ##c##### | |
| ##.c.x## | |
| ##...### | |
| #c.n.### | |
| ##...#c# | |
| ##c..c.# | |
| ######## | |
| ###### | |
| #d.cc# | |
| #..cc# | |
| #..c## | |
| #..c## | |
| #.c.## | |
| #...x# | |
| ###### | |
| ############ | |
| #d..%..c..## | |
| #...c..%...# | |
| #...%..#..x# | |
| #%c%%%c%...# | |
| #...%..%...# | |
| #...c..%...# | |
| #...%..###.# | |
| ##..c..c...# | |
| ############ | |
| (TODO: easier draconic customer + revives level ) | |
| ############# | |
| ##.......g.## | |
| ##.%%%%%%%.## | |
| #dg%.#g#.%.x# | |
| ##.%.g.%.%.## | |
| ##.%.%%g.%.## | |
| ##.%g...%%g## | |
| ##.%%%%%%%.## | |
| ##.........## | |
| ############# (tricky but good?) | |
| ( | |
| ############ | |
| #x.......### | |
| #..%%%%%%### | |
| #..gggggg%.# | |
| #..g.gggg%.# | |
| ###gggggg%g# | |
| ###gggggg%.# | |
| ###ggg.gg..# | |
| ###gggggg..# | |
| ###%%%%%%..# | |
| ###....g..n# | |
| ############ | |
| ) | |
| ############# | |
| #...........# | |
| #.ccccccccc.# | |
| #.ccccccccc.# | |
| #.ccccccccc.# | |
| #.ccccccccc.# | |
| #.ccccccccc.# | |
| #.ccccccccc.# | |
| #...........# | |
| #x....d....x# | |
| ############# | |
| (IDEA: level with multiple revives) | |
| (IDEA: level where you avoid reviving until the end (lots of revives all over)?) | |
| message KNIGHT: Excuse me, oh mighty dragon, might I trouble you for some heat? | |
| message KNIGHT: I shall press X to undress once I've found the perfect spot. | |
| ######## | |
| ##.....# | |
| ##.P...# | |
| ##.....# | |
| #####%## | |
| #m..#.## | |
| #...#.## | |
| #.....## | |
| ######## | |
| message DRAGON: In exchange for my benevolence, aid me in the operation of my business! | |
| ############ | |
| #......##### | |
| #..P...##### | |
| #......##### | |
| ##%##%###### | |
| ##...c.#.m.# | |
| ##...c.#...# | |
| ##......cc.# | |
| ############ | |
| ######### | |
| #.g..%..# | |
| #gg..%..# | |
| #.g..%..# | |
| #g..m%.p# | |
| #gg..%..# | |
| #gg..%..# | |
| #.g..%..# | |
| ######### | |
| ( | |
| ########### | |
| ###..c.%..# | |
| #c.ii..%..# | |
| #g.....%..# | |
| #g....%%..# | |
| #.g.m.g%.p# | |
| #.g...%%..# | |
| #g.....%..# | |
| #c.....%..# | |
| ###c...%..# | |
| ########### | |
| ) | |
| ################# | |
| ##r..############ | |
| ##...############ | |
| #c...#....####### | |
| ##.....p..####### | |
| ##r..#....###c### | |
| ###..#r........r# | |
| ###..######.##### | |
| ###..######.##### | |
| #m.i.######..#### | |
| ###..######i.#### | |
| ###########..#### | |
| ################# | |
| ############## | |
| ###.r.%p....## | |
| #.....###%%%## | |
| #.c.x.#......# | |
| #.....#..i.m.# | |
| ###.###......# | |
| ###........cc# | |
| ###..g.g.g.cc# | |
| ############## ( a possible final level, with the "recap everything" idea. ) | |
| ( more levels here, including a final level ) | |
| ( Challenge levels? ) | |
| message KNIGHT: And thus ends our storied tale of bitter foes turned business partners! | |
| message DRAGON: ... | |
| message DRAGON: ... Foes you say? | |
| message The end. | |
| ( old intro levels ) | |
| ( | |
| ....#### | |
| ....#j## | |
| .......# | |
| .......q | |
| .a.....q | |
| .......q | |
| ..#j...# | |
| .####### | |
| ###j###### | |
| .....h#### | |
| a.....#### | |
| ......j### | |
| #h##..#### | |
| ###...##.q | |
| ###......q | |
| ###j#....# | |
| ######hj## | |
| ########## | |
| ########## | |
| ####.j...# | |
| .......#.q | |
| a.....##.q | |
| #.....#### | |
| #j.......# | |
| ###....j.# | |
| ###j###### | |
| ########## | |
| ) | |
| ( | |
| message sandbox levels (not necessarily solvable) | |
| #####qq#### | |
| #####..#### | |
| ####...#### | |
| #........## | |
| ........}.# | |
| as.....}n}# | |
| #.......}.# | |
| ###......## | |
| ########### | |
| ########### | |
| ############ ( test level ) | |
| #...ccc....# | |
| #..........# | |
| #.....#.c..# | |
| #.n...#....# | |
| #.......#..# | |
| #..........# | |
| ############ | |
| ############ (WIP) | |
| ######ehe.## | |
| ##eh##..e.## | |
| ##..#h..he## | |
| ##..#e....## | |
| ##he.....e## | |
| #he..d...he# | |
| #......e...# | |
| #.....eh...# | |
| ############ (warm up eggs with indirect heat) | |
| ..$....... | |
| ########## | |
| #.d.....c# | |
| #.......c# | |
| #.......c# | |
| #.......c# | |
| #.......c# | |
| #.......c# | |
| #cccccccc# | |
| ########## | |
| ####.......... | |
| #........e.j.. | |
| #eh...eh.h.... | |
| #............. | |
| #...d..eh.e... | |
| #............. | |
| #....e.he.he.. | |
| #..f...e...... | |
| #..jf......... | |
| ############ | |
| #...ccc....# | |
| #..c....g..# | |
| #....g..c..# | |
| #.n...g....# | |
| #...g....g.# | |
| #.....c....# | |
| ############ | |
| ########### | |
| #iii###icc# | |
| #iiiiiiicc# | |
| #...###...# | |
| #.d.###...# | |
| #...###.x.# | |
| ########### | |
| ########### | |
| ####ccc#### | |
| ##c.....c## | |
| #c...d...c# | |
| ##...x...## | |
| ########### | |
| ########### | |
| ########### | |
| #..e.##...q | |
| ...e.##...q | |
| d..#..##e## | |
| ####..e...# | |
| ####..#...# | |
| ########### | |
| ( | |
| message [ 1 year later ] | |
| message These fans help me push around oblivious customers. | |
| message Press X while facing into a fan. | |
| ####### | |
| #d...c# | |
| #[email protected].# | |
| #.....# | |
| ##.#### | |
| ##c#### | |
| ##.#### | |
| #.c.### | |
| #...### | |
| #.c.### | |
| #...### | |
| ####### | |
| ######### | |
| ###.....# | |
| ###.@@@.# | |
| #..d....# | |
| #[email protected].# | |
| #[email protected].# | |
| #[email protected].# | |
| #.......# | |
| ######### | |
| ############ | |
| #r........r# | |
| #[email protected]# | |
| #[email protected]# | |
| #r......n.r# | |
| ############) | |
| ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment