private void adicionarHabilidadeTalento(HabilidadeTalento habilidade) { TalentoModule rm = getTalentoModule(); HabilidadeNode node = null; if (rm.Habilidades.ContainsKey((IdHabilidadeTalento)habilidade.Id)) { node = rm.Habilidades[(IdHabilidadeTalento)habilidade.Id]; } bool primeiraVez = true; if (node == null) { node = new HabilidadeNode((int)habilidade.Id, 1); rm.Habilidades.Add((IdHabilidadeTalento)node.Id, node); jogador.SendMessage("Você acaba de aprender o talento {0}.", habilidade.Nome); primeiraVez = true; } else { node.aumentarNivel(); jogador.SendMessage("Sua talento {0} acaba de aumentar de nível.", habilidade.Nome); primeiraVez = false; } //faz as modificacoes necessárias da habilidade habilidade.aplicar(jogador, node, primeiraVez); }
/** * Recupera a habilidade apartir do seu Id. */ public override Habilidade getHabilidade(int idHabilidade) { try { return(HabilidadeTalento.getHabilidadeTalento((IdHabilidadeTalento)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 podeAumentarNivelHabilidadeTalento(IdHabilidadeTalento idHabilidadeTalento) { TalentoModule rm = getTalentoModule(); if (rm.Habilidades.ContainsKey(idHabilidadeTalento)) { HabilidadeTalento habilidade = HabilidadeTalento.getHabilidadeTalento(idHabilidadeTalento); HabilidadeNode node = rm.Habilidades[idHabilidadeTalento]; if (habilidade.NivelMaximo > node.Nivel) { return(true); } } return(false); }
/* * Adiciona o HabilidadeRacial ao jogador. * É verificado se o jogador possui os pré-requisitos * e já não possua o HabilidadeRacial. */ public bool aprender(IdHabilidadeTalento IdHabilidadeTalento) { HabilidadeTalento habilidade = HabilidadeTalento.getHabilidadeTalento(IdHabilidadeTalento); if (habilidade == null) { jogador.SendMessage("Talento não encontrado, informe os administradores."); return(false); } if (pontosDisponiveis() < 1) { jogador.SendMessage("Voce não possui pontos de talento disponiveis."); return(false); } //Tiago, qualquer um pode comprar talento, para teste if (!habilidade.PossuiPreRequisitos(jogador) && false) { jogador.SendMessage("Voce não possui os pre-requisitos para aprender o talento."); return(false); } if (possuiHabilidadeTalento((IdHabilidadeTalento)habilidade.Id)) { if (!podeAumentarNivelHabilidadeTalento((IdHabilidadeTalento)habilidade.Id)) { jogador.SendMessage("Você já possui o nível máximo nesta talento."); return(false); } } adicionarHabilidadeTalento(habilidade); return(true); }
/** * Recupera a habilidade por seu id. */ public override Habilidade getHabilidade(int idHabilidade) { return(HabilidadeTalento.getHabilidadeTalento((IdHabilidadeTalento)idHabilidade)); }