From cbd9d5e0b4d9bc6a9a150333b34b615dd0cee7e7 Mon Sep 17 00:00:00 2001 From: Niko Date: Sun, 9 Nov 2025 21:59:07 +0000 Subject: [PATCH] Add sprites & names to Lyyka, Niko and Lexy summons. --- Assets/Gores/frame_00004.png | Bin 0 -> 467 bytes Assets/Gores/frame_00005.png | Bin 0 -> 880 bytes Content/Items/SummonItems/LexySummon.cs | 18 +++++++++++++- Content/Items/SummonItems/LexySummon.png | Bin 504 -> 8955 bytes Content/Items/SummonItems/LyykaSummon.cs | 3 ++- Content/Items/SummonItems/LyykaSummon.png | Bin 504 -> 12343 bytes Content/Items/SummonItems/NeptuneSummon.cs | 3 ++- Content/Items/SummonItems/NikoSummon.cs | 22 +++++++++--------- Content/Items/SummonItems/NikoSummon.png | Bin 504 -> 15367 bytes Content/Items/TrueNyanageddon.cs | 20 ++++++++-------- Content/Rarities/DeveloperItem.cs | 11 +++++++++ .../en-US_Mods.ForgottenWawiTech.hjson | 21 ++++++++++------- 12 files changed, 66 insertions(+), 32 deletions(-) create mode 100644 Assets/Gores/frame_00004.png create mode 100644 Assets/Gores/frame_00005.png create mode 100644 Content/Rarities/DeveloperItem.cs diff --git a/Assets/Gores/frame_00004.png b/Assets/Gores/frame_00004.png new file mode 100644 index 0000000000000000000000000000000000000000..6278b3f40ae600194c3503860e6b947138cb0ffa GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^DImEakt zG3V{gjb1W=5^WF9yC|!$sZ4N^7QK|SZNmmG&0^tuiKk*5y*6&zaDzqh$kvIi4niK6 zG7`CFPIa7iHRW7|*u3R)8;iUCKb0?=Jdd}%I{fg%d!hHA>vg&F*D~Ik<|V&j@7Bw! z9^SmweeLtb7b||qigh|^ZI1cX@bTu$prYMV%-`Qr^K@Ih_)>U;2G>fTeCs7QWql>v z<@uxD-&DOW5;QZ(dWmLo@$b+{PrklWIO!`{UstbR`o$^OBh^YjB}{UDpS}7{&BZ@| zE%H^I`ZCAs`P4$Yf0JA!KWi*8`ft1T)Qf3OTA$AcukJAdnpN$;-sn`2N9sG9qo-c9 zJ82mg&tmug9{vBr+O>Hqo^|VF)IH<)A?LfIq#m!}I!N*+dR6Y0ol~DIo3v}b;T6yME?db(Nts!ZEakt zG3V{A^Vu?~496d)`!<_q^62ueWSQL-UH$rQ_ib^3?9!s^W{DXY8Hf49!^0i@{rP9ioy)2`k7=(Qi+Ih9 zqJPS*A!qvh)K^?J+jsEv<5bPxvh1hDqLlx=`f?>!6DSwPm3ipHhY$bxsvh(oci2Di z8h-XEw+GqFI=*RBTJ$wE>|I4xN>)#NWh#Y_0YX?iq*NOxgn*aH$*R9d}zP9G< zbMJ0f#>>v{8~?>tANak#o^#&Z8a|!X&DwfRmiO;`ne%ZyQ2pE8TXh~kI3X;}x2JAx zg?j0aAG;sCa0xtc(zxC6?OIDJl6~%=^p>E6m>=fq3by zQ{CUsIzOu3HA~4z$Yvk%7S6ujv#F=(tVI4EuCi^XG`?$ot=c=s%KFo7kh@|%BHdmd zIvSr<@afD(HS=|n?BQ|RY-0S8Z);C|d33X=Yf}&R?YgV6I>2aLR^8m$dDu52Mzicu zGWXH%3e3B^^I2~Hp7Qei#Q&RLg@7VqKfmT_jq6h`ew-hj-^_pa;OSlEODA;Q+%jQP z&!@T9AM7$pTUQs_bNbds-5`&nIaT4)Q}3Ml_1C*Zt(); } public override bool CanUseItem(Player player) @@ -39,5 +40,20 @@ namespace ForgottenWawiTech.Content.Items.SummonItems return true; } + + public override void AddRecipes() + { + // Only add the recipe if Calamity Mod is loaded + if (ModLoader.TryGetMod("CalamityMod", out Mod calamityMod)) + { + Recipe recipe = CreateRecipe(); + recipe.AddIngredient(ItemID.RainbowBrick, 100); + // Exo Prism + recipe.AddIngredient(calamityMod.Find("ExoPrism").Type, 5); + recipe.AddIngredient(calamityMod.Find("MysteriousCircuitry").Type, 10); + recipe.AddTile(TileID.LunarCraftingStation); + recipe.Register(); + } + } } } \ No newline at end of file diff --git a/Content/Items/SummonItems/LexySummon.png b/Content/Items/SummonItems/LexySummon.png index 9e0cf81e52f4133dbe85453dd9a37993af17b5be..004eae31ca4033bc8c4598a69564fe8b04e9a814 100644 GIT binary patch literal 8955 zcmeHN&1(}u6#q?4txc#GX_cb8@dKsMgY?$oB_*K=n4+PVl0zdN^db~mFZEy%FJA0b zrFUjd|OlOJ-xYFbkXCzOUcRzIl1O6Y}K7{M<-( zJPTl?QZCjwF7R{w#Bu&PG5uhh16!%h&9dg!KhM%~k8)fcsa0?+sw)8E|@e^Ucj`+%UXcUR(ikr`jjOi_J4!IkZ}-mWFn7!=t&0 z>p$Oet~@Hm!ouA_HgndfQ zfR-F4lY!1Eg!j}+O)6&or4YwO3BS%s{3-!0g-wM!3co1aRrpzA_LIc(O0C#%R>_x$ zUi*zH{YizR_#v(sv_%;XfDnsa9tGB6#M@Er=#nk z{m3@+JWo_;5Cr|;x8~&Y6C9@bwOXo&TaP3O^mvp`kMH~YKTC9+>!CDrmU6~2{?Nm9 zWgPlM)C63GCcF|yzCsxj57)%fqI)u}d{ghF1G@^P8L^a)e1%%xelq16{Ak{l1I^nd+I*+c0CcHwfhbEU$ z*F%%bWrxZ2&`vI_u3QhbN}oA+Z>JP~Fgw{;cAg$900X7=e*tWGWNaY7ukZavD*6_m kd#c`{{koj3d*a)#co#!`tC9EC-c7ZYmC}6i)okO@U-Zk2J^%m! 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/SummonItems/LyykaSummon.cs b/Content/Items/SummonItems/LyykaSummon.cs index 301e523..850746b 100644 --- a/Content/Items/SummonItems/LyykaSummon.cs +++ b/Content/Items/SummonItems/LyykaSummon.cs @@ -7,6 +7,7 @@ using Terraria.ModLoader; using Terraria.Chat; using Terraria.Localization; using ForgottenWawiTech.Content.NPCs.OriginalLyyka; +using ForgottenWawiTech.Content.Rarities; namespace ForgottenWawiTech.Content.Items.SummonItems { @@ -20,7 +21,7 @@ namespace ForgottenWawiTech.Content.Items.SummonItems Item.useAnimation = 10; Item.useStyle = ItemUseStyleID.HoldUp; Item.consumable = false; - Item.rare = ItemRarityID.Red; + Item.rare = ModContent.RarityType(); } public override bool CanUseItem(Player player) diff --git a/Content/Items/SummonItems/LyykaSummon.png b/Content/Items/SummonItems/LyykaSummon.png index 9e0cf81e52f4133dbe85453dd9a37993af17b5be..47e57ff325aebe99aad2a075b92ced54e7a500fb 100644 GIT binary patch literal 12343 zcmeI2Ye*DP6vxk+=5sS2+xnnXj8cmfqzI`oX=c7nyL0ZIm>Kq|yS9$Au=jsobMDOf%{g;twSG@Q zwl*Lt006YPIhn;wx3ljyzm=?PxO||DiKe1BJ44g;W^*-bc%MkmPX}ne8aQ*!IB>-tR0rcffPm6Z20sr!x{S^R#VZv7fx0)hYr|;R^ z{48H%pubM*lTcQfz)V7JX8PWfKALmM_3auq#Zy0X4xX6JYw&W=$da9A^XmW8RUtW@ zPUq0_CX)&0#X^x}eh)mtYg0TyZ^>nQP(!1!eRIvt@eoafQkbCGJ>+hCKEn4M#1mIs;?a?*+nkf$a)(4^VZ$ zvoFi8ct@xN(Jk&R(9;nS!oCY2+91t}@}()}yg}F=0*gFOlE_nbrQ=kB;d8)4_NEZIgy@|Xr%q4)!T!{|>!`an4Wrhz zaDu}FgV=7Zdxx4+Sc}>haRZgIrd;VQLnVlAnn#fmdI32?N))wX}o}k;ZD3Obb<*}BOoQTeU_3R}ok?ZOGf_G6&e7E_Hjz1@Hk_!rzptDZ2 zMy|8tgGF+*XQdqut!Ef-!|HrvkL)O(pv$tTJ#ycBK5-)Em?LuJX}Qw#Q{L}vTP0}E zW6qMZXV2B+DnV-=wM8zxE3yM1xK{XI0O5Ff{8_W*$<+8o4$nh?#E+2x{Vvfj7!3cWQG}MD?0M8~zw}A2qI!lf`vs6_11c?M?ONue- tCtc|8BxGl?b@>n^a!ZwzwL3%c1lt}bUAgo6!bZUXxmg974>L+G{sp(RS114g 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/SummonItems/NeptuneSummon.cs b/Content/Items/SummonItems/NeptuneSummon.cs index bd60a14..ba2593c 100644 --- a/Content/Items/SummonItems/NeptuneSummon.cs +++ b/Content/Items/SummonItems/NeptuneSummon.cs @@ -7,6 +7,7 @@ using Terraria.ModLoader; using Terraria.Chat; using Terraria.Localization; using ForgottenWawiTech.Content.NPCs.OriginalNeptune; +using ForgottenWawiTech.Content.Rarities; namespace ForgottenWawiTech.Content.Items.SummonItems { @@ -20,7 +21,7 @@ namespace ForgottenWawiTech.Content.Items.SummonItems Item.useAnimation = 10; Item.useStyle = ItemUseStyleID.HoldUp; Item.consumable = false; - Item.rare = ItemRarityID.Red; + Item.rare = ModContent.RarityType(); } public override bool CanUseItem(Player player) diff --git a/Content/Items/SummonItems/NikoSummon.cs b/Content/Items/SummonItems/NikoSummon.cs index f73b02b..fb13a6e 100644 --- a/Content/Items/SummonItems/NikoSummon.cs +++ b/Content/Items/SummonItems/NikoSummon.cs @@ -7,6 +7,7 @@ using Terraria.ModLoader; using Terraria.Chat; using Terraria.Localization; using ForgottenWawiTech.Content.NPCs.OriginalNiko; +using ForgottenWawiTech.Content.Rarities; namespace ForgottenWawiTech.Content.Items.SummonItems { @@ -20,7 +21,7 @@ namespace ForgottenWawiTech.Content.Items.SummonItems Item.useAnimation = 10; Item.useStyle = ItemUseStyleID.HoldUp; Item.consumable = false; - Item.rare = ItemRarityID.Red; + Item.rare = ModContent.RarityType(); } // Only allow the boss to be summoned if the Wall of Flesh is defeated (hardmode) @@ -32,7 +33,6 @@ namespace ForgottenWawiTech.Content.Items.SummonItems public override bool? UseItem(Player player) { - string summonText = "A familiar presence fills the air..."; if (Main.netMode != NetmodeID.MultiplayerClient) { NPC.SpawnOnPlayer(player.whoAmI, ModContent.NPCType()); @@ -41,14 +41,14 @@ namespace ForgottenWawiTech.Content.Items.SummonItems return true; } - /* public override void AddRecipes() - { - Recipe recipe = CreateRecipe(); - recipe.AddIngredient(1); - recipe.AddIngredient(ItemID.LunarBar, 20); - recipe.AddIngredient(ItemID.Meowmere, 5); - recipe.AddTile(TileID.LunarCraftingStation); - recipe.Register(); - } */ + public override void AddRecipes() + { + Recipe recipe = CreateRecipe(); + recipe.AddIngredient(ItemID.RatCage, 1); + recipe.AddIngredient(ItemID.Feather, 100); + recipe.AddIngredient(ItemID.HoneyBucket, 1); + recipe.AddTile(TileID.LunarCraftingStation); + recipe.Register(); + } } } diff --git a/Content/Items/SummonItems/NikoSummon.png b/Content/Items/SummonItems/NikoSummon.png index 9e0cf81e52f4133dbe85453dd9a37993af17b5be..c3b1f09f57eb384b662940135d23197648bedafb 100644 GIT binary patch literal 15367 zcmeI3O=whC6vxlBN!5HT5)q|^p_>#JE~Ehq+C^rPn55)Ghay;uwFFzyEQCY_DQJTm zA*HL@QiM{m-BfHNL9~!Gg;KE4gjp1nSrli{uSFtsQI&$;InIB)_q=!Jy_ZaCuy7*I-X`!}AS9)ZEwGl{0dud2d_$ocVdOX|dag)M&0Jo4R#l%PFJO zy_*@x5KVsA`0v~GMt^a*H#cBHUm`kvhUmUAo&JO9*jA#y4iIhsglOZ@^WW}%)i~B2 z?cF;{)VRL%PSL05HyPuavA%)sHGej)+t9QrH@f*7QFH_5-r3pd=#rGxI$Lnko)~mONR=4GX{3ydj36Xbf*_Eyzj&DARy!&9FrFB6LdZIK zH^OX*BBi6FLzJqnUPzyF1B$M?+B8p$az#=g2L32gZXUdYP)8mr>~eIejE#-4X?}iQ zx*T2GK|4YJf#Qi#njCpo8p!YER7uJeYG(T&{jHRKWR|38L|R3h9dxY-+L!6&x?g;E zE%cerTAvR+F|s3Ny+Vw3CI6vkLsO$jLDIy;1Rr8Q1G^?e&V#S?Qpo`+7f0X6lCj9~ z#GqY5R)~Q;pU>lv<)y+UM~|y4VYY;pwg_4lIiba?7(FpcbLy<$UA`iSD-;SiOeB+% z61CID;z`K~nJp+4OL}6IHU(zPa!Kj$@8_lF=H`?olbIz^Ny&NhgHy>CEJu4{l(tof z!K^Ve!kINnUcd}e@YFp%J|2iE85R~6*q%x~+JIUFgvM(|E3fL^%G$rkQkx#$w|JfLqkK{T~GnPCP9tnhrPA66^B)&oHJUmMv+AY ze~u~?g_e#(PiW%PZVV73KX6c!_v$ezT4pLgjr*pY)6tcV_;&xCkE{hGBGj8m*hZ)Uz3s?#9^PK5rR070zFFN zZe$U|DUy^gXU!v!_4346&9Dz6|Gg#ZnQ5szWBVjZ#~-zQCQYoj(dJNlfo_J{VZ5Ba z$cMMjeZ^9{`@Gh^9VslY{`@0LPmI%+$4VqI2#q2KaZ)BFYIb(kDe=p}UmZP4k)+6Y zkONXch}1nXvU6oUHZjOwDmlnsDLFMY#ijSOwL43^(b41Rk{CEa4s=fpIw54@eGI_}P9eSf^+r;po9|9O}C Mx(B;1XAg`&1n+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/TrueNyanageddon.cs b/Content/Items/TrueNyanageddon.cs index 2eb71be..6921624 100644 --- a/Content/Items/TrueNyanageddon.cs +++ b/Content/Items/TrueNyanageddon.cs @@ -16,36 +16,37 @@ namespace ForgottenWawiTech.Content.Items Item.DamageType = DamageClass.Ranged; Item.width = 40; Item.height = 40; - Item.useTime = 7; - Item.useAnimation = 7; + Item.useTime = 17; + Item.useAnimation = 17; Item.useStyle = ItemUseStyleID.Shoot; Item.knockBack = 20; Item.value = Item.buyPrice(gold: 60); - Item.rare = ItemRarityID.Red; + Item.rare = ItemRarityID.Expert; Item.UseSound = SoundID.Meowmere; Item.autoReuse = true; Item.noMelee = true; Item.shoot = ProjectileID.PurificationPowder; Item.shootSpeed = 30f; Item.useAmmo = AmmoID.None; + Item.crit = 60; } public override bool Shoot(Player player, Terraria.DataStructures.EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockBack) { - for (int i = 0; i <= 2; i++) // hey c# what the fuck. anyway, shoot 3 proj. + for (int i = 0; i <= 2; i++) // hey c# what the fuck. anyway, shoot 3 proj. { Vector2 newVelocity = velocity.RotatedBy(MathHelper.ToRadians(3 * i)); Terraria.Projectile.NewProjectile(source, position, newVelocity, 502, damage, knockBack, player.whoAmI); } - return false; // return false to prevent tModLoader from shooting the default projectile + return false; // return false to prevent tModLoader from shooting the default projectile */ } public override Vector2? HoldoutOffset() { - return new Vector2(2f, -2f); + return new Vector2(-5f, -2f); } public override void ModifyShootStats(Player player, ref Vector2 position, ref Vector2 velocity, ref int type, ref int damage, ref float knockback) { - Vector2 muzzleOffset = Vector2.Normalize(velocity) * 25f; + Vector2 muzzleOffset = Vector2.Normalize(velocity) * 58f; if (Collision.CanHit(position, 0, 0, position + muzzleOffset, 0, 0)) { position += muzzleOffset; @@ -54,15 +55,14 @@ namespace ForgottenWawiTech.Content.Items public override void AddRecipes() { + Recipe recipe = CreateRecipe(); if (ModLoader.TryGetMod("CalamityMod", out Mod calamityMod) && calamityMod.TryFind("AuricBar", out ModItem auricBar)) { - Recipe recipe = CreateRecipe(); recipe.AddIngredient(auricBar.Type, 20); } - Recipe recipe = CreateRecipe(); recipe.AddIngredient(1); recipe.AddIngredient(ItemID.LunarBar, 20); - recipe.AddIngredient(ItemID.Meowmere, 5); + recipe.AddIngredient(ItemID.Meowmere, 3); recipe.AddTile(TileID.LunarCraftingStation); recipe.Register(); } diff --git a/Content/Rarities/DeveloperItem.cs b/Content/Rarities/DeveloperItem.cs new file mode 100644 index 0000000..647062e --- /dev/null +++ b/Content/Rarities/DeveloperItem.cs @@ -0,0 +1,11 @@ +using Terraria.ModLoader; +using Terraria; +using Microsoft.Xna.Framework; + +namespace ForgottenWawiTech.Content.Rarities +{ + public class FWTDeveloperItem : ModRarity + { + public override Color RarityColor => new Color(255, 0, 255); // Bright magenta color + } +} \ No newline at end of file diff --git a/Localization/en-US_Mods.ForgottenWawiTech.hjson b/Localization/en-US_Mods.ForgottenWawiTech.hjson index dcf8f27..543aab8 100644 --- a/Localization/en-US_Mods.ForgottenWawiTech.hjson +++ b/Localization/en-US_Mods.ForgottenWawiTech.hjson @@ -21,7 +21,12 @@ Items: { } TrueNyanageddon: { - Tooltip: Why are you like this? + Tooltip: + ''' + The ultimate evolution of the Meowmere. + Mob the rainbow, taste the rainbow, transcend the rainbow. + Ethically questionable. + ''' DisplayName: True Nyanageddon } @@ -29,10 +34,10 @@ Items: { Tooltip: ''' Summons Niko. - Not consumable - 'You are about to have a bad time.' + Not consumable. + 'Until my final breath I will grind you to dust until your dust begs for death, you meainingless FUCK!' ''' - DisplayName: Niko Summon + DisplayName: Bird Thing } NeptuneSummon: { @@ -50,18 +55,18 @@ Items: { ''' Summons Lyyka. Not consumable - 'You hear several voices calling out...' + 'A strum, of a ranger.' ''' - DisplayName: Lyyka Summon + DisplayName: SLW STRIX } LexySummon: { - DisplayName: Lexy Summon + DisplayName: Expensive-looking RAM Stick Tooltip: ''' Summons Lexy. Not consumable - 'Twist their minds.' + Not edible.... I think. ''' } }