Exemplo n.º 1
0
 public function calcularDanoBasico($mao, $tipo)
 {
     $dano = 0;
     $arma = $mao == MAO_DIREITA ? $this->mao_direita : $this->mao_esquerda;
     if (!is_null($arma)) {
         if ($arma instanceof ArmaDistancia) {
             $danoBasico = $this->pegarDanoBasico($arma->getDano());
             $danoBasico['bonus'] += $arma->getBonus();
             $dano = Dado::dano($danoBasico['dados'], $danoBasico['bonus']);
         } elseif ($arma instanceof Arma) {
             $golpe = $arma->getDano($tipo);
             //var_dump($arma, $golpe,$tipo);
             $danoBasico = $this->pegarDanoBasico($golpe->getDano());
             $danoBasico['bonus'] += $golpe->getBonus();
             $dano = Dado::dano($danoBasico['dados'], $danoBasico['bonus']);
         } else {
             throw new Exception('Arma de tipo desconhecido!');
         }
     } else {
         $danoBasico = $this->pegarDanoBasico(GDP);
         $dano = Dado::dano($danoBasico['dados'], $danoBasico['bonus'] - 2);
     }
     return $dano;
 }