示例#1
0
文件: Itens.cs 项目: pokenshin/Desire
        public Material Gerar(Random rnd)
        {
            Material material = new Material()
            {
                Caracteristicas = "Material Gerado Aleatoriamente",
                Comprimento     = geradorValorMag.Gerar(rnd),
                Energia         = rng.GerarEntre(1, 10000, rnd),
                Essencia        = rng.GerarEntre(1, 10000, rnd),
                Id                = rng.GerarEntre(1, 10000, rnd),
                Largura           = geradorValorMag.Gerar(rnd),
                Magnitude         = rng.GerarEntre(1, 100, rnd),
                Massa             = geradorValorMag.Gerar(rnd),
                MaterialBase      = null,
                Nivel             = rng.GerarEntre(1, 10000, rnd),
                Peso              = geradorValorMag.Gerar(rnd),
                Tipo              = 0, //TODO: inserir codigo de "Material"
                Valor             = rng.GerarEntre(1, 10000, rnd),
                Dureza            = geradorValorMag.Gerar(rnd),
                Nome              = geradorString.GerarTamanhoEspecifico(3, 10, rnd),
                Resistencia       = new ValorMag(rng.GerarEntre(1, 100, rnd), rng.GerarEntre(1, 10, rnd)),
                DensidadePorGrama = new ValorMag(rng.GerarEntre(1, 100, rnd), rng.GerarEntre(1, 10, rnd)),
                Raridade          = rng.GerarEntre(1, 10000, rnd),
            };

            material.Modificadores = geradorModificador.GerarListaComOrigem("Arma", material.Id, rng.GerarEntre(1, 5, rnd), rnd);
            return(material);
        }
示例#2
0
文件: Itens.cs 项目: pokenshin/Desire
        public Consumivel Gerar(Random rnd)
        {
            GeradorInteiro  rng         = new GeradorInteiro();
            GeradorValorMag genValorMag = new GeradorValorMag();
            GeradorMaterial genMaterial = new GeradorMaterial();
            GeradorString   genString   = new GeradorString();
            GeradorEfeito   genEfeito   = new GeradorEfeito();
            Consumivel      resultado   = new Consumivel()
            {
                Id = rng.GerarEntre(1, 1000, rnd),
                Caracteristicas = "Consumivel gerado aleatoriamente",
                Comprimento     = genValorMag.Gerar(rnd),
                Essencia        = rng.GerarEntre(1, 100000, rnd),
                Energia         = rng.GerarEntre(0, 100000, rnd),
                Largura         = genValorMag.Gerar(rnd),
                MaterialBase    = genMaterial.Gerar(rnd),
                Nivel           = rng.GerarEntre(1, 100, rnd),
                Nome            = genString.GerarTamanhoEspecifico(3, 8, rnd),
                Peso            = genValorMag.Gerar(rnd),
                Raridade        = rng.GerarEntre(1, 100, rnd),
                Tipo            = rng.GerarEntre(1, 100, rnd),
                Valor           = rng.GerarEntre(1, 100000, rnd),
                Magnitude       = rng.GerarEntre(1, 20, rnd),
                Massa           = genValorMag.Gerar(rnd),
                Efeitos         = genEfeito.GerarLista(rng.GerarEntre(1, 5, rnd), rnd)
            };

            return(resultado);
        }
