mirror of
https://github.com/jcreek/TheFarmerWasReplaced.git
synced 2026-07-12 18:43:47 +00:00
50 lines
2.2 KiB
Python
50 lines
2.2 KiB
Python
import helpers
|
|
|
|
# Pumpkins grow like carrots on tilled soil. Planting them costs carrots.
|
|
|
|
# When all the pumpkins in a square are fully grown, they will grow together to form a giant pumpkin. Unfortunately, pumpkins have a 20% chance of dying once they are fully grown, so you will need to replant the dead ones if you want them to merge.
|
|
|
|
# When a pumpkin dies, it leaves behind a dead pumpkin that won't drop anything when harvested. Planting a new plant in its place automatically removes the dead pumpkin, so there is no need to harvest it. can_harvest() always returns False on dead pumpkins.
|
|
|
|
# The yield of a giant pumpkin depends on the size of the pumpkin.
|
|
|
|
# A 1x1 pumpkin yields 1*1*1 = 1 pumpkins.
|
|
# A 2x2 pumpkin yields 2*2*2 = 8 pumpkins instead of 4.
|
|
# A 3x3 pumpkin yields 3*3*3 = 27 pumpkins instead of 9.
|
|
# A 4x4 pumpkin yields 4*4*4 = 64 pumpkins instead of 16.
|
|
# A 5x5 pumpkin yields 5*5*5 = 125 pumpkins instead of 25.
|
|
# A nxn pumpkin yields n*n*6 pumpkins for n >= 6.
|
|
|
|
# It's a good idea to get at least 6x6 size pumpkins to get the full multiplier.
|
|
|
|
# This means that even if you plant a pumpkin on every tile in a square, one of the pumpkins may die and prevent the mega pumpkin from growing.
|
|
|
|
def till_and_plant():
|
|
if get_ground_type() != Grounds.Soil:
|
|
till()
|
|
if get_entity_type() == Entities.Pumpkin:
|
|
helpers.harvest_if_possible()
|
|
plant(Entities.Pumpkin)
|
|
else:
|
|
helpers.harvest_if_possible()
|
|
plant(Entities.Pumpkin)
|
|
|
|
def clear_bad_pumpkins():
|
|
for x in range(get_world_size()):
|
|
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 harvest_pumpkins():
|
|
for x in range(get_world_size()):
|
|
for y in range(get_world_size()):
|
|
till_and_plant()
|
|
move(North)
|
|
move(East)
|
|
|
|
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() |