Start code for corrupted swarm, add placeholder sprites for new sets, add Corrupted rarity.
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
{
|
||||
@@ -33,7 +34,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 18)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 12)
|
||||
.AddIngredient(ModContent.ItemType<AvaliScoutChestplate>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<AvaliSkirmisherChestplate>(), 1)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
{
|
||||
@@ -51,7 +52,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
|
||||
.AddIngredient(ModContent.ItemType<AvaliScoutCowl>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<AvaliSkirmisherCowl>(), 1)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
{
|
||||
@@ -52,7 +53,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
|
||||
.AddIngredient(ModContent.ItemType<AvaliScoutHelmet>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<AvaliSkirmisherHelmet>(), 1)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
{
|
||||
@@ -52,7 +53,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
|
||||
.AddIngredient(ModContent.ItemType<AvaliScoutHood>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<AvaliSkirmisherHood>(), 1)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
{
|
||||
@@ -33,7 +34,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 15)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 10)
|
||||
.AddIngredient(ModContent.ItemType<AvaliScoutLeggings>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<AvaliSkirmisherLeggings>(), 1)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
{
|
||||
@@ -51,7 +52,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
|
||||
.AddIngredient(ModContent.ItemType<AvaliScoutMask>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<AvaliSkirmisherMask>(), 1)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -3,6 +3,7 @@ using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
|
||||
{
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
{
|
||||
@@ -33,7 +34,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 20)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 12)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenInitiateChestplate>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenOperativeChestplate>(), 1)
|
||||
.AddIngredient(ItemID.Wire, 30)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
{
|
||||
@@ -53,7 +54,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
{
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 14)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenInitiateCowl>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenOperativeCowl>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
|
||||
.AddIngredient(ItemID.Wire, 20)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
{
|
||||
@@ -55,7 +56,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 14)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenInitiateHelmet>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenOperativeHelmet>(), 1)
|
||||
.AddIngredient(ItemID.Wire, 20)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
{
|
||||
@@ -54,7 +55,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 14)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenInitiateHood>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenOperativeHood>(), 1)
|
||||
.AddIngredient(ItemID.Wire, 20)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
{
|
||||
@@ -34,7 +35,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 17)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 10)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenInitiateLeggings>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenOperativeLeggings>(), 1)
|
||||
.AddIngredient(ItemID.Wire, 25)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -4,6 +4,7 @@ using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
using ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
{
|
||||
@@ -54,7 +55,7 @@ namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 14)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenInitiateMask>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<ProtogenOperativeMask>(), 1)
|
||||
.AddIngredient(ItemID.Wire, 20)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
|
||||
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 504 B |
@@ -0,0 +1,134 @@
|
||||
using Terraria;
|
||||
using Terraria.ModLoader;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using ReLogic.Graphics;
|
||||
using System;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Global
|
||||
{
|
||||
public class CorruptedRarityTooltip : GlobalItem
|
||||
{
|
||||
public override bool PreDrawTooltipLine(Item item, DrawableTooltipLine line, ref int yOffset)
|
||||
{
|
||||
// Only apply special rendering to items with CorruptedItem rarity
|
||||
if (item.rare != ModContent.RarityType<CorruptedItem>())
|
||||
return base.PreDrawTooltipLine(item, line, ref yOffset);
|
||||
|
||||
// Only modify the ItemName line
|
||||
if (line.Mod == "Terraria" && line.Name == "ItemName")
|
||||
{
|
||||
float time = Main.GlobalTimeWrappedHourly;
|
||||
|
||||
// Create a glitchy/corrupted offset effect
|
||||
const float glitchHz = 3.0f;
|
||||
float glitchT = (float)((Math.Sin(time * glitchHz * MathHelper.TwoPi) + 1f) * 0.5f);
|
||||
|
||||
// Random glitch offsets (subtle)
|
||||
float xGlitch = (float)(Math.Sin(time * 7.3f) * 2f * glitchT);
|
||||
float yGlitch = (float)(Math.Cos(time * 5.7f) * 1.5f * glitchT);
|
||||
|
||||
Vector2 position = new Vector2(line.X + xGlitch, line.Y + yGlitch);
|
||||
|
||||
// Draw multiple offset copies for a "corrupted" chromatic aberration effect
|
||||
Color redShift = new Color(255, 50, 50, 100);
|
||||
Color blueShift = new Color(50, 150, 255, 100);
|
||||
Color greenShift = new Color(50, 255, 150, 100);
|
||||
|
||||
// Draw offset shadow layers for RGB split effect
|
||||
DynamicSpriteFontExtensionMethods.DrawString(
|
||||
Main.spriteBatch,
|
||||
line.Font,
|
||||
line.Text,
|
||||
position + new Vector2(-2f, 0f),
|
||||
redShift,
|
||||
line.Rotation,
|
||||
line.Origin,
|
||||
line.BaseScale.X,
|
||||
SpriteEffects.None,
|
||||
0f
|
||||
);
|
||||
|
||||
DynamicSpriteFontExtensionMethods.DrawString(
|
||||
Main.spriteBatch,
|
||||
line.Font,
|
||||
line.Text,
|
||||
position + new Vector2(2f, 0f),
|
||||
blueShift,
|
||||
line.Rotation,
|
||||
line.Origin,
|
||||
line.BaseScale.X,
|
||||
SpriteEffects.None,
|
||||
0f
|
||||
);
|
||||
|
||||
DynamicSpriteFontExtensionMethods.DrawString(
|
||||
Main.spriteBatch,
|
||||
line.Font,
|
||||
line.Text,
|
||||
position + new Vector2(0f, -1.5f),
|
||||
greenShift,
|
||||
line.Rotation,
|
||||
line.Origin,
|
||||
line.BaseScale.X,
|
||||
SpriteEffects.None,
|
||||
0f
|
||||
);
|
||||
|
||||
// Get the animated rarity color
|
||||
ModRarity modRarity = RarityLoader.GetRarity(item.rare);
|
||||
Color mainColor = modRarity.RarityColor;
|
||||
|
||||
// Add extra pulsing glow effect
|
||||
const float glowHz = 1.5f;
|
||||
float glow = (float)((Math.Sin(time * glowHz * MathHelper.TwoPi) + 1f) * 0.5f);
|
||||
mainColor = Color.Lerp(mainColor, Color.White, glow * 0.3f);
|
||||
|
||||
// Draw black outline for better readability
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
Vector2 offset = Vector2.Zero;
|
||||
switch (i)
|
||||
{
|
||||
case 0: offset = new Vector2(-1, 0); break;
|
||||
case 1: offset = new Vector2(1, 0); break;
|
||||
case 2: offset = new Vector2(0, -1); break;
|
||||
case 3: offset = new Vector2(0, 1); break;
|
||||
}
|
||||
|
||||
DynamicSpriteFontExtensionMethods.DrawString(
|
||||
Main.spriteBatch,
|
||||
line.Font,
|
||||
line.Text,
|
||||
position + offset,
|
||||
Color.Black * 0.8f,
|
||||
line.Rotation,
|
||||
line.Origin,
|
||||
line.BaseScale.X,
|
||||
SpriteEffects.None,
|
||||
0f
|
||||
);
|
||||
}
|
||||
|
||||
// Draw main text
|
||||
DynamicSpriteFontExtensionMethods.DrawString(
|
||||
Main.spriteBatch,
|
||||
line.Font,
|
||||
line.Text,
|
||||
position,
|
||||
mainColor,
|
||||
line.Rotation,
|
||||
line.Origin,
|
||||
line.BaseScale.X,
|
||||
SpriteEffects.None,
|
||||
0f
|
||||
);
|
||||
|
||||
return false; // Prevent default drawing
|
||||
}
|
||||
|
||||
return base.PreDrawTooltipLine(item, line, ref yOffset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 504 B |
@@ -0,0 +1,21 @@
|
||||
// NOTE: Intended to be for post-devbosses.
|
||||
using Terraria.ID;
|
||||
using Terraria;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.Materials
|
||||
{
|
||||
public class UnstableMatter : ModItem
|
||||
{
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.width = 20;
|
||||
Item.height = 20;
|
||||
Item.maxStack = 999;
|
||||
Item.value = Item.sellPrice(silver: 50);
|
||||
Item.rare = ModContent.RarityType<AvalianItem>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 504 B |
@@ -0,0 +1,72 @@
|
||||
// See Content/NPCs/CorruptedSwarm/CorruptedSwarm.cs for details.
|
||||
using Microsoft.Xna.Framework;
|
||||
using Terraria;
|
||||
using Terraria.Audio;
|
||||
using Terraria.Chat;
|
||||
using Terraria.ID;
|
||||
using Terraria.Localization;
|
||||
using Terraria.ModLoader;
|
||||
using ForgottenWawiTech.Content.Rarities;
|
||||
using ForgottenWawiTech.Content.Items.Materials;
|
||||
using ForgottenWawiTech.Content.Tiles.CraftingStations;
|
||||
|
||||
namespace ForgottenWawiTech.Content.Items.SummonItems
|
||||
{
|
||||
public class CorruptedBeacon : ModItem
|
||||
{
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.width = 20;
|
||||
Item.height = 20;
|
||||
Item.maxStack = 20;
|
||||
Item.value = Item.sellPrice(silver: 50);
|
||||
Item.rare = ModContent.RarityType<CorruptedItem>();
|
||||
Item.useStyle = ItemUseStyleID.HoldUp;
|
||||
Item.useTime = 20;
|
||||
Item.useAnimation = 20;
|
||||
Item.consumable = false;
|
||||
Item.noMelee = true;
|
||||
Item.UseSound = SoundID.Item44;
|
||||
}
|
||||
|
||||
public override bool CanUseItem(Player player)
|
||||
{
|
||||
//return !NPC.AnyNPCs(ModContent.NPCType<NPCs.CorruptedSwarm.CorruptedSwarm>());
|
||||
return true; // Allow the message to be shown
|
||||
}
|
||||
|
||||
public override bool? UseItem(Player player)
|
||||
{
|
||||
// Placeholder feedback until the encounter is implemented.
|
||||
string text = "Not yet implemented. You're saved - for now.";
|
||||
Color color = new Color(255, 50, 50);
|
||||
SoundStyle sound = SoundID.Roar;
|
||||
|
||||
if (Main.netMode == NetmodeID.Server)
|
||||
{
|
||||
ChatHelper.BroadcastChatMessage(NetworkText.FromLiteral(text), color);
|
||||
}
|
||||
else
|
||||
{
|
||||
Main.NewText(text, color);
|
||||
}
|
||||
|
||||
SoundEngine.PlaySound(sound, player.Center);
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
CreateRecipe()
|
||||
// Developer materials
|
||||
.AddIngredient(ModContent.ItemType<FallenAngelFeather>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<VisorShard>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<HalfEatenFish>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<LyykaBossDrop>(), 1)
|
||||
.AddIngredient(ModContent.ItemType<EnergyCore>(), 5)
|
||||
.AddIngredient(ModContent.ItemType<SingularityAlloy>(), 3)
|
||||
.AddTile(ModContent.TileType<HighTechMarvel>())
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 504 B |