示例#3
0
文件: Itens.cs 项目: pokenshin/Desire
        public Posse Gerar(Random rnd)
        {
            GeradorInteiro     rng            = new GeradorInteiro();
            GeradorValorMag    genValorMag    = new GeradorValorMag();
            GeradorMaterial    genMaterial    = new GeradorMaterial();
            GeradorString      genString      = new GeradorString();
            GeradorModificador genModificador = new GeradorModificador();
            Posse resultado = new Posse()
            {
                Id = rng.GerarEntre(1, 1000, rnd),
                Caracteristicas = "Munição gerada aleatoriamente",
                Comprimento     = genValorMag.Gerar(rnd),
                Essencia        = rng.GerarEntre(1, 100000, rnd),
                Energia         = rng.GerarEntre(0, 100000, rnd),
                Largura         = genValorMag.Gerar(rnd),
                MaterialBase    = genMaterial.Gerar(rnd),
                Nivel           = rng.GerarEntre(1, 100, rnd),
                Nome            = genString.GerarTamanhoEspecifico(3, 8, rnd),
                Peso            = genValorMag.Gerar(rnd),
                Raridade        = rng.GerarEntre(1, 100, rnd),
                Tipo            = rng.GerarEntre(1, 100, rnd),
                Valor           = rng.GerarEntre(1, 100000, rnd),
                Magnitude       = rng.GerarEntre(1, 20, rnd),
                Massa           = genValorMag.Gerar(rnd),
            };

            resultado.Modificadores = genModificador.GerarListaComOrigem("Munição", resultado.Id, rng.GerarEntre(0, 5, rnd), rnd);

            return(resultado);
        }
示例#4
0
文件: Itens.cs 项目: pokenshin/Desire
        public Vestivel Gerar(Random rnd)
        {
            GeradorInteiro     rng            = new GeradorInteiro();
            GeradorValorMag    genValorMag    = new GeradorValorMag();
            GeradorMaterial    genMaterial    = new GeradorMaterial();
            GeradorString      genString      = new GeradorString();
            GeradorModificador genModificador = new GeradorModificador();
            Vestivel           resultado      = new Vestivel()
            {
                Id = rng.GerarEntre(1, 1000, rnd),
                Caracteristicas = "Vestivel gerado aleatoriamente",
                Comprimento     = genValorMag.Gerar(rnd),
                Essencia        = rng.GerarEntre(1, 100000, rnd),
                Energia         = rng.GerarEntre(0, 100000, rnd),
                Largura         = genValorMag.Gerar(rnd),
                MaterialBase    = genMaterial.Gerar(rnd),
                Nivel           = rng.GerarEntre(1, 100, rnd),
                Nome            = genString.GerarTamanhoEspecifico(3, 8, rnd),
                Peso            = genValorMag.Gerar(rnd),
                Raridade        = rng.GerarEntre(1, 100, rnd),
                Tipo            = rng.GerarEntre(1, 100, rnd),
                Valor           = rng.GerarEntre(1, 100000, rnd),
                Magnitude       = rng.GerarEntre(1, 20, rnd),
                Massa           = genValorMag.Gerar(rnd),
                ResCorte        = genValorMag.Gerar(rnd),
                ResDegeneracao  = genValorMag.Gerar(rnd),
                ResImpacto      = genValorMag.Gerar(rnd),
                ResPenetracao   = genValorMag.Gerar(rnd),
                Slot            = rng.GerarEntre(1, 10, rnd)
            };

            resultado.Modificadores = genModificador.GerarListaComOrigem("Vestivel", resultado.Id, rng.GerarEntre(0, 5, rnd), rnd);
            return(resultado);
        }
