public function applyEffect(Fish &$fish)
 {
     // time goes by, health is going down
     $fish->setHealth($fish->getHealth() - 1);
     $fish->addLifeTick();
     $fish->setHunger($fish->getHunger() + 1);
     $fish->setSleepiness($fish->getSleepiness() + 0.5);
     $fish->setPlayfull($fish->getPlayfull() + 3);
 }
 public function hook()
 {
     if ($this->fish === null || $this->fish->getHealth() <= 0) {
         /** @var FishRepository $repo */
         /* @var Fish $fish */
         $repo = $this->em->getRepository('FishBundle:Fish');
         $this->fish = $repo->findAliveFish();
     }
     return $this->fish === null || $this->fish->getHealth() <= 0;
 }
Exemple #3
0
 public function applyEffect(Fish $fish)
 {
     if ($fish->getHealth() == 0) {
         return;
     }
     foreach ($this->obligations as $obligation) {
         if ($obligation instanceof AbstractLifeObligation) {
             $obligation->applyEffect($fish);
         }
     }
 }
 public function applyEffect(Fish &$fish)
 {
     // As it's too low, it's getting worse for it's life
     if ($fish->getHunger() <= 2) {
         $fish->setHealth($fish->getHealth() - 5);
     }
     // As it's too high, it's getting worse for it's life
     if ($fish->getHunger() >= 8) {
         $fish->setHealth($fish->getHealth() - 10);
     }
 }
 public function applyEffect(Fish &$fish)
 {
     // As it's too high, it's getting worse for it's life
     if ($fish->getSleepiness() >= 8) {
         $fish->setHealth($fish->getHealth() - 3);
     }
     // As it's too low, it's getting worse for it's life
     if ($fish->getSleepiness() <= 2) {
         $fish->setHealth($fish->getHealth() - 1);
     }
 }
 public function applyEffect(Fish &$fish)
 {
     if ($fish->getPlayfull() >= 8) {
         $fish->setHealth($fish->getHealth() - 1);
     }
 }