public Municao Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorMaterial genMaterial = new GeradorMaterial(); GeradorString genString = new GeradorString(); GeradorModificador genModificador = new GeradorModificador(); Municao resultado = new Municao() { 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), CorteBonus = genValorMag.Gerar(rnd), DanoBonus = genValorMag.Gerar(rnd), ImpactoBonus = genValorMag.Gerar(rnd), PenetracaoBonus = genValorMag.Gerar(rnd) }; resultado.Modificadores = genModificador.GerarListaComOrigem("Munição", resultado.Id, rng.GerarEntre(0, 5, rnd), rnd); return(resultado); }
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); }
public Item Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); //Número de tipos de item diferentes. Utilizado para aleatorizar o tipo de item a ser gerado. Adicionar mais um a cada novo tipo de item adicionado int quantidadeTiposDeItem = 7; int tipoDeItem = rng.GerarEntre(1, quantidadeTiposDeItem, rnd); switch (tipoDeItem) { //ArmaBranca case 1: GeradorArmaBranca genArmaBranca = new GeradorArmaBranca(); return(genArmaBranca.Gerar(rnd)); //ArmaDeTiro case 2: GeradorArmaDeTiro genArmaDeTiro = new GeradorArmaDeTiro(); return(genArmaDeTiro.Gerar(rnd)); //Consumivel case 3: GeradorConsumivel genConsumivel = new GeradorConsumivel(); return(genConsumivel.Gerar(rnd)); //Material case 4: GeradorMaterial genMaterial = new GeradorMaterial(); return(genMaterial.Gerar(rnd)); //Municao case 5: GeradorMunicao genMunicao = new GeradorMunicao(); return(genMunicao.Gerar(rnd)); //Posse case 6: GeradorPosse genPosse = new GeradorPosse(); return(genPosse.Gerar(rnd)); //Vestivel case 7: GeradorVestivel genVestivel = new GeradorVestivel(); return(genVestivel.Gerar(rnd)); default: return(null); } }
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); }
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); }