Last active
June 29, 2025 06:29
-
-
Save patrickgh3/858ede6d30ab17e8b3b11869239c7f80 to your computer and use it in GitHub Desktop.
Red Dragon Saunas (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 Saunas | |
| author Toombler and Patrick Traynor | |
| homepage www.puzzlescript.net | |
| run_rules_on_level_start | |
| realtime_interval 0.13 | |
| ==== | |
| 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 | |
| .000. | |
| 00000 | |
| 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. | |
| 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. | |
| 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 | |
| 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 | |
| } = 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 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 74972008 | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| Background2 | |
| water | |
| SteamBackground:Count | |
| LevelExit | |
| CustomerBurned, DraconicCustomerBurned | |
| Dragon, SleepingDragon, Adventurer, Employee, Wall, Wall2, Fence, LetterS, LetterA, LetterU, LetterN, BreakableWall, ice, HotRock, Egg, sword, CustomerFreezing, CustomerRare, DraconicCustomerFreezing, DraconicCustomerRare, Fan, Revive | |
| 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 | |
| (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 [ 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) | |
| late Count [ AdventurerFreezing:Count no Adventurer][ Adventurer ] -> [ ][ AdventurerFreezing:PlusOne Adventurer ] | |
| late [ Adventurer no AdventurerFreezing ] -> [ Adventurer AdventurerFreezing:1 ] | |
| late [ AdventurerFreezing ][ Adventurer | HotRock:Active ] -> [ ][ Adventurer | HotRock:Active ] | |
| 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?) | |
| [ 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 | |
| ( | |
| (allowing some broken eggs is more interesting probably - which ones/how many?) | |
| no BrokenEgg (temp win condition) | |
| no Egg:Inactive (temp win condition) | |
| no DragonFire | |
| no LevelExit | |
| ) | |
| ======= | |
| LEVELS | |
| ======= | |
| message KNIGHT: Ah, I can press X to undress once I found the perfect spot. | |
| ######## | |
| ##.....# | |
| ##.P...# | |
| ##.....# | |
| #####%## | |
| #m..#.## | |
| #...#.## | |
| #.....## | |
| ######## | |
| message DRAGON: Could you help me out here? | |
| message KNIGHT: Sure thing, as long as you give me a nice tan. | |
| ############ | |
| #......##### | |
| #..P...##### | |
| #......##### | |
| ##%##%###### | |
| ##...c.#.m.# | |
| ##...c.#...# | |
| ##......cc.# | |
| ############ | |
| (temp message) | |
| 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## | |
| .......# | |
| .......q | |
| .a.....q | |
| .......q | |
| ..#j...# | |
| .####### (graphics not cold enough?) | |
| ) | |
| &&&&&&&&&& | |
| &&&j&&&&&& | |
| .....&&&&& | |
| a.....&&&& | |
| &&....j&&& | |
| &&&&..&&&& | |
| &&&...&&&& | |
| &&&......q | |
| &&&j&....& | |
| &&&&&&&j&& | |
| &&&&&&&&&& | |
| ( | |
| ###j###### | |
| .....h#### | |
| a.....#### | |
| ......j### | |
| #h##..#### | |
| ###...##.q | |
| ###......q | |
| ###j#....# | |
| ######hj## | |
| ) | |
| &&&&&&&&&& | |
| &&&&&&&&&& | |
| &&&..j&&&& | |
| .........q | |
| a.....&&&& | |
| &.....&&&& | |
| &j.....&&& | |
| &&&....j&& | |
| &&&j&&&&&& | |
| &&&&&&&&&& | |
| ( | |
| ########## | |
| ########## | |
| ####.j...# | |
| .......#.q | |
| a.....##.q | |
| #.....#### | |
| #j.......# | |
| ###....j.# | |
| ###j###### | |
| ########## | |
| ) | |
| (TODO: cinematic level where knight gets frozen, to be unfrozen by dragon later) | |
| 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 | |
| ###########icii | |
| ###########iiii | |
| ###########iiii | |
| ###########%### | |
| iiiiiiiiiiii### | |
| .iiiiiiiiiii### | |
| .i.iiii.ii##### | |
| ....iii.ii##### | |
| .d..i.i..i##### | |
| .........i##### | |
| 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 Sanuas! | |
| (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######## | |
| ############ (simplified) | |
| (e | |
| ...$....... | |
| ########### | |
| ###c####### | |
| #r...i.r### | |
| ###i....### | |
| ###.....c## | |
| ##c.i..i.r# | |
| ###...cc### | |
| #d.i..c#### | |
| ###c..##### | |
| #####r##### | |
| ########### (too big?) | |
| ) | |
| message [ 1 year later ] | |
| message DRAGON: Now catering to some of my peers! | |
| ..$...... | |
| ######### | |
| ##.....## | |
| ##..d..## | |
| ##.....## | |
| ##%%%%%## | |
| ##.....## | |
| #g...ggg# | |
| ##.....## | |
| ##kkkkk## | |
| ######### | |
| #$....# | |
| ####### | |
| #..g..# | |
| #.g...# | |
| #g...n# | |
| #.....# | |
| ####### (redundant?) | |
| #$....# | |
| ####### | |
| #.g...# | |
| #g...g# | |
| #g.d.g# | |
| #...g.# | |
| #....g# | |
| ####### | |
| ###$....## | |
| ########## | |
| #ggg.##gg# | |
| #g......g# | |
| #g....n.g# | |
| #g......g# | |
| #gggggggg# | |
| ########## | |
| ###$....### | |
| ########### | |
| #.........# | |
| #.ggggggg.# | |
| #.ggggggg.# | |
| #.ggggcgg.# | |
| #.ggg##gg.# | |
| #.g#ggggg.# | |
| #.gcggggc.# | |
| #.ggggggg.# | |
| #d........# | |
| ########### | |
| message DRAGON: Introducing our all new revitalizing steam treatment! | |
| ..$...... | |
| ######### | |
| #c.c#c.c# | |
| #...#...# | |
| #...c...# | |
| #d..c...# | |
| #...c...# | |
| #####...# | |
| #####.x.# | |
| ######### | |
| ( | |
| ..$...... | |
| ######### | |
| #c.c##### | |
| #...#.x.# | |
| #...c...# | |
| #d..c...# | |
| #...c..c# | |
| ######### | |
| ) | |
| ( | |
| ..$...... | |
| ######### | |
| ##c.#...# | |
| ###.g...# | |
| #...#...# | |
| #d..#..x# | |
| #...#c..# | |
| ######### (WIP - dragon customer impassable if warmed)) | |
| (TODO: level where you kill customers to get past them - only some though, because they come back frozen) | |
| (TODO: level where you kill a lot and revive at the end) | |
| (TODO: level where you don't want to heat dragon customer because you want to destroy and revive them) | |
| (TODO: level about area of effect of revival steam - in region?) | |
| message KNIGHT: Ah, I can press X to undress once I found the perfect spot. | |
| ######## | |
| ##.....# | |
| ##.P...# | |
| ##.....# | |
| #####%## | |
| #m..#.## | |
| #...#.## | |
| #.....## | |
| ######## | |
| message DRAGON: Could you help me out here? | |
| message KNIGHT: Sure thing, as long as you give me a nice tan. | |
| ############ | |
| #......##### | |
| #..P...##### | |
| #......##### | |
| ##%##%###### | |
| ##...c.#.m.# | |
| ##...c.#...# | |
| ##......cc.# | |
| ############ | |
| ( more levels here, including a final level ) | |
| ( Challenge levels? ) | |
| message The end! | |
| ( | |
| message [ 1 year later ] | |
| message These fans help me push around oblivious customers. | |
| message Press X while facing into a fan. | |
| ####### | |
| #d...c# | |
| #.@.c.# | |
| #.....# | |
| ##.#### | |
| ##c#### | |
| ##.#### | |
| #.c.### | |
| #...### | |
| #.c.### | |
| #...### | |
| ####### | |
| ######### | |
| ###.....# | |
| ###.@@@.# | |
| #..d....# | |
| #.@.ccc.# | |
| #.@.ccc.# | |
| #.@.ccc.# | |
| #.......# | |
| ######### | |
| ############ | |
| #r........r# | |
| #rc.c.c@..r# | |
| #r.c.cc@..r# | |
| #r......n.r# | |
| ############) | |
| 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...## | |
| ########### | |
| ####.. | |
| #.c#.. | |
| #..### | |
| #.d..# | |
| #..c.# | |
| #..### | |
| ####.. | |
| ########### | |
| ########### | |
| #..e.##...q | |
| ...e.##...q | |
| d..#..##e## | |
| ####..e...# | |
| ####..#...# | |
| ########### | |
| ########### | |
| ##he.b...## | |
| ##...b...## | |
| ##...#...## | |
| ##..eh...## | |
| ##...#...## | |
| ##bbb###### | |
| #e..b###### | |
| #h..b..d.## | |
| #####...he# | |
| ########e## | |
| ########### (WIP, kinda don't like the breakable walls) | |
| ####.......... | |
| #............. | |
| #.....bbb..... | |
| #.....bbb..... | |
| #...d......... | |
| #.....iii..... | |
| #.....iii..... | |
| #............. | |
| #............e | |
| ####.......... | |
| #............. | |
| #............. | |
| #............. | |
| #...d......... | |
| #............. | |
| #............. | |
| #............. | |
| #............. | |
| ( | |
| ###### | |
| #....# | |
| #.#P.# | |
| #.*@.# | |
| #.O@.# | |
| #....# | |
| ######) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment