Пример #1
0
        public override void AI()
        {
            Player p = Main.player[projectile.owner];

            projectile.tileCollide = !Main.expertMode;
            BaseAI.AIBoomerang(projectile, ref projectile.ai, p.position, p.width, p.height, true, 15f, 35, .6f, 0.4f);
        }
Пример #2
0
 public override void AI()
 {
     if (!hasCollided)
     {
         BaseAI.AIThrownWeapon(projectile, ref projectile.ai, true, 15, 0.99f, 0.35f, 20);
     }
     else
     {
         BaseAI.AIBoomerang(projectile, ref projectile.ai, default(Vector2), -1, -1, true, 100, 60, 0.4f, 0.4f, false);
     }
 }
Пример #3
0
        public override void AI()
        {
            Player p = Main.player[projectile.owner];

            BaseAI.AIBoomerang(projectile, ref projectile.ai, p.position, p.width, p.height, true, 20f, 30, 20f, 0.6f, true);
            int Target = BaseAI.GetNPC(projectile.Center, -1, 500);

            if (Target != -1 && !Main.npc[Target].friendly)
            {
                NPC target = Main.npc[Target];
                int id     = BaseAI.ShootPeriodic(projectile, target.position, 14, 14, ModContent.ProjectileType <Darkray>(), ref internalAI[0], 30, projectile.damage, 7, true);
                Main.projectile[id].melee  = true;
                Main.projectile[id].ranged = false;
            }
        }
Пример #4
0
        public override void AI()
        {
            Player player = Main.player[projectile.owner];

            BaseAI.AIBoomerang(projectile, ref projectile.ai, player.Center, 20, 20, false, 16, 40, .9f, 1f, true);
            const int aislotHomingCooldown = 0;
            const int homingDelay          = 20;

            projectile.ai[aislotHomingCooldown]++;
            if (projectile.ai[aislotHomingCooldown] > homingDelay)
            {
                projectile.ai[aislotHomingCooldown] = homingDelay;

                int foundTarget = HomeOnTarget();
                if (foundTarget != -1)
                {
                    projectile.ai[aislotHomingCooldown] = 0;
                    NPC n = Main.npc[foundTarget];
                    BaseAI.ShootPeriodic(projectile, n.position, n.width, n.height, ModContent.ProjectileType <Darkray>(), ref shootAI[0], 5, projectile.damage, 24f, true, projectile.Center);
                }
            }
        }
Пример #5
0
        public override void AI()
        {
            Player p = Main.player[projectile.owner];

            BaseAI.AIBoomerang(projectile, ref projectile.ai, p.position, p.width, p.height, true, 10f, 50, 1f, 0.75f, false);
        }
Пример #6
0
        public override void AI()
        {
            Player p = Main.player[projectile.owner];

            BaseAI.AIBoomerang(projectile, ref projectile.ai, p.position, p.width, p.height, true, 16f, 20, projectile.ai[0] == 0 ? 0.7f : 1.3f, .4f, false);
        }