def achieve_mission_found(self): if not self.group.resources or\ self.group.position.village_set.count() >= NB_VILLAGES_PER_TILE\ or self.group.resources <\ Resources.dict_to_resources(VILLAGE_CREATION_NEEDED_RESOURCES): self.come_back() self.group.log_report( type=11, subject='Impossible de créer le village', body='Tous les emplacements de la case' ' sélectionnée sont occupés ou bien ' 'vous ne disposez pas de suffisamment de ressources', ) v = Village( name="New village", inhabitants=self.group, resources=Resources.objects.create(), tribe=self.group.village.tribe, position=self.group.position, ) v.resources.save() v.save() v.update_income() self.group.village = v self.group.save() update_resources = v.receive_resources(self.group.resources) update_resources.save() self.group.resources = update_resources self.group.resources -= v.receive_resources(self.group.ressources) self.group.resources.save()