Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Specialized;
- using System.ComponentModel.Design;
- using System.IO;
- using System.Reflection.Metadata;
- class LCG
- {
- static void Main()
- {
- Console.Write("DPt Veilstone Slot RNG (Setting 0x5)\n");
- Console.Write("Enter Initial SEED : 0x"); // 初期SEED入力
- if (uint.TryParse(Console.ReadLine(), System.Globalization.NumberStyles.HexNumber, null, out uint Seed))
- {
- Console.Write("Enter SEED Count(10^3):"); //SeedCount入力(10^3)
- if (int.TryParse(Console.ReadLine(), out int count) && count > 0)
- {
- count = count * 1000;
- string outputPath = $"DPt Slot.txt";
- using (StreamWriter writer = new(outputPath))
- for (int i = 0; i < count; i++,Seed = NextSeed(Seed))
- {
- uint mod = (Seed >> 16) % 0x64;
- if (mod <= 34) //ボール抽選
- {
- uint ASeed = Seed;
- ASeed = NextSeed(ASeed);
- uint Amod = (ASeed >> 16) % 0x64;
- uint BSeed = ASeed;
- uint Bmod, Cmod;
- if (Amod <= 3) //中身抽選
- {
- BSeed = NextSeed(BSeed);
- BSeed = NextSeed(BSeed);
- Bmod = (BSeed >> 16) % 0x64;
- uint CSeed = NextSeed(BSeed);
- Cmod = (CSeed >> 16) % 0x64;
- if (0 <= Bmod && Bmod <= 4 || 70 <= Bmod) //ABCテーブル抽選
- {
- if (Cmod <=4) //Shiny抽選
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Shiny>"); }
- else if (5 <= Bmod && Bmod <= 24)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Normal>"); }
- else if (25 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Ditto>"); }
- }
- else if (5 <= Bmod && Bmod <= 24 || 60 <= Bmod && Bmod <= 69)
- {
- if (Cmod <= 19)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Shiny>"); }
- else if (20 <= Bmod && Bmod <= 79)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Normal>"); }
- else if (80 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Ditto>"); }
- }
- else if (25 <= Bmod && Bmod <= 59)
- {
- if (Cmod <= 74)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Shiny>"); }
- else if (75 <= Bmod && Bmod <= 94)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Normal>"); }
- else if (95 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)モンスターボール<Ditto>"); }
- }
- }
- else if (Amod == 4)
- {
- writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} モンスターボール");
- }
- else if (5 <= Amod && Amod <= 10)
- {
- BSeed = NextSeed(BSeed);
- BSeed = NextSeed(BSeed);
- Bmod = (BSeed >> 16) % 0x64;
- uint CSeed = NextSeed(BSeed);
- Cmod = (CSeed >> 16) % 0x64;
- if (0 <= Bmod && Bmod <= 4 || 70 <= Bmod)
- {
- if (Cmod <= 4)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Shiny>"); }
- else if (5 <= Bmod && Bmod <= 24)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Normal>"); }
- else if (25 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Ditto>"); }
- }
- else if (5 <= Bmod && Bmod <= 24 || 60 <= Bmod && Bmod <= 69)
- {
- if (Cmod <= 19)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Shiny>"); }
- else if (20 <= Bmod && Bmod <= 79)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Normal>"); }
- else if (80 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Ditto>"); }
- }
- else if (25 <= Bmod && Bmod <= 59)
- {
- if (Cmod <= 74)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Shiny>"); }
- else if (75 <= Bmod && Bmod <= 94)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Normal>"); }
- else if (95 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)サファリボール<Ditto>"); }
- }
- }
- else if (11 <= Amod && Amod <= 19)
- {
- writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} サファリボール");
- }
- else if (20 <= Amod && Amod <= 22)
- {
- BSeed = NextSeed(BSeed);
- BSeed = NextSeed(BSeed);
- Bmod = (BSeed >> 16) % 0x64;
- uint CSeed = NextSeed(BSeed);
- Cmod = (CSeed >> 16) % 0x64;
- if (0 <= Bmod && Bmod <= 4 || 70 <= Bmod)
- {
- if (Cmod <= 4)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Shiny>"); }
- else if (5 <= Bmod && Bmod <= 24)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Normal>"); }
- else if (25 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Ditto>"); }
- }
- else if (5 <= Bmod && Bmod <= 24 || 60 <= Bmod && Bmod <= 69)
- {
- if (Cmod <= 19)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Shiny>"); }
- else if (20 <= Bmod && Bmod <= 79)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Normal>"); }
- else if (80 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Ditto>"); }
- }
- else if (25 <= Bmod && Bmod <= 59)
- {
- if (Cmod <= 74)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Shiny>"); }
- else if (75 <= Bmod && Bmod <= 94)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Normal>"); }
- else if (95 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)ハイパーボール<Ditto>"); }
- }
- }
- else if (23 <= Amod && Amod <= 59)
- {
- writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} ハイパーボール");
- }
- else if (60 <= Amod && Amod <= 62)
- {
- BSeed = NextSeed(BSeed);
- BSeed = NextSeed(BSeed);
- Bmod = (BSeed >> 16) % 0x64;
- uint CSeed = NextSeed(BSeed);
- Cmod = (CSeed >> 16) % 0x64;
- if (0 <= Bmod && Bmod <= 4 || 70 <= Bmod)
- {
- if (Cmod <= 4)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Shiny>"); }
- else if (5 <= Bmod && Bmod <= 24)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Normal>"); }
- else if (25 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Ditto>"); }
- }
- else if (5 <= Bmod && Bmod <= 24 || 60 <= Bmod && Bmod <= 69)
- {
- if (Cmod <= 19)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Shiny>"); }
- else if (20 <= Bmod && Bmod <= 79)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Normal>"); }
- else if (80 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Ditto>"); }
- }
- else if (25 <= Bmod && Bmod <= 59)
- {
- if (Cmod <= 74)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Shiny>"); }
- else if (75 <= Bmod && Bmod <= 94)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Normal>"); }
- else if (95 <= Bmod)
- { writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} (P)スーパーボール<Ditto>"); }
- }
- }
- else if (63 <= Amod && Amod <= 99)
- {
- writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod} スーパーボール");
- }
- }
- else
- {
- writer.WriteLine($"Seed = 0x{Seed:X8}, mod = {mod}");
- }
- }
- Console.WriteLine($"Generated {count} seeds. Output saved to {outputPath}");
- }else { Console.WriteLine("Invalid Input for SEED Count."); }
- }else { Console.WriteLine("Invalid Input for Initial SEED."); }
- }
- static uint NextSeed(uint Seed)
- {
- uint a = 1103515245;
- uint b = 24691;
- return a * Seed + b;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement