ChadBroski01
Terrarian
So, I'm getting an error message that says "error CS 0115: TestBow.Shoot(Player, Item, ref Vector2, ref float, ref float, ref int, ref int, ref float) No suitable method to override.
Here is my code:
namespace CoolSword.Items
{
class TestBow : ModItem
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("What the heck");
Tooltip.SetDefault("maybe");
}
public override void SetDefaults()
{
Item.damage = 29;
Item.DamageType = DamageClass.Melee;
Item.width = 40;
Item.height = 40;
Item.useTime = 17;
Item.useAnimation = 25;
Item.useStyle = 1;
Item.knockBack = 11;
Item.value = 10000;
Item.rare = 3;
Item.UseSound = SoundID.Item1;
Item.autoReuse = true;
Item.shoot = ProjectileID.WoodenArrowFriendly;
Item.shootSpeed = 9f;
Item.useAmmo = AmmoID.Arrow;
}
public override void AddRecipes()
{
Recipe recipe = CreateRecipe();
recipe.AddIngredient(ItemID.DirtBlock, 1);
recipe.AddTile(TileID.Anvils);
recipe.Register();
}
public override bool Shoot(Player player, Item item, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
{
Vector2 offset = new Vector2(speedX * 3, speedY * 3);
position += offset;
for (var i = 0; i < 2; i++)
{
Vector2 perturbedSpeed = new Vector2(speedX, speedY).RotatedBy(MathHelper.ToRadians(20));
Projectile.NewProjectile(position.X, position.Y, perturbedSpeed.X, perturbedSpeed.Y, type, damage, knockBack, player.whoAmI);
}
return false;
}
}
}
Here is my code:
namespace CoolSword.Items
{
class TestBow : ModItem
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("What the heck");
Tooltip.SetDefault("maybe");
}
public override void SetDefaults()
{
Item.damage = 29;
Item.DamageType = DamageClass.Melee;
Item.width = 40;
Item.height = 40;
Item.useTime = 17;
Item.useAnimation = 25;
Item.useStyle = 1;
Item.knockBack = 11;
Item.value = 10000;
Item.rare = 3;
Item.UseSound = SoundID.Item1;
Item.autoReuse = true;
Item.shoot = ProjectileID.WoodenArrowFriendly;
Item.shootSpeed = 9f;
Item.useAmmo = AmmoID.Arrow;
}
public override void AddRecipes()
{
Recipe recipe = CreateRecipe();
recipe.AddIngredient(ItemID.DirtBlock, 1);
recipe.AddTile(TileID.Anvils);
recipe.Register();
}
public override bool Shoot(Player player, Item item, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
{
Vector2 offset = new Vector2(speedX * 3, speedY * 3);
position += offset;
for (var i = 0; i < 2; i++)
{
Vector2 perturbedSpeed = new Vector2(speedX, speedY).RotatedBy(MathHelper.ToRadians(20));
Projectile.NewProjectile(position.X, position.Y, perturbedSpeed.X, perturbedSpeed.Y, type, damage, knockBack, player.whoAmI);
}
return false;
}
}
}