From 89889bede574e5600472aa7ed3ee36961424d268 Mon Sep 17 00:00:00 2001 From: Niko Date: Wed, 19 Nov 2025 11:55:18 +0000 Subject: [PATCH] Add Essence of Clutches, nerf Singularity Set to pre-SCal --- .../Items/Accessories/EssenceOfClutches.cs | 48 ++++++++++++++++++ .../Items/Accessories/EssenceOfClutches.png | Bin 0 -> 504 bytes .../SingularitySet/SingularityChestplate.cs | 20 ++++---- .../Armor/SingularitySet/SingularityHelmet.cs | 26 ++++++---- .../SingularitySet/SingularityLeggings.cs | 19 ++++--- .../en-US_Mods.ForgottenWawiTech.hjson | 9 ++++ 6 files changed, 91 insertions(+), 31 deletions(-) create mode 100644 Content/Items/Accessories/EssenceOfClutches.cs create mode 100644 Content/Items/Accessories/EssenceOfClutches.png diff --git a/Content/Items/Accessories/EssenceOfClutches.cs b/Content/Items/Accessories/EssenceOfClutches.cs new file mode 100644 index 0000000..6d0f734 --- /dev/null +++ b/Content/Items/Accessories/EssenceOfClutches.cs @@ -0,0 +1,48 @@ +using System; +using System.Linq; +using Terraria; +using Terraria.ModLoader; +using ForgottenWawiTech.Content.Rarities; + +namespace ForgottenWawiTech.Content.Items.Accessories +{ + public class EssenceOfClutches : ModItem + { + public override void SetDefaults() + { + Item.width = 28; + Item.height = 28; + Item.accessory = true; + Item.rare = ModContent.RarityType(); + Item.value = Item.sellPrice(platinum: 90); + } + + public override void UpdateAccessory(Player player, bool hideVisual) + { + // The more players have died during a boss, the more damage you both deal and take (up to a maximum of +50% damage dealt and +50% damage taken). + + // Count the number of dead players during a boss fight + int deadPlayerCount = 0; + if (Main.npc.Any(npc => npc.active && npc.boss)) + { + for (int i = 0; i < Main.maxPlayers; i++) + { + Player otherPlayer = Main.player[i]; + if (otherPlayer.active && otherPlayer.dead) + { + deadPlayerCount++; + } + } + } + + // Each dead player grants +10% damage dealt and +10% damage taken, capped at 5 dead players (50%) + float damageBonus = Math.Min(deadPlayerCount * 0.10f, 0.50f); + + if (damageBonus > 0) + { + player.GetDamage(DamageClass.Generic) += damageBonus; + player.endurance -= damageBonus; // Negative endurance means taking more damage + } + } + } +} \ No newline at end of file diff --git a/Content/Items/Accessories/EssenceOfClutches.png b/Content/Items/Accessories/EssenceOfClutches.png new file mode 100644 index 0000000000000000000000000000000000000000..9e0cf81e52f4133dbe85453dd9a37993af17b5be GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/Content/Items/Armor/SingularitySet/SingularityChestplate.cs b/Content/Items/Armor/SingularitySet/SingularityChestplate.cs index 4ae600e..f07033f 100644 --- a/Content/Items/Armor/SingularitySet/SingularityChestplate.cs +++ b/Content/Items/Armor/SingularitySet/SingularityChestplate.cs @@ -14,26 +14,26 @@ namespace ForgottenWawiTech.Content.Items.Armor.SingularitySet { Item.width = 18; Item.height = 18; - Item.value = Item.sellPrice(platinum: 500); + Item.value = Item.sellPrice(platinum: 100); Item.rare = ModContent.RarityType(); - Item.defense = 100; + Item.defense = 44; } public override void UpdateEquip(Player player) { - player.GetDamage(DamageClass.Generic) += 0.5f; - player.statManaMax2 += 40; - player.endurance += 0.10f; - player.manaCost -= 0.5f; - player.statLifeMax2 += 1000; - player.maxMinions += 20; + player.GetDamage(DamageClass.Generic) += 0.15f; + player.statManaMax2 += 60; + player.endurance += 0.05f; + player.manaCost -= 0.15f; + player.statLifeMax2 += 150; + player.maxMinions += 4; } public override void AddRecipes() { CreateRecipe() - .AddIngredient(ModContent.ItemType(), 18) - .AddIngredient(ModContent.ItemType(), 12) + .AddIngredient(ModContent.ItemType(), 12) + .AddIngredient(ModContent.ItemType(), 8) .AddTile(ModContent.TileType()) .Register(); } diff --git a/Content/Items/Armor/SingularitySet/SingularityHelmet.cs b/Content/Items/Armor/SingularitySet/SingularityHelmet.cs index 52367c8..8e1195f 100644 --- a/Content/Items/Armor/SingularitySet/SingularityHelmet.cs +++ b/Content/Items/Armor/SingularitySet/SingularityHelmet.cs @@ -14,17 +14,17 @@ namespace ForgottenWawiTech.Content.Items.Armor.SingularitySet { Item.width = 18; Item.height = 18; - Item.value = Item.sellPrice(platinum: 500); + Item.value = Item.sellPrice(platinum: 100); Item.rare = ModContent.RarityType(); - Item.defense = 100; + Item.defense = 38; } public override void UpdateEquip(Player player) { - player.GetDamage(DamageClass.Generic) += 0.5f; - player.GetCritChance(DamageClass.Generic) += 100; - player.endurance += 0.10f; - player.statLifeMax2 += 500; + player.GetDamage(DamageClass.Generic) += 0.15f; + player.GetCritChance(DamageClass.Generic) += 15; + player.endurance += 0.05f; + player.statLifeMax2 += 100; } @@ -35,17 +35,21 @@ namespace ForgottenWawiTech.Content.Items.Armor.SingularitySet public override void UpdateArmorSet(Player player) { - player.setBonus = "Every hit is a guaranteed critical hit.\nIncreases defense by 50% and allows you to walk on water."; - player.GetCritChance(DamageClass.Generic) = 1000; + player.setBonus = "Summons a singularity orb that fires energy beams at enemies\n+25% damage, +20% critical strike chance, and +15% damage reduction\nAllows you to walk on water"; + player.GetDamage(DamageClass.Generic) += 0.25f; + player.GetCritChance(DamageClass.Generic) += 20; + player.endurance += 0.15f; player.waterWalk = true; - player.statDefense *= 1.5f; + + // TODO: Implement singularity orb minion projectile + // For now, grant increased stats as placeholder } public override void AddRecipes() { CreateRecipe() - .AddIngredient(ModContent.ItemType(), 12) - .AddIngredient(ModContent.ItemType(), 8) + .AddIngredient(ModContent.ItemType(), 8) + .AddIngredient(ModContent.ItemType(), 6) .AddTile(ModContent.TileType()) .Register(); } diff --git a/Content/Items/Armor/SingularitySet/SingularityLeggings.cs b/Content/Items/Armor/SingularitySet/SingularityLeggings.cs index 985e9fe..c90807a 100644 --- a/Content/Items/Armor/SingularitySet/SingularityLeggings.cs +++ b/Content/Items/Armor/SingularitySet/SingularityLeggings.cs @@ -14,26 +14,25 @@ namespace ForgottenWawiTech.Content.Items.Armor.SingularitySet { Item.width = 18; Item.height = 18; - Item.value = Item.sellPrice(platinum: 500); + Item.value = Item.sellPrice(platinum: 100); Item.rare = ModContent.RarityType(); - Item.defense = 100; + Item.defense = 32; } public override void UpdateEquip(Player player) { - player.moveSpeed += 5f; - player.GetDamage(DamageClass.Generic) += 0.5f; - player.endurance += 0.10f; - player.statLifeMax2 += 500; - player.wingTimeMax += 9000; - player.wingTime += 9000; + player.moveSpeed += 0.25f; + player.GetDamage(DamageClass.Generic) += 0.15f; + player.endurance += 0.05f; + player.statLifeMax2 += 100; + player.wingTimeMax = (int)(player.wingTimeMax * 1.5f); } public override void AddRecipes() { CreateRecipe() - .AddIngredient(ModContent.ItemType(), 15) - .AddIngredient(ModContent.ItemType(), 10) + .AddIngredient(ModContent.ItemType(), 10) + .AddIngredient(ModContent.ItemType(), 7) .AddTile(ModContent.TileType()) .Register(); } diff --git a/Localization/en-US_Mods.ForgottenWawiTech.hjson b/Localization/en-US_Mods.ForgottenWawiTech.hjson index bc3dc68..616ca8f 100644 --- a/Localization/en-US_Mods.ForgottenWawiTech.hjson +++ b/Localization/en-US_Mods.ForgottenWawiTech.hjson @@ -243,6 +243,15 @@ Items: { ''' DisplayName: Beam Staff } + + EssenceOfClutches: { + Tooltip: + ''' + A blessing from the God of Clutches himself. + Its power is the result of a display of unprecedented skill. + ''' + DisplayName: Essence Of Clutches + } } NPCs: {