예제 #1
0
 /**
  * Recalculated in 10 minute cron.
  */
 public function process()
 {
     $users = $this->userModel->getAllCulturePoints();
     foreach ($users as $user) {
         $villages = $this->VDataModel->getAllByUser($user->id);
         $production = 0;
         foreach ($villages as $village) {
             $production += $village->cp;
         }
         $culturePoints = $user->cp + $production / 6;
         $this->userModel->update($user->id, ['cp' => $culturePoints]);
     }
 }
예제 #2
0
 /**
  * @param \stdClass $data
  */
 public function createMultihunter($data)
 {
     /** @var \stdClass $multihunter */
     $this->userModel->update(UserModel::MULTIHUNTER_ID, ['password' => Nette\Security\Passwords::hash($data->password)]);
     $multihunter = $this->userModel->get(UserModel::MULTIHUNTER_ID);
     /** @var \stdClass $field */
     $field = $this->WDataModel->getByCoordinates(0, 0);
     if ($field->occupied != 0 || $field->oasistype != 0) {
         $this->WDataModel->setFieldTaken($field->id);
         $villageName = $this->villageService->getNewVillageName($multihunter);
         $vid = $this->VDataModel->addVillageForUser($multihunter, $field, $villageName);
         $this->FDataModel->addResourceFields($field->fieldtype, $vid);
         $this->unitsModel->add(['vref' => $vid]);
         $this->TDataModel->add(['vref' => $vid]);
         $this->ABDataModel->add(['vref' => $vid]);
     }
 }