if self._ending:
return
gamestate.update_lights(self._lights)
+ # Turnip
+ self.grow_turnips(gamestate)
+ turnip_data = [turnip.serialize() for turnip in self._turnips]
+ gamestate.turnips = turnip_data
+ gamestate.days += 1
+ self._mould.update_resistances(gamestate)
self._ending = True
from .day import DayScene
SceneChangeEvent.post(scene=DayScene())
if not self.turnip_count and not self._battery.current:
self._end_night()
- def exit(self, gamestate):
- turnip_data = [turnip.serialize() for turnip in self._turnips]
- gamestate.turnips = turnip_data
- # TODO: Move this into the end_night function
- gamestate.days += 1
- self._mould.update_resistances(gamestate)
+ def grow_turnips(self, gamestate):
+ """ Turnips grow at the end of the night """
+ for turnip in self._turnips[:]:
+ # Turnips grow at dawn
+ seeds = turnip.grow()
+ if seeds:
+ gamestate.seeds += seeds
+ gamestate.harvested += 1
+ self._turnips.remove(turnip)
+ # We ignore the body cleanup, since the space is going away