Esempio n. 1
0
        public static Image GenerateQRCode7(PK7 pk7, int box = 0, int slot = 0, int num_copies = 1)
        {
            byte[] data = QR7.GenerateQRData(pk7, box, slot, num_copies);
            var    msg  = QRMessageUtil.GetMessage(data);

            return(GenerateQRCode(msg, ppm: 4));
        }
Esempio n. 2
0
 public byte[] GenQR(PKM pokemon)
 {
     try
     {
         string          data               = QRMessageUtil.GetMessage(pokemon);
         QRCodeGenerator qrGenerator        = new QRCodeGenerator();
         QRCodeData      qrCodeData         = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.L);
         PngByteQRCode   qrCode             = new PngByteQRCode(qrCodeData);
         byte[]          qrCodeAsPngByteArr = qrCode.GetGraphic(3);
         qrCode.Dispose();
         qrGenerator.Dispose();
         return(qrCodeAsPngByteArr);
     } catch (Exception e)
     {
         Console.WriteLine(e.ToString());
         return(null);
     }
 }
Esempio n. 3
0
 public static Image GenerateQRCode(PKM pkm) => GenerateQRCode(QRMessageUtil.GetMessage(pkm));
Esempio n. 4
0
 public static Image GenerateQRCode(DataMysteryGift mg) => GenerateQRCode(QRMessageUtil.GetMessage(mg));
Esempio n. 5
0
        public PokemonSummary(PKM pkm, GameStrings strings) : base(pkm, strings)
        {
            Ribbons = new List <string>();
            foreach (var ribbon in RibbonInfo.GetRibbonInfo(pkm))
            {
                if (ribbon.HasRibbon)
                {
                    Ribbons.Add(RibbonStrings.GetName(ribbon.Name));
                }
            }
            Moves = new List <Move>
            {
                new Move()
                {
                    Move_Name = Move1, Move_Type = MoveType.MT[pkm.Move1].Type, Move_PP = Move1_PP, Move_PP_Up = Move1_PPUp
                },
                new Move()
                {
                    Move_Name = Move2, Move_Type = MoveType.MT[pkm.Move2].Type, Move_PP = Move2_PP, Move_PP_Up = Move2_PPUp
                },
                new Move()
                {
                    Move_Name = Move3, Move_Type = MoveType.MT[pkm.Move3].Type, Move_PP = Move3_PP, Move_PP_Up = Move3_PPUp
                },
                new Move()
                {
                    Move_Name = Move4, Move_Type = MoveType.MT[pkm.Move4].Type, Move_PP = Move4_PP, Move_PP_Up = Move4_PPUp
                }
            };

            Stats = new List <Stat>
            {
                new Stat()
                {
                    Stat_Name = "HP", Stat_IV = HP_IV, Stat_EV = HP_EV, Stat_Total = HP
                },
                new Stat()
                {
                    Stat_Name = "Attack", Stat_IV = ATK_IV, Stat_EV = ATK_EV, Stat_Total = ATK
                },
                new Stat()
                {
                    Stat_Name = "Defense", Stat_IV = DEF_IV, Stat_EV = DEF_EV, Stat_Total = DEF
                },
                new Stat()
                {
                    Stat_Name = "Speed", Stat_IV = SPE_IV, Stat_EV = SPE_EV, Stat_Total = SPE
                },
                new Stat()
                {
                    Stat_Name = "Special Attack", Stat_IV = SPA_IV, Stat_EV = SPA_EV, Stat_Total = SPA
                },
                new Stat()
                {
                    Stat_Name = "Special Defense", Stat_IV = SPD_IV, Stat_EV = SPD_EV, Stat_Total = SPD
                },
            };
            Generation        = Utils.GetGeneration(pkm);
            Form              = Utils.GetForm(pkm, pkm.Form);
            HeldItemSpriteURL = "";
            HT        = pkm.HT_Name;
            DexNumber = pkm.Species;
            Size      = pkm.SIZE_STORED;
            ItemNum   = pkm.HeldItem;
            var LC = new LegalityAnalysis(pkm);

            IllegalReasons   = LC.Report();
            IsLegal          = LC.Valid;
            QR               = Utils.GenerateQR(QRMessageUtil.GetMessage(pkm));
            Base64           = System.Convert.ToBase64String(pkm.DecryptedBoxData);
            SpeciesSpriteURL = Helpers.Sprite.getFormURL(DexNumber, Generation, Form, IsShiny, Gender, Species);
        }
Esempio n. 6
0
        public Legalize(PKM pk, string version)
        {
            CancellationTokenSource cts = new CancellationTokenSource(10000);

            try
            {
                var al = new AutoLegality(pk, version, cts);
                if (al.OkayToRun)
                {
                    PKM    pkmn;
                    Thread thread = new Thread(() => {
                        al.LegalizePokemon(cts);
                    });
                    thread.Start();
                    while (true)
                    {
                        if (cts.IsCancellationRequested)
                        {
                            thread.Interrupt();
                            pkmn = al.GetLegalPK();
                            break;
                        }
                        Thread.Sleep(100);
                    }
                    Success = al.Successful;
                    Report  = al.Report.Split('\n');
                    Ran     = al.Ran;
                    if (Success)
                    {
                        try
                        {
                            Pokemon = Convert.ToBase64String(pkmn.DecryptedBoxData);
                            Species = new PokemonSummary(pkmn, GameInfo.Strings).Species;
                            try
                            {
                                QR = Utils.GenerateQR(QRMessageUtil.GetMessage(pkmn));
                            }
                            catch
                            {
                                QR = "";
                            }
                        }
                        catch
                        {
                            Pokemon = "";
                            Species = "";
                            Success = false;
                            Ran     = true;
                            Report  = new[] { "Stuck in legalization!" };
                        }
                    }
                    else
                    {
                        Pokemon = "";
                    }
                }
                else
                {
                    Ran     = false;
                    Success = false;
                    Report  = new[] { "Could not run legalization!" };
                }
            }
            catch (Exception e)
            {
                cts.Cancel();
                if (SentrySdk.IsEnabled)
                {
                    SentrySdk.ConfigureScope(scope =>
                    {
                        scope.Contexts["pokemon"] = new
                        {
                            Version = version,
                            Base64  = Convert.ToBase64String(pk.DecryptedBoxData)
                        };
                    });
                    SentrySdk.CaptureException(e);
                }
            }
        }