Beispiel #1
0
 public static SKBitmap GetTypeSprite(int type, int generation = PKX.Generation)
 {
     if (generation <= 2)
     {
         type = (int)((MoveType)type).GetMoveTypeGeneration(generation);
     }
     return(SpriteBuilder.LoadBitmapResource($"type.type_icon_{type:00}"));
 }
Beispiel #2
0
        private static SKBitmap GetWallpaper(SaveFile sav, int box)
        {
            string s      = BoxWallpaper.GetWallpaperResourceName(sav.Version, sav.GetBoxWallpaper(box));
            var    folder = s.Substring(8);

            s = $"box.{folder}.{s}";
            return(SpriteBuilder.LoadBitmapResource(s) ?? SpriteBuilder.LoadBitmapResource("box.xy.box_wp16xy"));
        }
Beispiel #3
0
        private static SKBitmap GetSprite(PKM pk, SaveFile sav, int box, int slot, bool flagIllegal = false)
        {
            if (!pk.Valid)
            {
                return(null);
            }

            bool inBox  = (uint)slot < MaxSlotCount;
            bool empty  = pk.Species == 0;
            var  sprite = empty ? null : pk.Sprite(isBoxBGRed: inBox && BoxWallpaper.IsWallpaperRed(sav.Version, sav.GetBoxWallpaper(box)));

            if (!empty && flagIllegal)
            {
                if (box >= 0)
                {
                    pk.Box = box;
                }
                var la = new LegalityAnalysis(pk, sav.Personal);
                if (!la.Valid)
                {
                    sprite = ImageUtil.LayerImage(sprite, SpriteBuilder.LoadBitmapResource("warn"), 0, FlagIllegalShiftY);
                }
            }
            if (inBox) // in box
            {
                var flags = sav.GetSlotFlags(box, slot);
                if (flags.HasFlagFast(StorageSlotFlag.Locked))
                {
                    sprite = ImageUtil.LayerImage(sprite, SpriteBuilder.LoadBitmapResource("misc.locked"), SlotLockShiftX, 0);
                }
                int team = flags.IsBattleTeam();
                if (team >= 0)
                {
                    sprite = ImageUtil.LayerImage(sprite, SpriteBuilder.LoadBitmapResource("misc.team"), SlotTeamShiftX, 0);
                }
                int party = flags.IsParty();
                if (party >= 0)
                {
                    sprite = ImageUtil.LayerImage(sprite, PartyMarks[party], PartyMarkShiftX, 0);
                }
                if (flags.HasFlagFast(StorageSlotFlag.Starter))
                {
                    sprite = ImageUtil.LayerImage(sprite, SpriteBuilder.LoadBitmapResource("misc.starter"), 0, 0);
                }
            }

            return(sprite);
        }
Beispiel #4
0
        private static SKBitmap GetSprite(PKM pk, bool isBoxBGRed = false)
        {
            var img = GetSprite(pk.Species, pk.AltForm, pk.Gender, pk.SpriteItem, pk.IsEgg, pk.IsShiny, pk.Format, isBoxBGRed);

            if (pk is IShadowPKM s && s.Purification > 0)
            {
                const int Lugia = 249;
                if (pk.Species == Lugia) // show XD shadow sprite
                {
                    img = Spriter.GetSprite(SpriteBuilder.LoadBitmapResource("pkm.249x"), Lugia, pk.HeldItem, pk.IsEgg, pk.IsShiny, pk.Format, isBoxBGRed);
                }
                GetSpriteGlow(img, 75, 0, 130, out var pixels, true);
                var glowImg = img.Copy();
                ImageUtil.SetBitmapData(glowImg, pixels);
                img = ImageUtil.LayerImage(glowImg, img, 0, 0);
            }
            return(img);
        }
Beispiel #5
0
 private static SKBitmap GetBaseImage(MysteryGift gift)
 {
     if (gift.IsEgg && gift.Species == 490) // Manaphy Egg
     {
         return(SpriteBuilder.LoadBitmapResource("pkm.490_e"));
     }
     if (gift.IsPokémon)
     {
         return(GetSprite(gift.Species, gift.Form, gift.Gender, gift.HeldItem, gift.IsEgg, gift.IsShiny, gift.Format));
     }
     if (gift.IsItem)
     {
         int item = gift.ItemID;
         if (Legal.ZCrystalDictionary.TryGetValue(item, out int value))
         {
             item = value;
         }
         return(SpriteBuilder.LoadBitmapResource($"item.item_{item}") ?? SpriteBuilder.LoadBitmapResource("bag.Bag_Key"));
     }
     return(SpriteBuilder.LoadBitmapResource("pkm.unknown"));
 }
Beispiel #6
0
        public static SKBitmap GetRibbonSprite(string name, int max, int value)
        {
            var resource = GetRibbonSpriteName(name, max, value);

            return(SpriteBuilder.LoadBitmapResource("ribbon." + resource));
        }
Beispiel #7
0
        public static SKBitmap GetRibbonSprite(string name)
        {
            var resource = name.Replace("CountG3", "G3").ToLower();

            return(SpriteBuilder.LoadBitmapResource("ribbon." + resource));
        }
Beispiel #8
0
        public static SKBitmap GetBallSprite(int ball)
        {
            string resource = SpriteName.GetResourceStringBall(ball);

            return(SpriteBuilder.LoadBitmapResource("ball." + resource) ?? SpriteBuilder.LoadBitmapResource("ball._ball4")); // Poké Ball (default)
        }