Add practically every projectile to Tome of Unyielding

This commit is contained in:
2025-11-10 14:52:37 +00:00
parent d9912fc173
commit cf9c8e8599
+75 -13
View File
@@ -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<SingularityItem>();
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)
{