示例#5
0
文件: Itens.cs 项目: pokenshin/Desire
        public ArmaBranca Gerar(Random rnd)
        {
            int        tipoDanoBranca = rng.GerarEntre(1, 4, rnd);
            ArmaBranca armaBranca     = new ArmaBranca()
            {
                Comprimento          = geradorValorMag.Gerar(rnd),
                Energia              = rng.GerarEntre(1, 10000, rnd),
                Essencia             = rng.GerarEntre(1, 10000, rnd),
                Largura              = geradorValorMag.Gerar(rnd),
                Magnitude            = rng.GerarEntre(1, 100, rnd),
                Massa                = geradorValorMag.Gerar(rnd),
                Nivel                = rng.GerarEntre(1, 10000, rnd),
                Peso                 = geradorValorMag.Gerar(rnd),
                Tipo                 = 0, //TODO: inserir codigo de "ArmaBranca"
                Nome                 = geradorString.GerarTamanhoEspecifico(3, 10, rnd),
                Raridade             = rng.GerarEntre(1, 10000, rnd),
                Id                   = rng.GerarEntre(1, 100, rnd),
                AtributoBonus        = tiposAtributo[rng.GerarEntre(0, tiposAtributo.Length - 1, rnd)],
                Caracteristicas      = "Arma Branca gerada aleatoriamente",
                MaterialBase         = geradorMaterial.Gerar(rnd),
                MultiplicadorCritico = rng.GerarEntre(1, 10, rnd),
                Slot                 = rng.GerarEntre(1, 10, rnd)
            };

            armaBranca.Modificadores = geradorModificador.GerarListaComOrigem("Arma", armaBranca.Id, rng.GerarEntre(1, 5, rnd), rnd);
            armaBranca.Valor         = armaBranca.MaterialBase.Valor + rng.GerarEntre(1, 1000000, rnd);

            if (tipoDanoBranca == 1)
            {
                armaBranca.DanoCorte = rng.GerarEntre(1, 100000, rnd);
            }
            else if (tipoDanoBranca == 2)
            {
                armaBranca.DanoImpacto = rng.GerarEntre(1, 100000, rnd);
            }
            else if (tipoDanoBranca == 3)
            {
                armaBranca.DanoPenetracao = rng.GerarEntre(1, 1000000, rnd);
            }
            if (geradorBoolean.GeraComChance(10, rnd))
            {
                armaBranca.ModificadorDano = "por ki";
            }

            return(armaBranca);
        }
示例#6
0
        public Ideia Gerar(Random rnd)
        {
            Ideia atributo = new Ideia()
            {
                Base        = rng.GerarEntre(1, 1000, rnd),
                Nivel       = rng.GerarEntre(1, 5, rnd),
                Pontos      = rng.GerarEntre(1, 100, rnd),
                Porcentagem = rvmg.Gerar(rnd),
                Classe      = rsg.GerarTamanhoEspecifico(1, 1, rnd),
                Irrealidade = rvmg.Gerar(rnd),
                Ki          = rng.GerarEntre(1, 1000, rnd),
                Misterio    = rvmg.Gerar(rnd),
                Nexo        = rvmg.Gerar(rnd),
                BonusMP     = rvmg.Gerar(rnd)
            };

            return(atributo);
        }
示例#7
0
        public Forca Gerar(Random rnd)
        {
            Forca atributo = new Forca()
            {
                Sustentacao = rvmg.Gerar(rnd),
                Classe      = rsg.GerarTamanhoEspecifico(1, 1, rnd),
                Dureza      = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal),
                Golpe       = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal),
                Nivel       = rng.GerarEntre(1, 5, rnd),
                Pontos      = rng.GerarEntre(1, 100, rnd),
                Porcentagem = rvmg.Gerar(rnd),
                Potencia    = rvmg.Gerar(rnd),
                Vigor       = rvmg.Gerar(rnd),
                BonusCP     = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal)
            };

            return(atributo);
        }
示例#8
0
        public EfeitoCura Gerar(Random rnd)
        {
            GeradorInteiro       rng           = new GeradorInteiro();
            GeradorValorMag      genValorMag   = new GeradorValorMag();
            GeradorDuracaoEfeito genDuracao    = new GeradorDuracaoEfeito();
            GeradorEnergia       genEnergia    = new GeradorEnergia();
            GeradorTipoDeAlvo    genTipoDeAlvo = new GeradorTipoDeAlvo();
            EfeitoCura           resultado     = new EfeitoCura()
            {
                Duracao     = genDuracao.Gerar(rnd),
                EnergiaAlvo = genEnergia.Gerar(rnd),
                TipoDeAlvo  = genTipoDeAlvo.Gerar(rnd),
                Valor       = genValorMag.Gerar(rnd)
            };

            return(resultado);
        }
