public override double CalculateDamage(Player player, double damage)
        {
            if (BlushieBoss.ShieldA >= 300 && BlushieBoss.ShieldBuff(npc))
            {
                BlushieBoss.ShieldA = 0;
                return(0);
            }
            float healthMult = player.GetModPlayer <BluemagicPlayer>().origHealth / 720f;
            float regenMult  = player.lifeRegen / 28f;
            float mult       = 0.6f * healthMult + 0.4f * regenMult;

            damage = mult * 100000;
            if (damage > 100000)
            {
                damage = 100000;
            }
            else if (damage < 1)
            {
                damage = 1;
            }
            if (Main.netMode != 2 && npc.localAI[0] == 0f && damage < 50000)
            {
                if (BlushieBoss.BlushieC)
                {
                    Main.NewText("<blushiemagic (C)> I'll give you a hint: maximum health and high life regen are key to damaging me. If you get hit, you won't be penalized for the max health reduction, but the damage over time you take will matter!", 255, 255, 0);
                }
                else
                {
                    Main.NewText("<blushiemagic (A)> I play with my own rules! If you want to damage me, try having lots of health at the start of the fight and high life regen!", 255, 128, 128);
                }
                npc.localAI[0] = 1f;
            }
            return(damage);
        }
Exemple #2
0
        public override double CalculateDamage(Player player, double damage)
        {
            if (BlushieBoss.ShieldK >= 300 && BlushieBoss.ShieldBuff(npc))
            {
                BlushieBoss.ShieldK = 0;
                return(0);
            }
            if (Bluemagic.testing)
            {
                return(250000);
            }
            float defenseMult = player.statDefense / 200f;
            float resistMult  = player.endurance / 0.6f;
            float mult        = 0.6f * defenseMult + 0.4f * resistMult;

            damage = mult * 100000;
            if (damage > 100000)
            {
                damage = 100000;
            }
            if (Main.netMode != 2 && npc.localAI[0] == 0f && damage < 50000)
            {
                Main.NewText("<blushiemagic (K)> Oh yeah, uh, you need lots of defense and damage reduction if you want to damage me. Sorry...", 0, 128, 255);
                npc.localAI[0] = 1f;
            }
            return(damage);
        }
Exemple #3
0
 public override void PostDraw(SpriteBatch spriteBatch, Color lightColor)
 {
     if (BlushieBoss.ShieldK >= 300 && BlushieBoss.ShieldBuff(npc))
     {
         Texture2D shield = mod.GetTexture("BlushieBoss/ShieldK");
         spriteBatch.Draw(shield, npc.Center - Main.screenPosition - new Vector2(shield.Width / 2, shield.Height / 2), null, Color.White * 0.5f);
     }
 }
 public override double CalculateDamage(Player player, double damage)
 {
     if (BlushieBoss.ShieldL >= 300 && BlushieBoss.ShieldBuff(npc))
     {
         BlushieBoss.ShieldL = 0;
         return(0);
     }
     damage *= 50;
     if (damage > 100000)
     {
         damage = 100000;
     }
     if (Main.netMode != 2 && npc.localAI[0] == 0f && damage < 50000)
     {
         Main.NewText("<blushiemagic (L)> I hope you realize that you need high damage in order to deal high damage to me. Common sense, really...", 128, 0, 128);
         npc.localAI[0] = 1f;
     }
     return(damage);
 }