public override void HitEffect(int hitDirection, double damage)
        {
            if (npc.life <= 0)
            {
                Gore.NewGorePerfect(GradiusExplode.CenterSpawn(npc.Center), Vector2.Zero,
                                    mod.GetGoreSlot("Gores/GradiusExplode"));
                if (Main.expertMode)
                {
                    if (RetaliationOverride == null)
                    {
                        switch (EnemyType)
                        {
                        case Types.Small:
                        case Types.Large:
                            RetaliationSpread(npc.Center);
                            break;

                        case Types.Boss:
                            RetaliationExplode(npc.Center);
                            break;
                        }
                    }
                    else
                    {
                        RetaliationOverride(npc.Center);
                    }
                }
            }
        }
예제 #2
0
 public override void Kill(int timeLeft)
 {
     Gore.NewGorePerfect(GradiusExplode.CenterSpawn(projectile.Center), Vector2.Zero,
                         mod.GetGoreSlot("Gores/GradiusExplode"), .5f);
     Main.PlaySound(mod.GetLegacySoundSlot(SoundType.Custom, "Sounds/Enemies/Gradius2Death"),
                    projectile.Center);
     if (IsMotherValid)
     {
         ActualMotherProjectile.alliedZalks.Remove(projectile);
     }
 }
예제 #3
0
        public override void Kill(int timeLeft)
        {
            Gore.NewGorePerfect(GradiusExplode.CenterSpawn(projectile.Center), Vector2.Zero,
                                mod.GetGoreSlot("Gores/GradiusExplode"), .5f);
            Main.PlaySound(mod.GetLegacySoundSlot(SoundType.Custom, "Sounds/Enemies/Gradius2Death"),
                           projectile.Center);
            Vector2 oldCenter = projectile.Center;

            projectile.width  = projectile.height = 200;
            projectile.Center = oldCenter;
            projectile.Damage();
            for (int i = 0; i < 100; i++)
            {
                Dust.NewDustDirect(projectile.position, projectile.width, projectile.height, DustID.ApprenticeStorm, 0f, 0f, 0, default, 1f);