示例#9
0
        public DuracaoEfeito Gerar(Random rnd)
        {
            GeradorInteiro rng = new GeradorInteiro();


            List <string> tiposDuracao = new List <String>()
            {
                "Limitado",
                "Canal",
                "Marca",
                "Postura",
                "Permanente",
                "Instantâneo"
            };

            List <string> unidadesDuracao = new List <string>()
            {
                "Turnos",
                "Segundos",
                "Minutos",
                "Horas",
                "Dias",
                "Meses",
                "Anos",
                "Séculos",
                "Milênios",
                "Gêneses"
            };

            DuracaoEfeito resultado = new DuracaoEfeito()
            {
                TipoDuracao = tiposDuracao[rng.GerarEntre(0, tiposDuracao.Count - 1, rnd)],
            };

            if (resultado.TipoDuracao == "Limitado")
            {
                GeradorValorMag genValorMag = new GeradorValorMag();
                resultado.UnidadeDuracao = unidadesDuracao[rng.GerarEntre(0, unidadesDuracao.Count - 1, rnd)];
                resultado.ValorDuracao   = genValorMag.Gerar(rnd);
            }
            return(resultado);
        }
示例#10
0
        public Materia Gerar(Random rnd)
        {
            Materia atributo = new Materia()
            {
                Nivel       = rng.GerarEntre(1, 5, rnd),
                Pontos      = rng.GerarEntre(1, 100, rnd),
                Porcentagem = rvmg.Gerar(rnd),
                Classe      = rsg.GerarTamanhoEspecifico(1, 1, rnd),
                Colapso     = rvmg.Gerar(rnd),
                Impulso     = rvmg.Gerar(rnd),
                Resistencia = rvmg.Gerar(rnd),
                Vitalidade  = rvmg.Gerar(rnd),
                BonusHP     = rvmg.Gerar(rnd),
                BonusCP     = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal),
                Carga       = rvmg.Gerar(rnd)
            };

            return(atributo);
        }
示例#11
0
        public Intelecto Gerar(Random rnd)
        {
            Intelecto atributo = new Intelecto()
            {
                Nivel        = rng.GerarEntre(1, 5, rnd),
                Pontos       = rng.GerarEntre(1, 100, rnd),
                Porcentagem  = rvmg.Gerar(rnd),
                Classe       = rsg.GerarTamanhoEspecifico(1, 1, rnd),
                Aprendizagem = rvmg.Gerar(rnd),
                Concentracao = rvmg.Gerar(rnd),
                Eidos        = rvmg.Gerar(rnd),
                Memoria      = rvmg.Gerar(rnd),
                Senso        = rvmg.Gerar(rnd),
                BonusCP      = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal)
            };

            return(atributo);
        }
