Change Totem sprite indication to orange aura

Closes #3880

Co-Authored-By: Jonathan Herbert <3344332+foohyfooh@users.noreply.github.com>
This commit is contained in:
Kurt 2023-05-12 14:57:32 -07:00
parent 1ed6efd465
commit d2bed713e4
2 changed files with 6 additions and 3 deletions

View file

@ -145,9 +145,12 @@ public abstract class SpriteBuilder : ISpriteBuilder<Image>
{ {
var baseform = FormInfo.GetTotemBaseForm(species, form); var baseform = FormInfo.GetTotemBaseForm(species, form);
var baseImage = GetBaseImageDefault(species, baseform, gender, formarg, shiny, context); var baseImage = GetBaseImageDefault(species, baseform, gender, formarg, shiny, context);
if (baseImage == null) if (baseImage is not Bitmap b)
return null; return null;
return ImageUtil.ToGrayscale(baseImage);
SpriteUtil.GetSpriteGlow(baseImage, 0, 165, 255, out var pixels, true);
var layer = ImageUtil.GetBitmap(pixels, b.Width, b.Height, b.PixelFormat);
return ImageUtil.LayerImage(baseImage, layer, 0, 0);
} }
private Image? GetBaseImageDefault(ushort species, byte form, int gender, uint formarg, bool shiny, EntityContext context) private Image? GetBaseImageDefault(ushort species, byte form, int gender, uint formarg, bool shiny, EntityContext context)

View file

@ -231,7 +231,7 @@ public static class ImageUtil
{ {
if (data[i + 3] == 0) if (data[i + 3] == 0)
continue; continue;
byte greyS = (byte)(((0.3 * data[i + 2]) + (0.59 * data[i + 1]) + (0.11 * data[i + 0])) / 3); byte greyS = (byte)(((0.3 * data[i + 2]) + (0.59 * data[i + 1]) + (0.11 * data[i + 0])));
data[i + 0] = greyS; data[i + 0] = greyS;
data[i + 1] = greyS; data[i + 1] = greyS;
data[i + 2] = greyS; data[i + 2] = greyS;