From 46390b8f809dbbc8e98d934f414ec9e423bd7bd5 Mon Sep 17 00:00:00 2001 From: Niko Date: Mon, 10 Nov 2025 22:20:33 +0000 Subject: [PATCH] Add sprites for RGBass, NeptuneSummon (Megaladon), RGBAlloy, and add animations to rarities --- Content/Items/Materials/MiniSingularity.cs | 11 +++++ Content/Items/Materials/RGBAlloy.cs | 42 +++++++++++++++++- Content/Items/Materials/RGBAlloy.png | Bin 504 -> 20845 bytes Content/Items/Materials/RGBass.png | Bin 504 -> 4839 bytes Content/Items/Materials/SingularityAlloy.cs | 12 +++++ Content/Items/SummonItems/NeptuneSummon.png | Bin 504 -> 56778 bytes Content/Items/Tiles/RGBAlloy_Tile.png | Bin 0 -> 366 bytes Content/Rarities/DeveloperItem.cs | 17 ++++++- Content/Rarities/SingularityItem.cs | 31 ++++++++++++- .../Tiles/CraftingStations/HighTechMarvel.cs | 5 +-- .../en-US_Mods.ForgottenWawiTech.hjson | 2 +- 11 files changed, 112 insertions(+), 8 deletions(-) create mode 100644 Content/Items/Tiles/RGBAlloy_Tile.png diff --git a/Content/Items/Materials/MiniSingularity.cs b/Content/Items/Materials/MiniSingularity.cs index 9d700fb..859ae19 100644 --- a/Content/Items/Materials/MiniSingularity.cs +++ b/Content/Items/Materials/MiniSingularity.cs @@ -17,5 +17,16 @@ namespace ForgottenWawiTech.Content.Items.Materials Item.value = Item.buyPrice(gold: 50); } + public override void AddRecipes() + { + CreateRecipe() + .AddIngredient(ItemID.FragmentNebula, 5) + .AddIngredient(ItemID.FragmentSolar, 5) + .AddIngredient(ItemID.FragmentVortex, 5) + .AddIngredient(ItemID.FragmentStardust, 5) + .AddIngredient(ItemID.WormholePotion, 1) + .AddTile() + .Register(); + } } } \ No newline at end of file diff --git a/Content/Items/Materials/RGBAlloy.cs b/Content/Items/Materials/RGBAlloy.cs index 0ff525e..b905168 100644 --- a/Content/Items/Materials/RGBAlloy.cs +++ b/Content/Items/Materials/RGBAlloy.cs @@ -1,16 +1,31 @@ +// Animated by British_Raccoon 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; namespace ForgottenWawiTech.Content.Items.Materials { public class RGBAlloy : ModItem { + private const int FRAME_COUNT = 5; + private const int TICKS_PER_FRAME = 10; + + 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 = 32; + Item.height = 32; Item.maxStack = 9999; Item.rare = ItemRarityID.White; Item.value = Item.buyPrice(gold: 50); @@ -24,5 +39,28 @@ namespace ForgottenWawiTech.Content.Items.Materials .AddTile(TileID.Anvils) .Register(); } + + // Some tML setups won't animate dropped items with just RegisterItemAnimation. + // Manually draw the animated frame in-world to ensure it animates when dropped. + 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 + } } } \ No newline at end of file diff --git a/Content/Items/Materials/RGBAlloy.png b/Content/Items/Materials/RGBAlloy.png index 9e0cf81e52f4133dbe85453dd9a37993af17b5be..4c9b7a30293e80bd9539ec0c1879b6d325dae564 100644 GIT binary patch literal 20845 zcmeHP3v5+M8UE*-`{=#5UET#M@`lJR=ss#!ciXi^$bwl&K{p0X1zZRkgQ938Yjm3p zCbDaSQ3>jz0Wrq735W?XY6#h^YeI#EEU@gd%X2~60xeK(dmlY#{2w!=y`{E*=CqeP zN#~oHGxzrY|9PDGznQt4Y8O9U5-*DbK*_=d^Ohn`#=q@F5scS1e0?^8TEFz^x$4~m zvtPhWXid$c8h|~U6P+u=n4kRIf~AW9o}UR&zY!pVMfHsU-+36Ic?G}|zW^A!Zrk6M zRN{l!x&_PD10+V#pMqa)8;6C_Z!cUlKiZUtmqsTp7&|{r0xX&LWiOtLl12SBFONn z@LH<(K((`k&>apngy}P)X!{YtOy(pN_X_EQRb1xz7x;e%Zh=rQ5pxRO!^xD2Rz@Nz z!ed%A^izUU7mcA}m{>B6vDEz#|JDR@tPSOCA#cS?&195YJ7Qj3q@lkQ#6(b4{(RVqTns?R4T=q*M>#IxsJ#b zjdJIQuqodM$!_}K_y-w4=_D>OFdUB@WIRSQF!gdKo3tc8VnrS4+LzIMvj16&Ab&tb~h;ifoc`i{~+( zH=|(FwQHQ;{mP#iuQ$;86c@2$#9|Zb#gcZ$v%Q`xb&FKnKF;Y9nO*|7fU1l{cuua& zh(>GTw1n>+>dgFbtU}%awykq(HvY7OiyC))Cil^8^MPAH8V+T%Gx-+N7rvIVbCn3b z(~Oq72I=jh=PjkI=0&5$g0_uq4V(eDQW|>|~r7x>#Sbf^44#q6o9a(0Ax%ULb!<8XvF z000^z=NR8vyOGgG)>9h#{6H)rKBN;C{~(=_HQ^QYZ&vo=OZmN_;uoDo?Ig{p6&HL^~YCj-tYrcwn|%D z#?)%sw9W7X+w-0uke6TA`l<0}qWOKq58UBv4A+)JoFA~gyw)(P%QpzCRNx1K;|C5t z^UE~=au&e0PXX`I0ytFfEnwG@+eVpW;s2#`^S`~ z&_&xycHr^hM<5i*fDY@*zBbAVdkdh^`ktAMm z>KRIE@Oe3vs5t#Gexzla<_;%U^R53w2w85xa)uK+I%KJ9{z+~*b{ggsuKX6Bqbg1) z`z)c~sa_?-@B@l0N02?rO;1G}>{$Y>G%qd!w?G$ftbKnXiKrasyvQoCEq}ONR=_Cn z`N^-ykX9uv(^Zq~ucK@jOlQM-&UpWr=8#CXm$P^n*->Ki7VXM-=$|D3&*Kf^ zZ)UUKBkiiqPMOs-|IZRsrqkRV?OB4_!dZgCSpw7j3ug)JJYcbKmY{H!!1jf^MSRN+ zaju|nmcX`s-kl|orL9$O0Ql%>Sw-V&7VkUU3dkNEq1>BOlW*NB#d9PxfA?|9Ygbhg z`dW#DK^Y9euZl$uyu*RQQu-!%#iDBnCm<;saKA_PBO$_VZZLKTW%Bn;jH*7Moyy4?0n zp2xi#do>GJ=DK{^N_*aMlK3&L*;n)~Yve}&uKhi`mC*77qgU$JD3AQW+l2ZigOCc8 zk4|LG!HJ>K2ZII9CK6*wl5j`IG{T4@jsaSRcY(T4cud-`fj;+PfLwkc>d1V+YGM?f(8$TQ2C0s{~9BALi&+T0UFMAtkbBqQgyD#y?b6Mq@8Ukd7ADi+#noZfWZ-uVq^-f_WdvBBP|PtXMu8E<-Ze;> z{BKO#H=A)g)7&-K^U7YXk$aXP|Lz*J8qG}$!Z*zA3(FPf|6PMs_x)W1nZfO7y?4a< zq`(jG%b;-A;8t%M_jcPq0EWLxzY8Fx!M_=?r^>|F(ZSx!cLAzMHuRDnBt!{$k-rH5 zWe2ca!8ib3F(+RG-Y52xz}{5u&5K;F0HV{`NAOdp`1^vl0BJ>`-f#sSAf7T7O{H=S za*$Bcy|{wT>xwPscjz{%(l1w_95gPkypIwN9t+@FXc9?;L3ULEW>5w@$QeQ#a=8L0 zrjPM6t$86>5-v8DyFFK+oN$QihvGa(1aAS7bbc~s6$TsPPq({@s zS;oG&0;~<1U7jIxxq{LMhm%53Dp%NG)Og_z z`r-;Yvt|u`X$OBUa0~Rw6^v1eoqX*2-1}KvjB>dGKko6PP?Vb#qN*RRz!Q!@_Qw^3if6IKGNXC041#yTJ#z(F;R@bWhgq}S-z6COT!G!{C~yT26}W-| sS8(6`E+YJESG!@x4dC7*`C93=UXkhhvvt!hjSLlJ~RwmnP~Bh_e#*cGOJz5H)U2RZk=*d{>S{o z|7E^K_FWXNcxrjXh&wV*Hfp0Ti%!ljhM&t`NT+&77>M@wN(xASbQfH=B6&8`PK|k& o(pT;d?|57xzrgJ7^Ax@sCjQeEzP*#>W`d&2)78&qol`;+07t#pIRF3v diff --git a/Content/Items/Materials/RGBass.png b/Content/Items/Materials/RGBass.png index 9e0cf81e52f4133dbe85453dd9a37993af17b5be..1f144895fafcb4c567c9c347d44f7236a3a3dcc7 100644 GIT binary patch literal 4839 zcmdT`J4-_`6h0B3y>wATaS{b52XPb~s+G1wMT>}Tih^rF>);!$f?Zri>*y-DI=VTy z3jPBXoCOiDd7N`^ujba!R*8Y!lboES-}mJt>CxmwA{yz606;XAjAyv*5w*FIe}@vz z4L58hlNeDEVLs53P0pK->MB00u`=yT;fYy;zJT^Vs!UkLKUKkJg z?c$pJK%Gg@U&K_Sh!N8@P+>F0m5>aER6Awp291 zykrA}5=sp@Pzey!w6>j9YMTI2AqhxiCC?!0~bV+P0;w4u>MM{KBvRV;6W>kVsjXuc0 zoA)I38e*0;is*m{q)eV~KeG*}{uH8?4U5tN35)$zf4O@^?IGLN-Y2H03f_xL%LG!x zTgGZd2)c(>HuT+YJESG!@x4dC7*`C93=UXkhhvvt!hjSLlJ~RwmnP~Bh_e#*cGOJz5H)U2RZk=*d{>S{o z|7E^K_FWXNcxrjXh&wV*Hfp0Ti%!ljhM&t`NT+&77>M@wN(xASbQfH=B6&8`PK|k& o(pT;d?|57xzrgJ7^Ax@sCjQeEzP*#>W`d&2)78&qol`;+07t#pIRF3v diff --git a/Content/Items/Materials/SingularityAlloy.cs b/Content/Items/Materials/SingularityAlloy.cs index c222d10..7026b89 100644 --- a/Content/Items/Materials/SingularityAlloy.cs +++ b/Content/Items/Materials/SingularityAlloy.cs @@ -16,5 +16,17 @@ namespace ForgottenWawiTech.Content.Items.Materials Item.rare = ModContent.RarityType(); Item.value = Item.buyPrice(gold: 10); } + + public override void AddRecipes() + { + CreateRecipe() + .AddIngredient(ModContent.ItemType(), 2) + .AddIngredient(ItemID.HallowedBar, 5) + .AddIngredient(ItemID.SoulofMight, 3) + .AddIngredient(ItemID.SoulofSight, 3) + .AddIngredient(ItemID.SoulofFright, 3) + .AddTile() + .Register(); + } } } \ No newline at end of file diff --git a/Content/Items/SummonItems/NeptuneSummon.png b/Content/Items/SummonItems/NeptuneSummon.png index 9e0cf81e52f4133dbe85453dd9a37993af17b5be..9e9b9e96da04ad877fa071ce260c898ab4886059 100644 GIT binary patch literal 56778 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 literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r53?z4+XPOVBbOU@sT!FNbf{DF-NtsjE_3B;! z|NjSy0D+K@p01v+t9x8zR#D@WS?dlQ`1+YJESG!@x4dC7*`C93=UXkhhvvt!hjSLlJ~RwmnP~Bh_e#*cGOJz5H)U2RZk=*d{>S{o z|7E^K_FWXNcxrjXh&wV*Hfp0Ti%!ljhM&t`NT+&77>M@wN(xASbQfH=B6&8`PK|k& o(pT;d?|57xzrgJ7^Ax@sCjQeEzP*#>W`d&2)78&qol`;+07t#pIRF3v diff --git a/Content/Items/Tiles/RGBAlloy_Tile.png b/Content/Items/Tiles/RGBAlloy_Tile.png new file mode 100644 index 0000000000000000000000000000000000000000..eb4a1c57df39fc8457b63892c269dfccc7d5d83c GIT binary patch literal 366 zcmV-!0g?WRP)V_(-yWB-@9k$Q}dRizqKb;f*&EJae5swDw6~k8YiyhgbF0S!sbJ^AC9;X6!1Q`9SpUBoxhKKC zhf8$ky~EmYC@fq=Li?bjy5e$4c)i&YitnC7_(Z?==qk&E$+vf*|Irb+A*3s(0y~88 ziEJV_hW&0=u)fvh>_~XHI~1&MHQcS)#GO1BNCoR#{cKGLq{7VXo?zd@CF&K01G|K& z!N7qY*cCiq&pX`TE;{sIb{&Ez`T+m{|Nlgd%RT@A00v1!K~w_(I%u*b^2hN`00000 MNkvXXu0mjf0Ly-#&Hw-a literal 0 HcmV?d00001 diff --git a/Content/Rarities/DeveloperItem.cs b/Content/Rarities/DeveloperItem.cs index 647062e..81f2791 100644 --- a/Content/Rarities/DeveloperItem.cs +++ b/Content/Rarities/DeveloperItem.cs @@ -1,11 +1,26 @@ using Terraria.ModLoader; using Terraria; using Microsoft.Xna.Framework; +using System; namespace ForgottenWawiTech.Content.Rarities { public class FWTDeveloperItem : ModRarity { - public override Color RarityColor => new Color(255, 0, 255); // Bright magenta color + // Smoothly fades between Bright Magenta and Dark Red. + public override Color RarityColor + { + get + { + // Speed in cycles per second + const float cyclesPerSecond = 0.75f; + float theta = Main.GlobalTimeWrappedHourly * cyclesPerSecond * MathHelper.TwoPi; + float t = (float)((Math.Sin(theta) + 1f) * 0.5f); // 0..1 + + Color darkRed = new Color(139, 0, 0); // Dark Red + Color brightMagenta = Color.Magenta; // Bright Magenta + return Color.Lerp(darkRed, brightMagenta, t); + } + } } } \ No newline at end of file diff --git a/Content/Rarities/SingularityItem.cs b/Content/Rarities/SingularityItem.cs index 664f0ff..9abbdd8 100644 --- a/Content/Rarities/SingularityItem.cs +++ b/Content/Rarities/SingularityItem.cs @@ -1,11 +1,40 @@ using Terraria.ModLoader; using Terraria; using Microsoft.Xna.Framework; +using System; namespace ForgottenWawiTech.Content.Rarities { public class SingularityItem : ModRarity { - public override Color RarityColor => new Color(140, 0, 128); // Dark reddish-purple color + // Fade between very dark purple and bright purple (avoids unreadable black) + // with periodic brightness pulses for a "singularity" feel. + public override Color RarityColor + { + get + { + float time = Main.GlobalTimeWrappedHourly; + + // Base fade (slow): very dark purple <-> bright purple + const float fadeHz = 0.5f; // cycles per second + float fadeT = (float)((Math.Sin(time * fadeHz * MathHelper.TwoPi) + 1f) * 0.5f); // 0..1 + // Keep a minimum fade so text stays readable + const float minFade = 0.25f; // never dip below 25% toward bright + fadeT = minFade + (1f - minFade) * fadeT; // remap to [minFade, 1] + + Color veryDarkPurple = new Color(50, 0, 80); + Color brightPurple = new Color(160, 0, 255); + Color baseColor = Color.Lerp(veryDarkPurple, brightPurple, fadeT); + + // Pulse (quick, narrow peaks). Using a powered sine to make sharp flashes. + const float pulseHz = 1.2f; // pulses per second + float s = (float)Math.Sin(time * pulseHz * MathHelper.TwoPi); + float pulse = (float)Math.Pow(Math.Max(0f, s), 3f); // 0..1, narrow peaks + float brightness = 1f + 0.25f * pulse; // up to +25% brightness at pulse peak + + // Multiply to apply brightness pulse. Color*float clamps components safely. + return baseColor * brightness; + } + } } } \ No newline at end of file diff --git a/Content/Tiles/CraftingStations/HighTechMarvel.cs b/Content/Tiles/CraftingStations/HighTechMarvel.cs index ba01216..d1ed46d 100644 --- a/Content/Tiles/CraftingStations/HighTechMarvel.cs +++ b/Content/Tiles/CraftingStations/HighTechMarvel.cs @@ -13,7 +13,7 @@ namespace ForgottenWawiTech.Content.Tiles.CraftingStations { Main.tileSolid[Type] = false; Main.tileNoAttach[Type] = true; - AdjTiles = new [] { + AdjTiles = new int[] { TileID.WorkBenches, TileID.Anvils, TileID.Furnaces, @@ -26,8 +26,7 @@ namespace ForgottenWawiTech.Content.Tiles.CraftingStations TileID.Autohammer, TileID.CrystalBall, TileID.TinkerersWorkbench, - TileID.LunarCraftingStation, - SingularitySealingUnit.Type + TileID.LunarCraftingStation }; AddMapEntry(new Color(150, 50, 250), Language.GetText("High Tech Marvel")); diff --git a/Localization/en-US_Mods.ForgottenWawiTech.hjson b/Localization/en-US_Mods.ForgottenWawiTech.hjson index ba405ff..d4efd62 100644 --- a/Localization/en-US_Mods.ForgottenWawiTech.hjson +++ b/Localization/en-US_Mods.ForgottenWawiTech.hjson @@ -42,7 +42,7 @@ Items: { Not consumable 'The waves are restless...' ''' - DisplayName: Neptune Summon + DisplayName: Megaladon } LyykaSummon: {