Add Energy Core sprite

This commit is contained in:
2025-11-21 21:06:14 +00:00
parent 358bf3d804
commit 16a6f8201e
4 changed files with 37 additions and 4 deletions
+35 -2
View File
@@ -1,21 +1,54 @@
using Terraria.ID;
using Terraria;
using Terraria.ModLoader;
using Terraria.DataStructures;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using ReLogic.Content;
using System;
using Terraria.GameContent;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Materials
{
public class EnergyCore : ModItem
{
private const int TICKS_PER_FRAME = 12;
private const int FRAME_COUNT = 2;
public override void SetStaticDefaults()
{
Main.RegisterItemAnimation(Type, new DrawAnimationVertical(TICKS_PER_FRAME, FRAME_COUNT));
}
public override void SetDefaults()
{
Item.width = 20;
Item.height = 20;
Item.width = 64;
Item.height = 64;
Item.maxStack = 9999;
Item.rare = ModContent.RarityType<SingularityItem>();
Item.value = Item.buyPrice(gold: 50);
}
public override bool PreDrawInWorld(SpriteBatch spriteBatch, Color lightColor, Color alphaColor, ref float rotation, ref float scale, int whoAmI)
{
Texture2D texture = Terraria.GameContent.TextureAssets.Item[Type].Value;
// Protect against incorrect frame count
int frameHeight = texture.Height / Math.Max(1, FRAME_COUNT);
int frame = (int)((Main.GameUpdateCount / (ulong)Math.Max(1, TICKS_PER_FRAME)) % (ulong)Math.Max(1, FRAME_COUNT));
Rectangle source = new Rectangle(0, frame * frameHeight, texture.Width, frameHeight);
Vector2 drawPos = Item.Center - Main.screenPosition;
Vector2 origin = new Vector2(source.Width / 2f, source.Height / 2f);
// Use alphaColor for dropped items (includes item alpha), multiplied by light
Color drawColor = lightColor;
spriteBatch.Draw(texture, drawPos, source, drawColor, rotation, origin, scale, SpriteEffects.None, 0f);
return false; // we've handled the draw
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 32 KiB

-1
View File
@@ -20,7 +20,6 @@ namespace ForgottenWawiTech.Content.Items.Materials
public override void SetStaticDefaults()
{
Main.RegisterItemAnimation(Type, new DrawAnimationVertical(TICKS_PER_FRAME, FRAME_COUNT));
}
public override void SetDefaults()