I'm trying to make melee projectiles home.

NullNic

Terrarian
I'm making a mod where a melee projectile homes in to enemies, here is code for the sword



using Terraria;
using Terraria.ModLoader;
using Terraria.ID;
using Terraria.GameContent.Creative;
using CalamityMusicAddonThing.Content.Projectiles.Weapons;
using Microsoft.Xna.Framework;
using System;
using Terraria.Graphics.Shaders;
using Terraria.Graphics.Effects;
using Terraria.DataStructures;

namespace CalamityMusicAddonThing.Content.Items.Weapons
{
internal class EnchantedEnchantedSword : ModItem
{
public override void SetDefaults()
{
Item.width = 16;
Item.height = 16;

Item.useStyle = ItemUseStyleID.Swing;
Item.useTime = 30;
Item.autoReuse = true;
Item.useAnimation = 30;

Item.DamageType = DamageClass.Melee;
Item.damage = 50;
Item.knockBack = 2.5f;
Item.crit = 15;

Item.value = Item.buyPrice(gold: 20, silver: 50);
Item.rare = ItemRarityID.Blue;

Item.UseSound = SoundID.Item1;

Item.shootSpeed = 7.5f;
Item.shoot = ModContent.ProjectileType<EnchantedSwordProjectile>();
}
public override void AddRecipes()
{
Recipe recipe = CreateRecipe();
recipe.AddIngredient<Enchanted_Chunk>();
recipe.AddIngredient(ItemID.CobaltBar, 20);
recipe.AddIngredient(ItemID.EnchantedSword, 1);
recipe.AddTile(TileID.MythrilAnvil);
recipe.Register();

CreateRecipe();
recipe.AddIngredient<Enchanted_Chunk>();
recipe.AddIngredient(ItemID.PalladiumBar, 20);
recipe.AddIngredient(ItemID.EnchantedSword, 1);
recipe.AddTile(TileID.MythrilAnvil);
recipe.Register();
}

public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback)
{
const int NumProjectiles = 5;

for (int i = 0; i < NumProjectiles; i++)
{
Vector2 newVelocity = velocity.RotatedByRandom(MathHelper.ToRadians(35));
newVelocity *= 1f - Main.rand.NextFloat(0);
Projectile.NewProjectileDirect(source, position, newVelocity, type, damage, knockback, player.whoAmI);
}
return false;
}
}
}








And the projectile code :



using Terraria;
using Terraria.ModLoader;
using Terraria.ID;
using Microsoft.Xna.Framework;
using System;
using System.Security.Cryptography.X509Certificates;

namespace CalamityMusicAddonThing.Content.Projectiles.Weapons
{
internal class EnchantedSwordProjectile : ModProjectile
{
public override void SetDefaults()
{
Projectile.width = 28;
Projectile.height = 28;

Projectile.friendly = true;
Projectile.penetrate = 10;
Projectile.tileCollide = false;
Projectile.DamageType = DamageClass.Melee;
Projectile.ownerHitCheck = false;
Projectile.extraUpdates = 1;
Projectile.timeLeft = 2000;
Projectile.maxPenetrate = 5;

Projectile.aiStyle = ProjAIStyleID.Beam;


}

public override void AI()
{
base.AI();

Projectile.rotation = Projectile.velocity.ToRotation() + MathHelper.PiOver2 * Projectile.spriteDirection;
}
}
}




does anyone know how to make it home?
also don't mind the name of the mod, i just made it up randomly
 
Back
Top Bottom