/** * Initialise la trajectoire pour une recherche de point de ravitaillement * @throws \Exception */ public function initExploratoireRavitaillement() { $this->setBut(self::BUT_RAVITAILLEMENT); if (is_null($this->qg)) { throw new \Exception("Aucun QG défini pour le pathfinding"); } $this->setTypeDeplacement($this->qg->getIdTypeQg()); $this->setFakeQg($this->qg->getIdTypeQg()); }
/** * Détermine si la collision doit donner lieu à un combat * @return bool */ public function isCombat() { if (!$this->qg1->getJoueur()->isEnnemi($this->qg2->getJoueur())) { return false; } if ($this->qg1->getIdTypeMission() == Missions::INTERCEPTION || $this->qg2->getIdTypeMission() == Missions::INTERCEPTION) { return true; } if ($this->qg1->getIdTypeQg() == $this->qg2->getIdTypeQg()) { return true; } if (($this->qg1->getIdTypeQg() == Unites::TYPE_TERRESTRE && $this->qg2->getIdTypeQg() == Unites::TYPE_AERIEN || $this->qg2->getIdTypeQg() == Unites::TYPE_TERRESTRE && $this->qg1->getIdTypeQg() == Unites::TYPE_AERIEN) && ($this->qg1->getUnites()->typeExists(Unites::DCA) || $this->qg2->getUnites()->typeExists(Unites::DCA))) { return true; } if (($this->qg1->getIdTypeQg() == Unites::TYPE_NAVAL && $this->qg2->getIdTypeQg() == Unites::TYPE_AERIEN || $this->qg2->getIdTypeQg() == Unites::TYPE_NAVAL && $this->qg1->getIdTypeQg() == Unites::TYPE_AERIEN) && ($this->qg1->getUnites()->typeExists(Unites::DESTROYER) || $this->qg1->getUnites()->typeExists(Unites::PORTE_AVIONS) || $this->qg1->getUnites()->typeExists(Unites::CUIRASSE) || $this->qg2->getUnites()->typeExists(Unites::DESTROYER) || $this->qg2->getUnites()->typeExists(Unites::PORTE_AVIONS) || $this->qg2->getUnites()->typeExists(Unites::CUIRASSE))) { return true; } return false; }