public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
        {
            QwertyPlayer modPlayer = player.GetModPlayer <QwertyPlayer>(mod);
            Vector2      trueSpeed = new Vector2(speedX, speedY).RotatedByRandom(MathHelper.ToRadians(15));

            bool  yes = true;
            float anotherSpeedVariable = trueSpeed.Length();

            modPlayer.PickRandomAmmo(GetReference(95), ref type, ref anotherSpeedVariable, ref yes, ref damage, ref knockBack, Main.rand.Next(2) == 0);
            Projectile.NewProjectile(position.X, position.Y, trueSpeed.X, trueSpeed.Y, type, damage, knockBack, player.whoAmI);

            return(false);
        }
示例#2
0
        public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
        {
            //reset damage and knockback to avoid ammo modifing
            damage    = (int)(item.damage * player.meleeDamage);
            knockBack = item.knockBack * knockBack;

            QwertyPlayer modPlayer = player.GetModPlayer <QwertyPlayer>();
            Vector2      trueSpeed = new Vector2(speedX, speedY).RotatedByRandom(MathHelper.ToRadians(1));

            bool  yes = true;
            float anotherSpeedVariable = trueSpeed.Length();

            modPlayer.PickRandomAmmo(item, ref type, ref anotherSpeedVariable, ref yes, ref damage, ref knockBack, Main.rand.Next(2) == 0);
            Projectile.NewProjectile(position.X, position.Y, trueSpeed.X, trueSpeed.Y, type, damage, knockBack, player.whoAmI);

            return(false);
        }
        /*------------------------------------------------- */
        public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
        {
            int numberProjectiles = 1 + Main.rand.Next(16);

            for (int i = 0; i < numberProjectiles; i++)
            {
                QwertyPlayer modPlayer = player.GetModPlayer <QwertyPlayer>(mod);
                Vector2      trueSpeed = new Vector2(speedX, speedY).RotatedByRandom(MathHelper.ToRadians(20));
                float        scale     = Main.rand.NextFloat(.7f, 2.3f);
                trueSpeed = trueSpeed * scale;
                bool  yes = true;
                float anotherSpeedVariable = trueSpeed.Length();

                modPlayer.PickRandomAmmo(GetReference(39), ref type, ref anotherSpeedVariable, ref yes, ref damage, ref knockBack, Main.rand.Next(2) == 0);
                Projectile.NewProjectile(position.X + Main.rand.Next(-18, 18), position.Y + Main.rand.Next(-18, 18), trueSpeed.X, trueSpeed.Y, type, damage, knockBack, player.whoAmI);
            }
            return(false);
        }
示例#4
0
        /*------------------------------------------------- */
        public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
        {
            int numberProjectiles = 2 + Main.rand.Next(7);

            for (int i = 0; i < numberProjectiles; i++)
            {
                QwertyPlayer modPlayer = player.GetModPlayer <QwertyPlayer>();
                Vector2      trueSpeed = new Vector2(speedX, speedY).RotatedByRandom(MathHelper.ToRadians(15));
                float        scale     = Main.rand.NextFloat(1, 2);
                trueSpeed = trueSpeed * scale;
                bool  yes = true;
                float anotherSpeedVariable = trueSpeed.Length();
                int   currentDmg           = (int)(item.damage * player.rangedDamage);
                float currentKnockBack     = item.knockBack * knockBack;
                modPlayer.PickRandomAmmo(item, ref type, ref anotherSpeedVariable, ref yes, ref currentDmg, ref currentKnockBack, Main.rand.Next(2) == 0);
                Projectile.NewProjectile(position.X + Main.rand.Next(-12, 12), position.Y + Main.rand.Next(-12, 12), trueSpeed.X, trueSpeed.Y, type, currentDmg, currentKnockBack, player.whoAmI);
            }
            return(false);
        }
示例#5
0
        /*------------------------------------------------- */
        public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
        {
            if (player.altFunctionUse == 2)
            {
                QwertyPlayer modPlayer = player.GetModPlayer <QwertyPlayer>(mod);
                Vector2      trueSpeed = new Vector2(speedX, speedY);

                bool  yes = true;
                float anotherSpeedVariable = trueSpeed.Length();

                modPlayer.PickRandomAmmo(GetReference(39), ref type, ref anotherSpeedVariable, ref yes, ref damage, ref knockBack, Main.rand.Next(2) == 0);
                Projectile.NewProjectile(position.X, position.Y, speedX, speedY, type, damage, knockBack, player.whoAmI);

                return(false);
            }
            else
            {
                return(true);
            }
        }