示例#12
0
        public Ser Gerar(Random rnd)
        {
            //TODO: Pegar valores aleatórios do banco de dados ao invés de gera-los aleatoriamente
            //TODO: Restringir o tempo baseado nas restrições de tempo da espécie selecionada
            GeradorString       genString       = new GeradorString();
            GeradorValorMag     genValorMag     = new GeradorValorMag();
            GeradorInteiro      rng             = new GeradorInteiro();
            GeradorCriatividade genCriatividade = new GeradorCriatividade();
            GeradorDestreza     genDestreza     = new GeradorDestreza();
            GeradorExistencia   genExistencia   = new GeradorExistencia();
            GeradorForca        genForca        = new GeradorForca();
            GeradorIdeia        genIdeia        = new GeradorIdeia();
            GeradorIntelecto    genIntelecto    = new GeradorIntelecto();
            GeradorMateria      genMateria      = new GeradorMateria();
            GeradorOrigem       genOrigem       = new GeradorOrigem();
            GeradorEspecie      genEspecie      = new GeradorEspecie();
            GeradorClasse       genClasse       = new GeradorClasse();
            GeradorIndole       genIndole       = new GeradorIndole();
            GeradorRei          genRei          = new GeradorRei();
            GeradorPericia      genPericia      = new GeradorPericia();
            GeradorItem         genItem         = new GeradorItem();
            GeradorModificador  genModificador  = new GeradorModificador();
            GeradorResistencia  genResistencia  = new GeradorResistencia();
            GeradorEquipamento  genEquipamento  = new GeradorEquipamento();
            GeradorHabilidade   genHabilidade   = new GeradorHabilidade();
            GeradorEvolucao     genEvolucao     = new GeradorEvolucao();
            GeradorEnergia      genEnergia      = new GeradorEnergia();
            CalculadorSer       calculador      = new CalculadorSer();

            string primeiroNome = genString.GerarTamanhoEspecifico(2, 6, rnd);
            string segundoNome  = genString.GerarTamanhoEspecifico(0, 9, rnd);

            Ser ser = new Ser()
            {
                Origem = genOrigem.Gerar(rnd),
                Tempo  = rng.GerarEntre(1, 1000, rnd),
                //Reverter alteração para gerar mais de uma espécie quando a interface de espécies estiver criada
                Especies = genEspecie.GerarLista(rng.GerarEntre(1, 1, rnd), rnd),
                Classes  = genClasse.GerarLista(rng.GerarEntre(1, 3, rnd), rnd),
                Indole   = genIndole.Gerar(rnd),
                Reis     = genRei.GerarLista(rng.GerarEntre(0, 5, rnd), rnd),
                Ki       = rng.GerarEntre(0, 1000, rnd),
                Nivel    = rng.GerarEntre(0, 1000, rnd),
                //Atributos
                Forca        = genForca.Gerar(rnd),
                Materia      = genMateria.Gerar(rnd),
                Destreza     = genDestreza.Gerar(rnd),
                Intelecto    = genIntelecto.Gerar(rnd),
                Criatividade = genCriatividade.Gerar(rnd),
                Existencia   = genExistencia.Gerar(rnd),
                Ideia        = genIdeia.Gerar(rnd),
                //Evolução
                EvolucaoCriatividade = genEvolucao.Gerar(rnd),
                EvolucaoDestreza     = genEvolucao.Gerar(rnd),
                EvolucaoExistencia   = genEvolucao.Gerar(rnd),
                EvolucaoForca        = genEvolucao.Gerar(rnd),
                EvolucaoIdeia        = genEvolucao.Gerar(rnd),
                EvolucaoIntelecto    = genEvolucao.Gerar(rnd),
                EvolucaoMateria      = genEvolucao.Gerar(rnd),
                //Perícias
                Pericias = genPericia.GerarLista(rng.GerarEntre(1, 20, rnd), rnd),
                //Itens e Equips
                Posses = genItem.GerarLista(rng.GerarEntre(1, 20, rnd), rnd),
                //Virtudes
                Dons = genModificador.GerarListaComOrigem("Virtudes", 3, rng.GerarEntre(1, 5, rnd), rnd, '+'),
                //Defeitos
                Defeitos = genModificador.GerarListaComOrigem("Defeitos", 6, rng.GerarEntre(1, 5, rnd), rnd, '-'),
                //Resistências
                Resistencias = genResistencia.GerarLista(rng.GerarEntre(0, 10, rnd), rnd),
                //Gênese
                Genese = rng.GerarEntre(1, 5, rnd),
                //Geração
                Geracao = rng.GerarEntre(1, 10, rnd),
                //Trajetória
                Trajetoria = "Trajetória Gerada Aleatóriamente",
                //Elo Divino
                EloDivino = "Elo Divino Gerado Aleatóriamente",
                //Idumentária
                Idumentaria = "Idumentária gerada aleatoriamente",
                //Subatributo Subatributos Extra
                SubatributoExtraNome1  = genString.GerarTamanhoEspecifico(3, 10, rnd),
                SubatributoExtraValor1 = genValorMag.Gerar(rnd),
                SubatributoExtraNome2  = genString.GerarTamanhoEspecifico(3, 10, rnd),
                SubatributoExtraValor2 = genValorMag.Gerar(rnd),
                //Habilidades
                Habilidades = genHabilidade.GerarLista(rng.GerarEntre(2, 10, rnd), rnd),
                //Alma
                Alma = genString.GerarLista(5, rnd)
            };

            //Itens Equipados
            ser.Equipamentos = genEquipamento.GerarLista(ser.Especies[0].MaxItensEquipados, rnd);

            //Geradores
            //Identidade
            if (segundoNome.Length == 0)
            {
                ser.Nome = primeiroNome;
            }
            else
            {
                ser.Nome = primeiroNome + " " + segundoNome;
            }

            //Calcula outros valores
            ser = calculador.CalculaSer(ser);

            return(ser);
        }
