From cf9c8e8599fabccada8cf57030c13f58f95af860 Mon Sep 17 00:00:00 2001 From: Niko Date: Mon, 10 Nov 2025 14:52:37 +0000 Subject: [PATCH] Add practically every projectile to Tome of Unyielding --- .../Items/Weapons/Magic/TomeOfUnyielding.cs | 88 ++++++++++++++++--- 1 file changed, 75 insertions(+), 13 deletions(-) diff --git a/Content/Items/Weapons/Magic/TomeOfUnyielding.cs b/Content/Items/Weapons/Magic/TomeOfUnyielding.cs index a1b9b53..c3ec633 100644 --- a/Content/Items/Weapons/Magic/TomeOfUnyielding.cs +++ b/Content/Items/Weapons/Magic/TomeOfUnyielding.cs @@ -4,6 +4,7 @@ using Terraria.Audio; using Terraria.DataStructures; using Terraria.ID; using Terraria.ModLoader; +using ForgottenWawiTech.Content.Rarities; namespace ForgottenWawiTech.Content.Items.Weapons.Magic { @@ -11,18 +12,18 @@ namespace ForgottenWawiTech.Content.Items.Weapons.Magic { public override void SetDefaults() { - Item.damage = 10000; + Item.damage = 15000; Item.mana = 30; Item.crit = 100; Item.DamageType = DamageClass.Magic; Item.width = 40; Item.height = 40; - Item.useTime = 10; - Item.useAnimation = 10; + Item.useTime = 20; + Item.useAnimation = 20; Item.useStyle = ItemUseStyleID.Shoot; Item.knockBack = 6; Item.value = Item.buyPrice(platinum: 20); - Item.rare = ItemRarityID.Red; + Item.rare = ModContent.RarityType(); Item.autoReuse = true; Item.noMelee = true; Item.shoot = ProjectileID.PurificationPowder; @@ -30,24 +31,85 @@ namespace ForgottenWawiTech.Content.Items.Weapons.Magic Item.useAmmo = AmmoID.None; } - // On shoot, fire Projectile ID 502 (the rainbow projectile) instead of the default ammo projectile public override bool Shoot(Player player, Terraria.DataStructures.EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockBack) { // Shoot every projectile from vanilla Terraria magic weapons at once. int[] projectiles = new int[] { - ProjectileID.WoodenArrowFriendly, - ProjectileID.EnchantedBoomerang, - ProjectileID.MagicMissile, - ProjectileID.Flamelash, + // Pre-Hardmode Magic Weapons + ProjectileID.WandOfSparkingSpark, + ProjectileID.AmethystBolt, + ProjectileID.TopazBolt, + ProjectileID.SapphireBolt, + ProjectileID.EmeraldBolt, + ProjectileID.RubyBolt, + ProjectileID.DiamondBolt, + ProjectileID.AmberBolt, + ProjectileID.VilethornBase, + ProjectileID.VilethornTip, + ProjectileID.Bee, + ProjectileID.WaterStream, + ProjectileID.BookOfSkullsSkull, ProjectileID.DemonScythe, + ProjectileID.ThunderSpear, + ProjectileID.FlowerPetal, + ProjectileID.Flamelash, + ProjectileID.MagicMissile, + // Hardmode Magic Weapons + ProjectileID.SkyFracture, + ProjectileID.CrystalShard, + ProjectileID.CrystalStorm, + ProjectileID.CursedFlameFriendly, + ProjectileID.GoldenShowerFriendly, + //ProjectileID.CrystalSerpent, + ProjectileID.Meteor1, + ProjectileID.Meteor2, + ProjectileID.Meteor3, ProjectileID.RainbowRodBullet, - ProjectileID.UnholyTridentFriendly, - ProjectileID.LightBeam, + //ProjectileID.MagicalHarp, + ProjectileID.IceBlock, + ProjectileID.RainCloudRaining, + ProjectileID.PoisonFang, + ProjectileID.VenomFang, + ProjectileID.NettleBurstLeft, + ProjectileID.NettleBurstRight, + //ProjectileID.LeafBlowerLeaf, + ProjectileID.ShadowBeamFriendly, + ProjectileID.SpectreWrath, + ProjectileID.InfernoFriendlyBolt, + ProjectileID.MagnetSphereBall, + ProjectileID.MagnetSphereBolt, + ProjectileID.RainbowFront, + ProjectileID.RainbowBack, + ProjectileID.NorthPoleSnowflake, + ProjectileID.Blizzard, + ProjectileID.HeatRay, + ProjectileID.LaserMachinegunLaser, + ProjectileID.ChargedBlasterOrb, + ProjectileID.Bubble, ProjectileID.NightBeam, + ProjectileID.LightBeam, + ProjectileID.LunarFlare, + ProjectileID.NebulaArcanum, + ProjectileID.NebulaBlaze1, + ProjectileID.NebulaBlaze2, + ProjectileID.LastPrismLaser, + ProjectileID.ShadowFlame, + ProjectileID.ToxicFlask, + ProjectileID.BookStaffShot, + // Special/Event Magic Weapons + ProjectileID.FlaironBubble, + ProjectileID.UnholyTridentFriendly, ProjectileID.RainFriendly, ProjectileID.IceSickle, - ProjectileID.LastPrismLaser, - ProjectileID.NebulaBlaze2 + ProjectileID.FrostBoltStaff, + ProjectileID.CrystalLeafShot, + ProjectileID.Spark, + ProjectileID.BeeArrow, + ProjectileID.Wasp, + ProjectileID.DD2PhoenixBowShot, + ProjectileID.MonkStaffT1, + ProjectileID.MonkStaffT2, + ProjectileID.MonkStaffT3, }; foreach (int projectileType in projectiles) {