Last active
February 6, 2026 20:23
-
-
Save xepherys/97b2721f23b8580405643441f67948f5 to your computer and use it in GitHub Desktop.
TheFarmerWasReplaced_UNLOCKS_DATA.py
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
| # UNLOCKS_DATA is valid currently as of February 2026, but is subject to change as the game progresses | |
| # UNLOCKS_DATA is a static dictionary where the key is the Unlocks type and the value is a collection of requirements | |
| # for each level. | |
| # The commented columns exist to help folk who are learning, or just for visualizing data at a quick glance. The 'Index' | |
| # is the index value of the requirements list, e.g. UNLOCKS_DATA[Unlocks.Cactus][2] is the second (2nd) index, which is | |
| # the requirements that need to be met to unlock the third (3rd) 'Level' of Unlocks.Cactus. | |
| # | |
| # The 'ResIdx' the index value of the resource for that given level. NOTE: When a level unlock requires more than | |
| # one resource, you can't index it because it's a dictionary - this is for visualization only. You'll need to iterate | |
| # over each using something like: 'for key in dict:' | |
| # | |
| # 'Already' is True if the Leaderboard.Fastest_Reset comes with this already unlocked. | |
| # | |
| # 'Required' is an unlock that is absolutely required to complete Leaderboard.Fastest_Reset (usually only the first level | |
| # of any given unlock set). Will be marked with a hyphen for already unlocked items. | |
| # Index | |
| # Unlock Requirements (Level) ResIdx Already Required Purpose | |
| # ------ ------------ ------- ------ ------- -------- ------- | |
| UNLOCKS_DATA = {Unlocks.Auto_Unlock: [{Items.Pumpkin: 5000}], # 0(1) 0 True - UNLOCK: unlock() | |
| Unlocks.Cactus: [{Items.Pumpkin: 5000}, # 0(1) 0 False True UNLOCK: Entities.Cactus | |
| {Items.Pumpkin: 20000}, # 1(2) 0 False False CACTUS: 100% -> 200% | |
| {Items.Pumpkin: 120000}, # 2(3) 0 False False CACTUS: 200% -> 400% | |
| {Items.Pumpkin: 720000}, # 3(4) 0 False False CACTUS: 400% -> 800% | |
| {Items.Pumpkin: 4320000}, # 4(5) 0 False False CACTUS: 800% -> 1600% | |
| {Items.Pumpkin: 25900000}], # 5(6) 0 False False CACTUS: 1600% -> 3200% | |
| Unlocks.Carrots: [{Items.Wood: 50}, # 0(1) 0 False True UNLOCK: Entities.Carrot | |
| {Items.Wood: 250}, # 1(2) 0 False False CARROT: 100% -> 200% | |
| {Items.Wood: 1250}, # 2(3) 0 False False CARROT: 200% -> 400% | |
| {Items.Wood: 6250}, # 3(4) 0 False False CARROT: 400% -> 800% | |
| {Items.Wood: 31200}, # 4(5) 0 False False CARROT: 800% -> 1600% | |
| {Items.Wood: 156000}, # 5(6) 0 False False CARROT: 1600% -> 3200% | |
| {Items.Wood: 781000}, # 6(7) 0 False False CARROT: 3200% -> 6400% | |
| {Items.Wood: 3910000}, # 7(8) 0 False False CARROT: 6400% -> 12800% | |
| {Items.Wood: 19500000}, # 8(9) 0 False False CARROT: 12800% -> 25600% | |
| {Items.Wood: 97700000}], # 9(10) 0 False False CARROT: 25600% -> 51200% | |
| Unlocks.Costs: [{Items.Pumpkin: 2500}], # 0(1) 0 True - UNLOCK: get_cost() | |
| Unlocks.Debug: [{Items.Hay: 50, # 0(1) 0 True - UNLOCK: print(), quick_print() | |
| Items.Wood: 50}], # "(") 1 | |
| Unlocks.Debug_2: [{Items.Gold: 500}], # 0(1) 0 True - UNLOCK: set_execution_speed(), set_world_size() | |
| Unlocks.Dictionaries: [{Items.Pumpkin: 2500}], # 0(1) 0 True - UNLOCK: dict = {:} | |
| Unlocks.Dinosaurs: [{Items.Cactus: 2000}, # 0(1) 0 False True UNLOCK: Hats.Dinosaur_Hat, Entities.Apple, Items.Bone | |
| {Items.Cactus: 12000}, # 1(2) 0 False False BONE: 100% -> 200% | |
| {Items.Cactus: 72000}, # 2(3) 0 False False BONE: 200% -> 400% | |
| {Items.Cactus: 432000}, # 3(4) 0 False False BONE: 400% -> 800% | |
| {Items.Cactus: 2590000}, # 4(5) 0 False False BONE: 800% -> 1600% | |
| {Items.Cactus: 15600000}], # 5(6) 0 False False BONE: 1600% -> 3200% | |
| Unlocks.Expand: [{Items.Hay: 30}, # 0(1) 0 False True GRID: 1x1 -> 1x3 | |
| {Items.Wood: 20}, # 1(2) 0 False False GRID: 1x3 -> 3x3 | |
| {Items.Wood: 30, # 2(3) 0 False False GRID: 3x3 -> 4x4 | |
| Items.Carrot: 20}, # "(") 1 | |
| {Items.Wood: 100, # 3(4) 0 False False GRID: 4x4 -> 6x6 | |
| Items.Carrot: 50}, # "(") 1 | |
| {Items.Pumpkin: 1000}, # 4(5) 0 False False GRID: 6x6 -> 8x8 | |
| {Items.Pumpkin: 8000}, # 5(6) 0 False False GRID: 8x8 -> 12x12 | |
| {Items.Pumpkin: 64000}, # 6(7) 0 False False GRID: 12x12 -> 16x16 | |
| {Items.Pumpkin: 512000}, # 7(8) 0 False False GRID: 16x16 -> 22x22 | |
| {Items.Pumpkin: 4100000}], # 8(9) 0 False False GRID: 22x22 -> 32x32 | |
| Unlocks.Fertilizer: [{Items.Wood: 500}, # 0(1) 0 False True UNLOCK: Items.Fertilizer (0.1/s) | |
| {Items.Wood: 1500}, # 1(2) 0 False False FERTILIZER: 0.1/s -> 0.2/s | |
| {Items.Wood: 9000}, # 2(3) 0 False False FERTILIZER: 0.2/s -> 0.4/s | |
| {Items.Wood: 54000}], # 3(4) 0 False False FERTILIZER: 0.4/s -> 0.8/s | |
| Unlocks.Functions: [{Items.Carrot: 40}], # 0(1) 0 True - UNLOCK: func() | |
| Unlocks.Grass: [{Items.Hay: 100}, # 0(1) 0 True - UNLOCK: Entities.Grass | |
| {Items.Hay: 300}, # 1(2) 0 False True GRASS: 100% -> 200% | |
| {Items.Wood: 500}, # 2(3) 0 False False GRASS: 200% -> 400% | |
| {Items.Wood: 2500}, # 3(4) 0 False False GRASS: 400% -> 800% | |
| {Items.Wood: 12500}, # 4(5) 0 False False GRASS: 800% -> 1600% | |
| {Items.Wood: 62500}, # 5(6) 0 False False GRASS: 1600% -> 3200% | |
| {Items.Wood: 312000}, # 6(7) 0 False False GRASS: 3200% -> 6400% | |
| {Items.Wood: 1560000}, # 7(8) 0 False False GRASS: 6400% -> 12800% | |
| {Items.Wood: 7810000}, # 8(9) 0 False False GRASS: 12800% -> 25600% | |
| {Items.Wood: 39100000}], # 9(10) 0 False False GRASS: 25600% -> 51200% | |
| Unlocks.Hats: [{Items.Hay: 50}], # 0(1) 0 False True UNLOCK: Hats | |
| Unlocks.Import: [{Items.Carrot: 80}], # 0(1) 0 True - UNLOCK: import | |
| Unlocks.Leaderboard: [{Items.Bone: 2000000, # 0(1) 0 False True UNLOCK: Leaderboards | |
| Items.Gold: 1000000}], # "(") 1 | |
| Unlocks.Lists: [{Items.Carrot: 500}], # 0(1) 0 True - UNLOCK: list = [] | |
| Unlocks.Loops: [{Items.Hay: 5}], # 0(1) 0 True - UNLOCK: while() | |
| Unlocks.Mazes: [{Items.Weird_Substance: 1000}, # 0(1) 0 False True UNLOCK: Mazes | |
| {Items.Cactus: 12000}, # 1(2) 0 False False GOLD: 100% -> 200% | |
| {Items.Cactus: 72000}, # 2(3) 0 False False GOLD: 200% -> 400% | |
| {Items.Cactus: 432000}, # 3(4) 0 False False GOLD: 400% -> 800% | |
| {Items.Cactus: 2590000}, # 4(5) 0 False False GOLD: 800% -> 1600% | |
| {Items.Cactus: 15600000}], # 5(6) 0 False False GOLD: 1600% -> 3200% | |
| Unlocks.Megafarm: [{Items.Gold: 2000}, # 0(1) 0 False False DRONES: 1 -> 2 | |
| {Items.Gold: 8000}, # 1(2) 0 False False DRONES: 2 -> 4 | |
| {Items.Gold: 32000}, # 2(3) 0 False False DRONES: 4 -> 8 | |
| {Items.Gold: 128000}, # 3(4) 0 False False DRONES: 8 -> 16 | |
| {Items.Gold: 512000}], # 4(5) 0 False False DRONES: 16 -> 32 | |
| Unlocks.Operators: [{Items.Hay: 150, # 0(1) 0 True - UNLOCK: Arithmetic, comparison, and boolean operators | |
| Items.Wood: 10}], # "(") 1 | |
| Unlocks.Plant: [{Items.Hay: 50}], # 0(1) 0 False True UNLOCK: Entities.Bush | |
| Unlocks.Polyculture: [{Items.Pumpkin: 3000}, # 0(1) 0 False False UNLOCK: Polyculture | |
| {Items.Bone: 10000}, # 1(2) 0 False False YIELD: 1000% -> 2000% | |
| {Items.Bone: 50000}, # 2(3) 0 False False YIELD: 2000% -> 4000% | |
| {Items.Bone: 250000}, # 3(4) 0 False False YIELD: 4000% -> 8000% | |
| {Items.Bone: 1250000}], # 4(5) 0 False False YIELD: 8000% -> 16000% | |
| Unlocks.Pumpkins: [{Items.Wood: 500, # 0(1) 0 False True UNLOCK: Entities.Pumpkin | |
| Items.Carrot: 200}, # "(") 1 False False | |
| {Items.Carrot: 1000}, # 1(2) 0 False False PUMPKIN: 100% -> 200% | |
| {Items.Carrot: 4000}, # 2(3) 0 False False PUMPKIN: 200% -> 400% | |
| {Items.Carrot: 16000}, # 3(4) 0 False False PUMPKIN: 400% -> 800% | |
| {Items.Carrot: 64000}, # 4(5) 0 False False PUMPKIN: 800% -> 1600% | |
| {Items.Carrot: 256000}, # 5(6) 0 False False PUMPKIN: 1600% -> 3200% | |
| {Items.Carrot: 1020000}, # 6(7) 0 False False PUMPKIN: 3200% -> 6400% | |
| {Items.Carrot: 4100000}, # 7(8) 0 False False PUMPKIN: 6400% -> 12800% | |
| {Items.Carrot: 16400000}, # 8(9) 0 False False PUMPKIN: 12800% -> 25600% | |
| {Items.Carrot: 65500000}], # 9(10) 0 False False PUMPKIN: 25600% -> 51200% | |
| Unlocks.Senses: [{Items.Hay: 100}], # 0(1) 0 True - UNLOCK: get_pos*(), get_*_type(), num_items(), None | |
| Unlocks.Simulation: [{Items.Gold: 5000}], # 0(1) 0 True - UNLOCK: simulate() | |
| Unlocks.Speed: [{Items.Hay: 20}, # 0(1) 0 False True SPEED: 100% -> 150% | |
| {Items.Wood: 20}, # 1(2) 0 False False SPEED: 150% -> 225% | |
| {Items.Wood: 50, # 2(3) 0 False False SPEED: 225% -> 337.5% | |
| Items.Carrot: 50}, # "(") 1 | |
| {Items.Carrot: 500}, # 3(4) 0 False False SPEED: 337.5% -> 506.25% | |
| {Items.Carrot: 1000}], # 4(5) 0 False False SPEED: 506.25% -> 759.375% | |
| Unlocks.Sunflowers: [{Items.Carrot: 500}], # 0(1) 0 False False UNLOCK: Entities.Sunflower, Items.Power | |
| Unlocks.The_Farmers_Remains: | |
| [{Items.Bone: 100000000}], # 0(1) 0 False False UNLOCK: Hats.The_Farmers_Remains | |
| Unlocks.Timing: [{Items.Pumpkin: 1000}], # 0(1) 0 True - UNLOCK: get_time(), get_tick_count() | |
| Unlocks.Top_Hat: [{Items.Hay: 1000000000, # 0(1) 0 False False UNLOCK: Hats.Top_Hat | |
| Items.Wood: 10000000000, # "(") 1 | |
| Items.Carrot: 1000000000, # "(") 2 | |
| Items.Cactus: 1000000000, # "(") 3 | |
| Items.Gold: 100000000}], # "(") 4 | |
| Unlocks.Trees: [{Items.Wood: 50, # 0(1) 0 False True UNLOCK: Entities.Trees | |
| Items.Carrot: 70}, # "(") 1 | |
| {Items.Hay: 300}, # 1(2) 0 False False WOOD: 100% -> 200% | |
| {Items.Hay: 1200}, # 2(3) 0 False False WOOD: 200% -> 400% | |
| {Items.Hay: 4800}, # 3(4) 0 False False WOOD: 400% -> 800% | |
| {Items.Hay: 19200}, # 4(5) 0 False False WOOD: 800% -> 1600% | |
| {Items.Hay: 76800}, # 5(6) 0 False False WOOD: 1600% -> 3200% | |
| {Items.Hay: 307000}, # 6(7) 0 False False WOOD: 3200% -> 6400% | |
| {Items.Hay: 1230000}, # 7(8) 0 False False WOOD: 6400% -> 12800% | |
| {Items.Hay: 4920000}, # 8(9) 0 False False WOOD: 12800% -> 25600% | |
| {Items.Hay: 19700000}], # 9(10) 0 False False WOOD: 25600% -> 51200% | |
| Unlocks.Utilities: [{Items.Pumpkin: 1000}], # 0(1) 0 True - UNLOCK: min(), max(), abs(), random() | |
| Unlocks.Variables: [{Items.Carrot: 35}], # 0(1) 0 True - UNLOCK: variables | |
| Unlocks.Watering: [{Items.Wood: 50}, # 0(1) 0 False True UNLOCK: Items.Water (0.1/s) | |
| {Items.Wood: 200}, # 1(2) 0 False False WATER: 0.1/s -> 0.2/s | |
| {Items.Wood: 800}, # 2(3) 0 False False WATER: 0.2/s -> 0.4/s | |
| {Items.Wood: 3200}, # 3(4) 0 False False WATER: 0.4/s -> 0.8/s | |
| {Items.Wood: 12800}, # 4(5) 0 False False WATER: 0.8/s -> 1.6/s | |
| {Items.Wood: 51200}, # 5(6) 0 False False WATER: 1.6/s -> 3.2/s | |
| {Items.Wood: 205000}, # 6(7) 0 False False WATER: 3.2/s -> 6.4/s | |
| {Items.Wood: 819000}, # 7(8) 0 False False WATER: 6.4/s -> 12.8/s | |
| {Items.Wood: 3280000}]} # 8(9) 0 False False WATER: 12.8/s -> 25.6/s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment