using Decimation.Content.Items.Ores;
using Decimation.Content.Items.Weapons.Arachnus;
using Decimation.Content.Projectiles;
using Decimation.Content.Tiles;
using Decimation.Lib.Items;
using Microsoft.Xna.Framework;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;

namespace Decimation.Content.Items.Weapons
{
    internal class TitanicGatliStynger : DecimationWeapon
    {
        protected override string ItemName => "Titanic Gatli Stynger";
        protected override string ItemTooltip => "Feel the rage of Kronos by your side.";
        protected override DamageType DamagesType => DamageType.Ranged;
        protected override int Damages => 950;
        protected override string ProjectileName => "TitanicStyngerBolt";

        protected override void InitWeapon()
        {
            this.item.CloneDefaults(ItemID.Stynger);

            item.knockBack = 11;
            item.shootSpeed = 9f;
            item.crit = 8;

            this.item.width = 52;
            this.item.height = 26;
            this.item.useTime = 10;
            this.item.useAnimation = 10;
            this.item.rare = 10;
            this.item.autoReuse = true;
            this.item.value = Item.buyPrice(0, 60);
        }

        protected override ModRecipe GetRecipe()
        {
            ModRecipe recipe = GetNewModRecipe(this, 1, ModContent.TileType<TitanForge>());

            recipe.AddIngredient(ModContent.ItemType<ChainStynger>());
            recipe.AddIngredient(ModContent.ItemType<TitaniteBar>(), 15);
            // TODO recipe.AddIngredient(null, "CondensedMight", 5);
            recipe.AddIngredient(ModContent.ItemType<DenziumBar>());

            return recipe;
        }

        public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY,
            ref int type, ref int damage, ref float knockBack)
        {
            type = ModContent.ProjectileType<TitanicStyngerBolt>();
            return true;
        }
    }
}