Add Essence of Clutches, nerf Singularity Set to pre-SCal

This commit is contained in:
2025-11-19 11:55:18 +00:00
parent f95a4aa7ed
commit 89889bede5
6 changed files with 91 additions and 31 deletions
@@ -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<FWTDeveloperItem>();
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
}
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 504 B

@@ -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<SingularityItem>();
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<ControlledSingularity>(), 18)
.AddIngredient(ModContent.ItemType<SingularityAlloy>(), 12)
.AddIngredient(ModContent.ItemType<ControlledSingularity>(), 12)
.AddIngredient(ModContent.ItemType<SingularityAlloy>(), 8)
.AddTile(ModContent.TileType<SingularitySealingUnit>())
.Register();
}
@@ -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<SingularityItem>();
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<ControlledSingularity>(), 12)
.AddIngredient(ModContent.ItemType<SingularityAlloy>(), 8)
.AddIngredient(ModContent.ItemType<ControlledSingularity>(), 8)
.AddIngredient(ModContent.ItemType<SingularityAlloy>(), 6)
.AddTile(ModContent.TileType<SingularitySealingUnit>())
.Register();
}
@@ -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<SingularityItem>();
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<ControlledSingularity>(), 15)
.AddIngredient(ModContent.ItemType<SingularityAlloy>(), 10)
.AddIngredient(ModContent.ItemType<ControlledSingularity>(), 10)
.AddIngredient(ModContent.ItemType<SingularityAlloy>(), 7)
.AddTile(ModContent.TileType<SingularitySealingUnit>())
.Register();
}