/* * Adiciona o HabilidadeRacial ao jogador. * É verificado se o jogador possui os pré-requisitos * e já não possua o HabilidadeRacial. */ public bool aprender(IdHabilidadeRacial IdHabilidadeRacial) { HabilidadeRacial habilidade = HabilidadeRacial.getHabilidadeRacial(IdHabilidadeRacial); if (habilidade == null) { jogador.SendMessage("Habilidade racial não encontrado, informe os administradores."); return(false); } if (pontosDisponiveis() < 1) { jogador.SendMessage("Voce não possui pontos de habilidade racial disponiveis."); return(false); } if (!habilidade.PossuiPreRequisitos(jogador)) { jogador.SendMessage("Voce não possui os pre-requisitos para aprender o habilidade racial."); return(false); } if (possuiHabilidadeRacial((IdHabilidadeRacial)habilidade.Id)) { if (!podeAumentarNivelHabilidadeRacial((IdHabilidadeRacial)habilidade.Id)) { jogador.SendMessage("Você já possui o nível máximo nesta habilidade racial."); return(false); } } adicionarHabilidadeRacial(habilidade); return(true); }
/** * Recupera a habilidade apartir do seu Id. */ public override Habilidade getHabilidade(int idHabilidade) { try { return(HabilidadeRacial.getHabilidadeRacial((IdHabilidadeRacial)idHabilidade)); } catch (Exception e) { Console.WriteLine(e.StackTrace); jogador.SendMessage("Não foi possível encontrar habilidade com o id informado. " + idHabilidade); return(null); } }
private bool podeAumentarNivelHabilidadeRacial(IdHabilidadeRacial idHabilidadeRacial) { RacaModule rm = getRacaModule(); if (rm.Habilidades.ContainsKey(idHabilidadeRacial)) { HabilidadeRacial habilidade = HabilidadeRacial.getHabilidadeRacial(idHabilidadeRacial); HabilidadeNode node = rm.Habilidades[idHabilidadeRacial]; if (habilidade.NivelMaximo > node.Nivel) { return(true); } } return(false); }
/** * Recupera a habilidade por seu id. */ public override Habilidade getHabilidade(int idHabilidade) { return(HabilidadeRacial.getHabilidadeRacial((IdHabilidadeRacial)idHabilidade)); }