Last active
November 29, 2025 00:01
-
-
Save pancelor/df464ef7532f0cf7e9719751e4c71902 to your computer and use it in GitHub Desktop.
Bigger Tomato & Pumpkin Harvest (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 Bigger Tomato & Pumpkin Harvest | |
| author pancelor | |
| homepage www.puzzlescript.net | |
| ( verbose_logging ) | |
| ======== | |
| OBJECTS | |
| ======== | |
| Background | |
| #4d4dff #4b4 #ff554d #ffdf4d #aa6f6c #3d3 | |
| 11111 | |
| 11111 | |
| 11111 | |
| 15151 | |
| 55555 | |
| pumpkin0 | |
| #4dff90 #ffbf4d #ff9f5d | |
| ..000 | |
| ..000 | |
| 11110 | |
| 11110 | |
| 11221 | |
| pumpkin1 | |
| #4dff90 #ff9f5d #ffbf4d | |
| 000.. | |
| 000.. | |
| 01122 | |
| 01122 | |
| 21111 | |
| pumpkin2 | |
| #ffbf4d #ff9f5d | |
| 00110 | |
| 00111 | |
| 00111 | |
| ..111 | |
| ..111 | |
| pumpkin3 | |
| #ffbf4d #ff9f5d | |
| 01111 | |
| 11111 | |
| 11111 | |
| 111.. | |
| 111.. | |
| player0 | |
| #aa6f6c #ffdf4d | |
| ...00 | |
| ...00 | |
| ...00 | |
| ...11 | |
| ...11 | |
| player1 | |
| #aa6f6c #ffdf4d | |
| 00000 | |
| 00000 | |
| 00000 | |
| 11111 | |
| 11111 | |
| player2 | |
| #aa6f6c #ffdf4d | |
| 00... | |
| 00... | |
| 00... | |
| 11... | |
| 11... | |
| player3 | |
| #ffdf4d #ff554d #4d4dff | |
| ...00 | |
| 11111 | |
| 11111 | |
| 11111 | |
| ...22 | |
| player4 | |
| #ffdf4d #ff554d #4d4dff | |
| 00000 | |
| 11111 | |
| 11111 | |
| 11111 | |
| 22222 | |
| player5 | |
| #ffdf4d #ff554d #4d4dff | |
| 00... | |
| 11111 | |
| 11111 | |
| 11111 | |
| 22... | |
| player6 | |
| #4d4dff | |
| ...00 | |
| ...00 | |
| ...00 | |
| ...00 | |
| ...00 | |
| player7 | |
| #4d4dff | |
| 00000 | |
| 00000 | |
| 0...0 | |
| 0...0 | |
| 0...0 | |
| player8 | |
| #4d4dff | |
| 00... | |
| 00... | |
| 00... | |
| 00... | |
| 00... | |
| PlayerSmall | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 | |
| .444. | |
| .333. | |
| 22222 | |
| .000. | |
| .0.0. | |
| PlayerLU | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 | |
| ..444 | |
| ..444 | |
| ..333 | |
| ..333 | |
| 22222 | |
| PlayerLD | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 | |
| 22222 | |
| ..000 | |
| ..000 | |
| ..00. | |
| ..00. | |
| PlayerRU | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 | |
| 444.. | |
| 444.. | |
| 333.. | |
| 333.. | |
| 22222 | |
| PlayerRD | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 | |
| 22222 | |
| 000.. | |
| 000.. | |
| .00.. | |
| .00.. | |
| Tomato | |
| #4d4dff #4dff90 #ff554d #ff9f5d #aa6f6c #666680 | |
| ..... | |
| .111. | |
| 33122 | |
| 32222 | |
| .222. | |
| Pumpkin_old | |
| #4d4dff #4dff90 #ffbf4d #ff9f5d #aa6f6c #666680 | |
| .111. | |
| 22132 | |
| 23233 | |
| 23333 | |
| .333. | |
| Splat | |
| #4d4dff #4dff90 #cf757d #ffdf4d #aa6f6c #666680 | |
| ..... | |
| ..2.. | |
| 2222. | |
| .2222 | |
| ..... | |
| SplatP | |
| #4d4dff #4dff90 #dfc57d #ffdf4d #aa6f6c #666680 | |
| ..... | |
| .2.2. | |
| 22222 | |
| .22.. | |
| ..... | |
| BasketSmall | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 | |
| ..... | |
| .444. | |
| 4...4 | |
| 44444 | |
| .444. | |
| BasketLU | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| ..... | |
| ..444 | |
| .4... | |
| 4.... | |
| 66666 | |
| BasketLD | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| 64444 | |
| 64444 | |
| .6444 | |
| .6444 | |
| ..644 | |
| BasketRU | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| ..... | |
| 444.. | |
| ...4. | |
| ....4 | |
| 66664 | |
| BasketRD | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| 44444 | |
| 44444 | |
| 4444. | |
| 4444. | |
| 444.. | |
| Fence | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| ..... | |
| .4.6. | |
| 44464 | |
| .4.6. | |
| .4.6. | |
| FireBG | |
| #af050d | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| WaterBG | |
| #4d4dff | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| EnergyBG | |
| #ffbf4d | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| LeafBG | |
| #4dff90 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| N0 | |
| #4b4 | |
| 0...0 | |
| 0.0.0 | |
| 0.0.0 | |
| 0.0.0 | |
| 0...0 | |
| N1 | |
| #4b4 | |
| 00.00 | |
| 0..00 | |
| 00.00 | |
| 00.00 | |
| 0...0 | |
| N2 | |
| #4b4 | |
| 0...0 | |
| 000.0 | |
| 0...0 | |
| 0.000 | |
| 0...0 | |
| N3 | |
| #4b4 | |
| 0...0 | |
| 000.0 | |
| 00..0 | |
| 000.0 | |
| 0...0 | |
| N4 | |
| #4b4 | |
| 0.0.0 | |
| 0.0.0 | |
| 0...0 | |
| 000.0 | |
| 000.0 | |
| N5 | |
| #4b4 | |
| 0...0 | |
| 0.000 | |
| 0...0 | |
| 000.0 | |
| 0...0 | |
| N6 | |
| #4b4 | |
| 0...0 | |
| 0.000 | |
| 0...0 | |
| 0.0.0 | |
| 0...0 | |
| N7 | |
| #4b4 | |
| 0...0 | |
| 000.0 | |
| 000.0 | |
| 000.0 | |
| 000.0 | |
| N8 | |
| #4b4 | |
| 0...0 | |
| 0.0.0 | |
| 0...0 | |
| 0.0.0 | |
| 0...0 | |
| N9 | |
| #4b4 | |
| 0...0 | |
| 0.0.0 | |
| 0...0 | |
| 000.0 | |
| 0...0 | |
| Counter | |
| transparent | |
| Increase | |
| transparent | |
| Subtract | |
| transparent | |
| gotpumpkin | |
| transparent | |
| membraneL | |
| transparent | |
| membraneR | |
| transparent | |
| membraneU | |
| transparent | |
| membraneD | |
| transparent | |
| spacetest0 | |
| transparent | |
| spacetest1 | |
| transparent | |
| spacetestfail | |
| transparent | |
| HWrap | |
| #000 | |
| 00000 | |
| ..... | |
| 00000 | |
| ..... | |
| 00000 | |
| VWrap | |
| #000 | |
| 0.0.0 | |
| 0.0.0 | |
| 0.0.0 | |
| 0.0.0 | |
| 0.0.0 | |
| ======= | |
| LEGEND | |
| ======= | |
| . = Background | |
| P = PlayerSmall | |
| 0 = player0 | |
| 1 = player1 | |
| 2 = player2 | |
| 3 = player3 | |
| 4 = player4 | |
| 5 = player5 | |
| 6 = player6 | |
| 7 = player7 | |
| 8 = player8 | |
| T = Tomato | |
| F = Fence | |
| U = Pumpkin_old | |
| ┌ = pumpkin0 | |
| ┐ = pumpkin1 | |
| └ = pumpkin2 | |
| ┘ = pumpkin3 | |
| B = BasketSmall | |
| Ä = BasketLU | |
| Ü = BasketLD | |
| Ö = BasketRU | |
| ß = BasketRD | |
| □ = N0 and FireBG | |
| ─ = N0 and EnergyBG | |
| old_player = PlayerLU or PlayerLD or PlayerRU or PlayerRD | |
| old = old_player or Pumpkin_old or PlayerSmall | |
| spacetestok = spacetest0 or spacetest1 | |
| spacetest = spacetestok or spacetestfail | |
| Player = player0 or player1 or player2 or player3 or player4 or player5 or player6 or player7 or player8 | |
| PlayerHand = player3 or player5 | |
| PlayerVHand = player1 or player7 | |
| Pumpkin = pumpkin0 or pumpkin1 or pumpkin2 or pumpkin3 | |
| PumpkinL = pumpkin0 or pumpkin2 | |
| PumpkinR = pumpkin1 or pumpkin3 | |
| PumpkinU = pumpkin0 or pumpkin1 | |
| PumpkinD = pumpkin2 or pumpkin3 | |
| membrane = membraneL or membraneR or membraneU or membraneD | |
| BG = FireBG or WaterBG or LeafBG or EnergyBG | |
| Basket = BasketSmall or BasketLU or BasketLD or BasketRU or BasketRD | |
| BasketL = BasketLU or BasketLD | |
| BasketR = BasketRU or BasketRD | |
| BasketU = BasketLU or BasketRU | |
| BasketD = BasketLD or BasketRD | |
| Pushable = Basket or Tomato or Pumpkin | |
| Obstacle = Pushable or Fence or Player | |
| Object = Pushable or Player | |
| Digit = N0 or N1 or N2 or N3 or N4 or N5 or N6 or N7 or N8 or N9 | |
| NonZero = N1 or N2 or N3 or N4 or N5 or N6 or N7 or N8 or N9 | |
| ======= | |
| SOUNDS | |
| ======= | |
| sfx0 67117309 | |
| sfx1 8344300 | |
| sfx2 85402100 | |
| sfx3 86702900 | |
| sfx4 18618903 | |
| sfx5 38497104 | |
| sfx6 9025501 | |
| sfx7 54794705 | |
| sfx8 23242904 | |
| sfx9 67652304 | |
| sfx10 59027504 | |
| (sfx11 26329104) | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| HWrap | |
| VWrap | |
| BG | |
| Digit | |
| Splat | |
| SplatP | |
| Fence | |
| old | |
| Player, pushable | |
| Counter | |
| Increase | |
| Subtract | |
| membraneL | |
| membraneR | |
| membraneU | |
| membraneD | |
| gotpumpkin | |
| spacetest | |
| ====== | |
| RULES | |
| ====== | |
| (mark first digit in counter) | |
| right [digit | NO digit] -> [counter digit| ] | |
| (player can push stuff) | |
| [> Player | pushable] -> [> Player|> pushable] | |
| horizontal [ Pushable HWrap | ... | > Player HWrap] -> [ > Pushable HWrap | ... | > Player HWrap] | |
| vertical [ Pushable VWrap | ... | > Player VWrap] -> [ > Pushable VWrap | ... | > Player VWrap] | |
| RIGID [moving basket][stationary basket] -> [moving basket][moving basket] | |
| (rigid pumpkin movement) | |
| [membrane] -> [] | |
| [PumpkinL] -> [PumpkinL membraneL] | |
| [PumpkinR] -> [PumpkinR membraneR] | |
| [PumpkinU] -> [PumpkinU membraneU] | |
| [PumpkinD] -> [PumpkinD membraneD] | |
| left [moving Pumpkin no membraneL | stationary Pumpkin] -> [moving Pumpkin | moving Pumpkin] | |
| right [moving Pumpkin no membraneR | stationary Pumpkin] -> [moving Pumpkin | moving Pumpkin] | |
| up [moving Pumpkin no membraneU | stationary Pumpkin] -> [moving Pumpkin | moving Pumpkin] | |
| down [moving Pumpkin no membraneD | stationary Pumpkin] -> [moving Pumpkin | moving Pumpkin] | |
| ( | |
| down [moving pumpkin0 | stationary pumpkin2] -> [moving pumpkin0 | moving pumpkin2] | |
| down [stationary pumpkin0 | moving pumpkin2] -> [moving pumpkin0 | moving pumpkin2] | |
| down [moving pumpkin1 | stationary pumpkin3] -> [moving pumpkin1 | moving pumpkin3] | |
| down [stationary pumpkin1 | moving pumpkin3] -> [moving pumpkin1 | moving pumpkin3] | |
| right [moving pumpkin0 | stationary pumpkin1] -> [moving pumpkin0 | moving pumpkin1] | |
| right [stationary pumpkin0 | moving pumpkin1] -> [moving pumpkin0 | moving pumpkin1] | |
| right [moving pumpkin2 | stationary pumpkin3] -> [moving pumpkin2 | moving pumpkin3] | |
| right [stationary pumpkin2 | moving pumpkin3] -> [moving pumpkin2 | moving pumpkin3] | |
| ) | |
| [> Tomato | Tomato] -> [Splat | Splat] sfx5 | |
| [> Tomato | Pumpkin] -> [Splat | Pumpkin] sfx5 | |
| (start splat) | |
| left [> Pumpkin membraneL | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| right [> Pumpkin membraneR | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| up [> Pumpkin membraneU | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| down [> Pumpkin membraneD | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| (propagate splat) | |
| left [action SplatP no membraneL | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| right [action SplatP no membraneR | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| up [action SplatP no membraneU | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| down [action SplatP no membraneD | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| (put items into basket) | |
| startloop | |
| [> Tomato | Basket][counter FireBG NO Increase] -> [ | Stationary Basket][Counter FireBG Increase] sfx1 | |
| [> Pumpkin | Basket][counter EnergyBG NO Increase] -> [gotpumpkin | Stationary Basket][Counter EnergyBG Increase] sfx3 | |
| left [Pumpkin no membraneL | gotpumpkin] -> [gotpumpkin | gotpumpkin] sfx3 | |
| right [Pumpkin no membraneR | gotpumpkin] -> [gotpumpkin | gotpumpkin] sfx3 | |
| up [Pumpkin no membraneU | gotpumpkin] -> [gotpumpkin | gotpumpkin] sfx3 | |
| down [Pumpkin no membraneD | gotpumpkin] -> [gotpumpkin | gotpumpkin] sfx3 | |
| [N0 Increase] -> [N1] | |
| + [N1 Increase] -> [N2] | |
| + [N2 Increase] -> [N3] | |
| + [N3 Increase] -> [N4] | |
| + [N4 Increase] -> [N5] | |
| + [N5 Increase] -> [N6] | |
| + [N6 Increase] -> [N7] | |
| + [N7 Increase] -> [N8] | |
| + [N8 Increase] -> [N9] | |
| + LEFT [N9 Increase | Digit] -> [N0 | Digit Increase] | |
| + LEFT [N9 BG Increase | No Digit] -> [N0 BG | N1 BG] | |
| endloop | |
| [gotpumpkin] -> [] | |
| [> Tomato | Fence] -> [Splat | Fence] sfx5 | |
| [> pushable | Fence] -> [pushable | Fence] | |
| (use action key to push an element out of basket) | |
| horizontal [action PlayerHand | Basket | NO obstacle][nonzero FireBG][Counter FireBG NO Subtract] -> [PlayerHand | Basket | Tomato][nonzero FireBG][Counter FireBG Subtract] sfx6 | |
| horizontal [action PlayerHand | Basket | Basket | NO obstacle][nonzero FireBG][Counter FireBG NO Subtract] -> [PlayerHand | Basket | Basket | Tomato][nonzero FireBG][Counter FireBG Subtract] sfx6 | |
| (test if pumpkin can be removed) | |
| up [BasketU | ] -> [BasketU | spacetest0] | |
| up [spacetest0 | ] -> [spacetest0 | spacetest1] | |
| down [BasketD | ] -> [BasketD | spacetest1] | |
| down [spacetest1 | ] -> [spacetest1 | spacetest0] | |
| [spacetest obstacle] -> [spacetestfail obstacle] | |
| [spacetestfail | spacetest] -> [spacetestfail | spacetestfail] | |
| vertical [action PlayerVHand | Basket | Basket | NO spacetestfail][nonzero EnergyBG][Counter EnergyBG NO Subtract] -> [PlayerVHand | Basket | Basket | gotpumpkin][nonzero EnergyBG][Counter EnergyBG Subtract] sfx9 | |
| up [BasketL | gotpumpkin] -> [BasketL | Pumpkin2 gotpumpkin] | |
| up [BasketR | gotpumpkin] -> [BasketR | Pumpkin3 gotpumpkin] | |
| down [BasketL | gotpumpkin] -> [BasketL | Pumpkin0 gotpumpkin] | |
| down [BasketR | gotpumpkin] -> [BasketR | Pumpkin1 gotpumpkin] | |
| startloop | |
| left [Pumpkin1 gotpumpkin | ] -> [Pumpkin1 gotpumpkin | Pumpkin0 gotpumpkin] | |
| down [Pumpkin0 gotpumpkin | ] -> [Pumpkin0 gotpumpkin | Pumpkin2 gotpumpkin] | |
| right [Pumpkin2 gotpumpkin | ] -> [Pumpkin2 gotpumpkin | Pumpkin3 gotpumpkin] | |
| up [Pumpkin3 gotpumpkin | ] -> [Pumpkin3 gotpumpkin | Pumpkin1 gotpumpkin] | |
| endloop | |
| [gotpumpkin] -> [] | |
| [spacetest] -> [] | |
| (stop pumpkin movement) | |
| left [> Pumpkin membraneL | object] -> [stationary Pumpkin membraneL | object] | |
| right [> Pumpkin membraneR | object] -> [stationary Pumpkin membraneR | object] | |
| up [> Pumpkin membraneU | object] -> [stationary Pumpkin membraneU | object] | |
| down [> Pumpkin membraneD | object] -> [stationary Pumpkin membraneD | object] | |
| (propagate stop) | |
| left [stationary Pumpkin no membraneL | moving Pumpkin] -> [stationary Pumpkin | stationary Pumpkin] | |
| right [stationary Pumpkin no membraneR | moving Pumpkin] -> [stationary Pumpkin | stationary Pumpkin] | |
| up [stationary Pumpkin no membraneU | moving Pumpkin] -> [stationary Pumpkin | stationary Pumpkin] | |
| down [stationary Pumpkin no membraneD | moving Pumpkin] -> [stationary Pumpkin | stationary Pumpkin] | |
| (resolve all movement manually, so we can use remaining movement to determine automatic item usage) | |
| [> pushable | No object] -> [ | pushable] | |
| horizontal [No object HWrap | ... | > Pushable HWrap] -> [Pushable HWrap | ... | HWrap] | |
| vertical [No object VWrap | ... | > Pushable VWrap] -> [Pushable VWrap | ... | VWrap] | |
| (make wrapping work for player too) | |
| [> player | no Player no pushable] -> [ | player] | |
| horizontal [ NO Pushable HWrap | ... | > Player HWrap] -> [ Player HWrap | ... | HWrap] | |
| vertical [ NO Pushable VWrap | ... | > Player VWrap] -> [ Player VWrap | ... | VWrap] | |
| [orthogonal player] -> cancel | |
| LEFT [N0 Subtract| ] -> [N9 | Subtract] | |
| + LEFT [Digit | N1 BG Subtract| No Digit] -> [Digit | no BG no digit | ] | |
| + [N1 Subtract] -> [N0] | |
| + [N2 Subtract] -> [N1] | |
| + [N3 Subtract] -> [N2] | |
| + [N4 Subtract] -> [N3] | |
| + [N5 Subtract] -> [N4] | |
| + [N6 Subtract] -> [N5] | |
| + [N7 Subtract] -> [N6] | |
| + [N8 Subtract] -> [N7] | |
| + [N9 Subtract] -> [N8] | |
| ============== | |
| WINCONDITIONS | |
| ============== | |
| ======= | |
| LEVELS | |
| ======= | |
| ................... | |
| .fffffffffffffffff. | |
| .ftttttt.tttttt.tf. | |
| .ftt.tttttttt┌┐ttf. | |
| .f.t┌┐t..012t└┘┌┐f. | |
| .f.t└┘täö345┌┐t└┘f. | |
| .ftttttüß678└┘.ttf. | |
| .ft┌┐ttttttttttttf. | |
| .f.└┘tttt┌┐ttttt.f. | |
| .ftttt..t└┘.tt.ttf. | |
| .fffffffffffffffff. | |
| ........─..□....... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment