public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
 {
     if(Main.rand.Next(2) == 0)
     {
         target.AddBuff(BuffID.OnFire, 500);
     }
 }
 public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.OnFire, 10);
     target.AddBuff(BuffID.Electrified, 3);
     target.AddBuff(BuffID.Venom, 5);
     target.AddBuff(BuffID.CursedInferno, 4);
 }
예제 #3
0
 public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.CursedInferno, 3);
     target.AddBuff(BuffID.Frostburn, 2);
     target.AddBuff(BuffID.Frozen, 1);
     target.AddBuff(BuffID.Chilled, 20);
     target.AddBuff(BuffID.OnFire, 10);
 }
예제 #4
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     if (Main.rand.Next(8) == 0)
     {
         target.AddBuff(BuffID.CursedInferno, 200, true);
         target.AddBuff(BuffID.OnFire, 200, true);
         target.AddBuff(BuffID.Frostburn, 200, true);
     }
 }
 public override void OnHitNPC(Player player, NPC target, int damage, float knockBack, bool crit)
 {
     if (player.altFunctionUse == 2)
     {
         target.AddBuff(BuffID.Ichor, 60);
     }
     else
     {
         target.AddBuff(BuffID.OnFire, 60);
     }
 }
예제 #6
0
        public override void OnHitNPCWithProj(Terraria.Projectile proj, Terraria.NPC target, int damage, float knockback, bool crit)
        {
            if (QueensStinger)
            {
                if (proj.type != 181)
                {
                    if (Terraria.Main.rand.NextBool(10))
                    {
                        Terraria.Projectile.NewProjectile(target.Center.X, target.Center.Y, 0f, 0f, ProjectileID.Bee, 3, 2, player.whoAmI);
                    }
                }
            }

            if (EmeraldEmpoweredGem)
            {
                target.AddBuff(39, 40);
            }

            if (MidasCrown)
            {
                target.AddBuff(BuffID.Midas, 900);
            }

            if (FrostProjectile)
            {
                if (Terraria.Main.rand.NextBool(2))
                {
                    target.AddBuff(BuffID.Frostburn, 120);
                }
            }


            if (SpiritCultistBonus && proj.magic && !target.boss)
            {
                if (target.FindBuffIndex(ModContent.BuffType <LiftedSpiritsDebuff>()) < 1)
                {
                    target.velocity.Y -= 20;
                }

                target.AddBuff(ModContent.BuffType <LiftedSpiritsDebuff>(), 210);
            }
            if (PhanticRangedBonus && proj.ranged && Terraria.Main.rand.NextFloat() < 0.15f && proj.type != ModContent.ProjectileType <PhanticSoul>())
            {
                float   rot      = Terraria.Main.rand.NextFloat(MathHelper.TwoPi);
                Vector2 position = target.Center + Vector2.One.RotatedBy(rot) * 180;
                Vector2 velocity = Vector2.One.RotatedBy(rot) * -1 * 12f;
                Terraria.Projectile.NewProjectile(position, velocity, ModContent.ProjectileType <PhanticSoul>(), 30, player.HeldItem.knockBack, player.whoAmI, 0, 0);
            }
        }
예제 #7
0
		public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
		{
			if (Main.rand.Next(10) == 0)
			{
				target.AddBuff(BuffID.OnFire, 180, false);
			}
		}
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     if (Main.rand.Next(2) == 0)
     {
         target.AddBuff(BuffID.CursedInferno, 60, false);
     }
 }
예제 #9
0
        public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
        {
            if (Main.rand.Next(10) == 0) // 10% chance to inflict slow on an enemy.
                target.AddBuff(BuffID.Slow, 5);

            base.OnHitNPC(target, damage, knockback, crit);
        }
예제 #10
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     if (Main.rand.Next(8) == 0)
     {
         target.AddBuff(BuffID.Confused, 240, true);
     }
 }
예제 #11
0
		public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
		{
			if (Main.rand.Next(2) == 0)
			{
				target.AddBuff(mod.BuffType("EtherealFlames"), 300);
			}
		}
예제 #12
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     switch ((int)projectile.ai[0])
     {
         case 1:
             target.AddBuff(BuffID.OnFire, 300); // 5 second debuff
             break;
         case 2:
             target.AddBuff(BuffID.Frostburn, 300); // 5 second debuff
             break;
         case 3:
             target.AddBuff(BuffID.CursedInferno, 300); // 5 second debuff
             break;
     }
     base.OnHitNPC(target, damage, knockback, crit);
 }
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     if (Main.rand.Next(25) == 0)
     {
         target.AddBuff(BuffID.BrokenArmor, 200, true);
     }
 }
예제 #14
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     if (Main.rand.Next(0) == 0)
     {
         target.AddBuff(mod.BuffType("ElectrifiedV2"), 540, true);
     }
 }
예제 #15
0
 public virtual void OnHitByNPC(NPC npc, int damage, bool crit)
 {
     if (Main.rand.Next(4) == 0)
     {
         npc.AddBuff(BuffID.ShadowFlame, 200, true);
     }
 }
        /// <summary>
        /// When an <see cref="NPC" /> is damaged by the <see cref="Projectile" />.
        /// </summary>
        /// <param name="n">The <see cref="NPC" /> that got damaged.</param>
        /// <param name="dir">In which direction the <see cref="NPC"/> got hit.</param>
        /// <param name="dmg">The damage dealt to the <see cref="NPC" />.</param>
        /// <param name="kb">The knockback the <see cref="NPC" /> wil receive.</param>
        /// <param name="crit">Wether it was a critical hit or not.</param>
        /// <param name="cMult">The damage multiplier of a critical hit.</param>
        public override void DamageNPC(NPC n, int dir, ref int dmg, ref float kb, ref bool crit, ref float cMult)
        {
            base.DamageNPC(n, dir, ref dmg, ref kb, ref crit, ref cMult);

            if (Main.rand.Next(3) == 0)
                n.AddBuff(20, 300);
        }
예제 #17
0
        public override void OnHitNPC(Terraria.Player player, Terraria.NPC target, int damage, float knockBack, bool crit)
        {
            int chance = 60 / UseSpeedArray[0];

            if (Terraria.Main.rand.NextBool(chance * 3))
            {
                target.AddBuff(Terraria.ID.BuffID.OnFire, 60 * (chance));
            }
        }
예제 #18
0
 public override void OnHitNPC(Terraria.Item item, Terraria.NPC target, int damage, float knockback, bool crit)
 {
     if (FrostMelee)
     {
         if (Terraria.Main.rand.NextBool(2))
         {
             target.AddBuff(BuffID.Frostburn, 120);
         }
     }
 }
예제 #19
0
 public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
 {
     if (Main.rand.Next(12) == 0)
     {
         target.AddBuff(BuffID.CursedInferno, 300, true);
     }
     if (Main.rand.Next(12) == 0)
     {
         target.AddBuff(BuffID.Frostburn, 300, true);
     }
     if (Main.rand.Next(12) == 0)
     {
         target.AddBuff(BuffID.OnFire, 300, true);
     }
     if (Main.rand.Next(8) == 0)
     {
         target.AddBuff(BuffID.BrokenArmor, 600, true);
     }
 }
예제 #20
0
		public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
		{
			if (Main.rand.Next(2) == 0)
			{
				int debuff = GetDebuff();
				if (debuff > 0)
				{
					target.AddBuff(debuff, GetDebuffTime());
				}
			}
		}
예제 #21
0
        public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
        {
            if (Main.rand.Next(8) == 0)
            {
                target.AddBuff(BuffID.OnFire, 120, true);
            }
            if (Main.rand.Next(8) == 0)
            {
                        }
            if (Main.rand.Next(8) == 0)
            {

            }
        }
예제 #22
0
        public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
        {
            projectile.ai[0] = 1f;
            projectile.ai[1] = (float)target.whoAmI;
            target.AddBuff(169, 900, false);
            projectile.velocity = (target.Center - projectile.Center) * 0.75f;
            projectile.netUpdate = true;
            projectile.damage = 0;
            int num31 = 6;
            Point[] array2 = new Point[num31];
            int num32 = 0;

            for (int n = 0; n < 1000; n++)
            {
                if (n != projectile.whoAmI && Main.projectile[n].active && Main.projectile[n].owner == Main.myPlayer && Main.projectile[n].type == projectile.type && Main.projectile[n].ai[0] == 1f && Main.projectile[n].ai[1] == target.whoAmI)
                {
                    array2[num32++] = new Point(n, Main.projectile[n].timeLeft);
                    if (num32 >= array2.Length)
                    {
                        break;
                    }
                }
            }
            if (num32 >= array2.Length)
            {
                int num33 = 0;
                for (int num34 = 1; num34 < array2.Length; num34++)
                {
                    if (array2[num34].Y < array2[num33].Y)
                    {
                        num33 = num34;
                    }
                }
                Main.projectile[array2[num33].X].Kill();
            }
        }
예제 #23
0
 public override void OnHitNPC(NPC tmcwashere, int damage, float knockback, bool crit)
 {
     {
         tmcwashere.AddBuff(BuffID.Frostburn, 300);
     }
 }
예제 #24
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.OnFire, 10);
     base.OnHitNPC(target, damage, knockback, crit);
 }
 public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.Electrified, 3);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="npc"></param>
 /// <param name="hitDir"></param>
 /// <param name="damage"></param>
 /// <param name="knockback"></param>
 /// <param name="crit"></param>
 /// <param name="critMult"></param>
 public override void DamageNPC(NPC npc, int hitDir, ref int damage, ref float knockback, ref bool crit, ref float critMult)
 {
     npc.AddBuff(69, 600, true);
 }
 public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.CursedInferno, 5);
 }
예제 #28
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(24, 60);
 }
예제 #29
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.OnFire, 180, false);
 }
예제 #30
0
 public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.OnFire, 60);
 }
예제 #31
0
 public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(mod.BuffType("EssenceTrap"), 520);
 }
예제 #32
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.ShadowFlame, 30);
     target.AddBuff(BuffID.Ichor, 30);
     base.OnHitNPC(target, damage, knockback, crit);
 }
예제 #33
0
 public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
 {
     target.AddBuff(BuffID.CursedInferno, 40);
     base.OnHitNPC(target, damage, knockback, crit);
 }