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}")); }
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")); }
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); }
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); }
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")); }
public static SKBitmap GetRibbonSprite(string name, int max, int value) { var resource = GetRibbonSpriteName(name, max, value); return(SpriteBuilder.LoadBitmapResource("ribbon." + resource)); }
public static SKBitmap GetRibbonSprite(string name) { var resource = name.Replace("CountG3", "G3").ToLower(); return(SpriteBuilder.LoadBitmapResource("ribbon." + resource)); }
public static SKBitmap GetBallSprite(int ball) { string resource = SpriteName.GetResourceStringBall(ball); return(SpriteBuilder.LoadBitmapResource("ball." + resource) ?? SpriteBuilder.LoadBitmapResource("ball._ball4")); // Poké Ball (default) }