public function acaoAtirar(ArmaMuscular $arma, $acaoSlug) { $acoes = array(); foreach (Mapa::listarPessoa() as $pessoa) { if ($pessoa->getIdGrupo() != $this->getIdGrupo()) { if ($pessoa->getCodSituacao() != ATIVO && $pessoa->getCodSituacao() != ATORDOADO) { continue; } if (!Mapa::estaVendo($this, $pessoa)) { continue; } $danoBasico = $this->pegarDanoBasico($arma->getDano()); $danoBasico['bonus'] += $arma->getBonus(); $nh = $this->getNH($arma->getPericiaSlug()); $nh -= $this->choque; $distancia = Mapa::ataqueDistancia($this, $pessoa); $nh += $distancia->visibilidade; $molinete = false; $sentido = Mapa::getSentido2DAtaque($this, $pessoa); if (in_array($sentido, array(SENTIDO_LATERAL_DIREITA, SENTIDO_LATERAL_ESQUERDA, SENTIDO_COSTAS))) { $molinete = true; $nh -= 5; if ($nh > 9) { $nh = 9; } } $acao = new AcaoAtirar(); $acao->setAtaque($acaoSlug == AC_ATAQUE_DIREITA ? AC_ATIRAR_DIREITA : AC_ATIRAR_ESQUERDA); $acao->setAlvo($pessoa); $acao->setGolpe($arma->getTipo()); $acao->setDano($arma->getDano()); $acao->setNH($nh); $acao->setArma($arma->getNome()); $acao->setSentido($sentido); $acao->setMolinete($molinete); $acao->setDanoDescricao(Dado::descreverDano($danoBasico['dados'], $danoBasico['bonus'])); $acao->setMao($acaoSlug == AC_ATAQUE_DIREITA ? MAO_DIREITA : MAO_ESQUERDA); $acao->setDistancia($distancia->distancia); $acoes[] = $acao; } } return $acoes; }
</div> </div> </fieldset> </div> </div> <div class="row" id="arma-longo-alcance-titulo"> <div class="twelve columns"> <hr /> <h3>Arma de Longo Alcance</h3> </div> </div> <div class="row" id="arma-longo-alcance"> <div class="four columns"> <label>Tipo</label> <?php Arma::dropDownListTipo($longe->getTipo(), 'longe_tipo'); ?> <label>Dano</label> <?php Arma::dropDownListDano($longe->getDano(), 'longe_dano'); ?> <label>Bônus</label> <input type="number" id="longe_bonus" name="longe_bonus" value="<?php echo $longe->getBonus(); ?> " /> </div> <div class="four columns"> <div class="row"> <div class="twelve columns"> <label>Precisão</label>