示例#13
0
文件: Itens.cs 项目: pokenshin/Desire
        public ArmaDeTiro Gerar(Random rnd)
        {
            GeradorInteiro     rng            = new GeradorInteiro();
            GeradorValorMag    genValorMag    = new GeradorValorMag();
            GeradorMaterial    genMaterial    = new GeradorMaterial();
            GeradorString      genString      = new GeradorString();
            GeradorMunicao     genMunicao     = new GeradorMunicao();
            GeradorModificador genModificador = new GeradorModificador();
            GeradorBoolean     genBoolean     = new GeradorBoolean();
            int tipoDano = rng.GerarEntre(1, 4, rnd);

            string[]   tiposOperacao = new string[] { "FullAuto", "Burst", "Single", "Pump", "Charge" };
            int        operacoes     = 0;
            ArmaDeTiro armaDeFogo    = new ArmaDeTiro()
            {
                Id = rng.GerarEntre(1, 1000, rnd),
                Caracteristicas = "Arma de Fogo gerada aleatoriamente",
                Comprimento     = genValorMag.Gerar(rnd),
                DistanciaMax    = genValorMag.Gerar(rnd),
                DistanciaMin    = genValorMag.Gerar(rnd),
                Essencia        = rng.GerarEntre(1, 100000, rnd),
                Energia         = rng.GerarEntre(0, 100000, rnd),
                Largura         = genValorMag.Gerar(rnd),
                MaterialBase    = genMaterial.Gerar(rnd),
                Nivel           = rng.GerarEntre(1, 100, rnd),
                Nome            = genString.GerarTamanhoEspecifico(3, 8, rnd),
                Peso            = genValorMag.Gerar(rnd),
                Raridade        = rng.GerarEntre(1, 100, rnd),
                Tipo            = rng.GerarEntre(1, 100, rnd),
                TipoCarga       = genMunicao.Gerar(rnd),
                TirosPorCarga   = rng.GerarEntre(1, 100000, rnd),
                Valor           = rng.GerarEntre(1, 100000, rnd),
            };

            armaDeFogo.Modificadores = genModificador.GerarListaComOrigem("Arma", armaDeFogo.Id, rng.GerarEntre(0, 5, rnd), rnd);

            operacoes = rng.GerarEntre(1, tiposOperacao.Length, rnd);
            for (int i = 0; i < operacoes; i++)
            {
                armaDeFogo.Operacoes    = new string[tiposOperacao.Length];
                armaDeFogo.Operacoes[i] = tiposOperacao[rng.GerarEntre(0, tiposOperacao.Length - 1, rnd)];
            }

            if (tipoDano == 1)
            {
                armaDeFogo.DanoCorte = rng.GerarEntre(1, 100000, rnd);
            }
            else if (tipoDano == 2)
            {
                armaDeFogo.DanoImpacto = rng.GerarEntre(1, 100000, rnd);
            }
            else if (tipoDano == 3)
            {
                armaDeFogo.DanoPenetracao = rng.GerarEntre(1, 1000000, rnd);
            }
            if (genBoolean.GeraComChance(10, rnd))
            {
                armaDeFogo.ModificadorDano = "por ki";
            }

            armaDeFogo.TirosPorAcao = armaDeFogo.TirosPorCarga - rng.GerarEntre(0, 100000, rnd);

            return(armaDeFogo);
        }