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

            return(tm);
        }