From 93c6f178eb44d201c98e19c081499863f06a7aff Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Tue, 23 Dec 2025 19:34:14 +0000 Subject: [PATCH] feat(*): Enable multiple drones for pumpkins --- main.py | 2 +- pumpkins.py | 42 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 18b0b1a..f820703 100644 --- a/main.py +++ b/main.py @@ -33,7 +33,7 @@ while True: run_loop(num_loops, 'hay', hay.harvest_hay_with_multiple_drones) run_loop(num_loops, 'wood', wood.harvest_wood) run_loop(num_loops * 20, 'carrots', carrots.harvest_carrots_with_multiple_drones) - run_loop(num_loops, 'pumpkins', pumpkins.harvest_pumpkins) + run_loop(num_loops, 'pumpkins', pumpkins.harvest_pumpkins_with_multiple_drones) sunflowers.initial_planting_performed = False run_loop(num_loops * 50, 'sunflowers', harvest_sunflowers_wrapper) run_loop(1, 'cacti', harvest_cacti_wrapper) diff --git a/pumpkins.py b/pumpkins.py index 966f31f..07a4289 100644 --- a/pumpkins.py +++ b/pumpkins.py @@ -47,4 +47,44 @@ def harvest_pumpkins(): for i in range(5): # 5 because the decay rate is 20% so 5 passes should usually clear all bad pumpkinks to maximise harvest - clear_bad_pumpkins() \ No newline at end of file + clear_bad_pumpkins() + +def harvest_pumpkin_columns(): + columns_per_drone = get_world_size() / max_drones() + start_x = get_pos_x() + for x in range(columns_per_drone): + for y in range(get_world_size()): + till_and_plant() + move(North) + move(East) + + helpers.move_to_coords(start_x, 0) + for i in range(5): + # 5 because the decay rate is 20% so 5 passes should usually clear all bad pumpkinks to maximise harvest + clear_bad_pumpkin_columns() + + +def clear_bad_pumpkin_columns(): + columns_per_drone = get_world_size() / max_drones() + for x in range(columns_per_drone): + for y in range(get_world_size()): + if get_entity_type() == Entities.Dead_Pumpkin: + # Planting a new plant in its place automatically removes the dead pumpkin, so there is no need to harvest it. + plant(Entities.Pumpkin) + move(North) + move(East) + +def spawn_drones(): + world_size = get_world_size() + + columns_per_drone = world_size / max_drones() + + i = 0 + while i < world_size: + helpers.move_to_coords(i,0) + spawn_drone(harvest_pumpkin_columns) + i += columns_per_drone + +def harvest_pumpkins_with_multiple_drones(): + spawn_drones() + harvest_pumpkin_columns() \ No newline at end of file