Maikel
Terrarian
I have another problem my gun isnt showing any ammo/is not shooting any bullets. Please Help!
Code:
using System;
using Microsoft.Xna.Framework;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
namespace Tesseract.Items.Weapons
{
public class DoomShroom : ModItem
{
public override void SetDefaults()
{
item.name = "Doom Shroom";
item.damage = 23;
item.ranged = true;
item.width = 50;
item.height = 25;
item.toolTip = "Neighbour! These Shrooms are protecting me from the zombie";
item.useTime = 38;
item.useAnimation = 38;
item.useStyle = 5;
item.noMelee = true;
item.knockBack = 7;
item.value = 10000;
item.rare = 2;
item.autoReuse = false;
item.shoot = 10;
item.shootSpeed = 10f;
item.useAmmo = ProjectileID.Bullet;
}
public static Vector2[] randomSpread(float speedX, float speedY, int angle, int num)
{
var posArray = new Vector2[num];
float spread = (float)(angle * 0.0174532925);
float baseSpeed = (float)System.Math.Sqrt(speedX * speedX + speedY * speedY);
double baseAngle = System.Math.Atan2(speedX, speedY);
double randomAngle;
for (int i = 0; i < num; ++i)
{
randomAngle = baseAngle + (Main.rand.NextFloat() - 0.5f) * spread;
posArray[i] = new Vector2(baseSpeed * (float)System.Math.Sin(randomAngle), baseSpeed * (float)System.Math.Cos(randomAngle));
}
return (Vector2[])posArray;
}
public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
{
Vector2[] speeds = randomSpread(speedX, speedY, 8, 6);
for (int i = 0; i < 5; ++i)
{
Projectile.NewProjectile(position.X, position.Y, speeds[i].X, speeds[i].Y, type, damage, knockBack, player.whoAmI);
}
return false;
}
}
}