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); }
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); }
/** * Recupera o modulo de HabilidadeRacial */ private TalentoModule getTalentoModule() { TalentoModule tm = (TalentoModule)CentralMemory.GetModule(jogador.Serial, typeof(TalentoModule)); return(tm); }