Esempio n. 1
0
 public virtual void PerformEffect(EntityLiving par1EntityLiving, int par2)
 {
     if (Id == Regeneration.Id)
     {
         if (par1EntityLiving.GetHealth() < par1EntityLiving.GetMaxHealth())
         {
             par1EntityLiving.Heal(1);
         }
     }
     else if (Id == Poison.Id)
     {
         if (par1EntityLiving.GetHealth() > 1)
         {
             par1EntityLiving.AttackEntityFrom(DamageSource.Magic, 1);
         }
     }
     else if (Id == Hunger.Id && (par1EntityLiving is EntityPlayer))
     {
         ((EntityPlayer)par1EntityLiving).AddExhaustion(0.025F * (float)(par2 + 1));
     }
     else if (Id == Heal.Id && !par1EntityLiving.IsEntityUndead() || Id == Harm.Id && par1EntityLiving.IsEntityUndead())
     {
         par1EntityLiving.Heal(6 << par2);
     }
     else if (Id == Harm.Id && !par1EntityLiving.IsEntityUndead() || Id == Heal.Id && par1EntityLiving.IsEntityUndead())
     {
         par1EntityLiving.AttackEntityFrom(DamageSource.Magic, 6 << par2);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Hits the provided entity with this potion's instant effect.
        /// </summary>
        public virtual void AffectEntity(EntityLiving par1EntityLiving, EntityLiving par2EntityLiving, int par3, double par4)
        {
            if (Id == Heal.Id && !par2EntityLiving.IsEntityUndead() || Id == Harm.Id && par2EntityLiving.IsEntityUndead())
            {
                int i = (int)(par4 * (double)(6 << par3) + 0.5D);
                par2EntityLiving.Heal(i);
            }
            else if (Id == Harm.Id && !par2EntityLiving.IsEntityUndead() || Id == Heal.Id && par2EntityLiving.IsEntityUndead())
            {
                int j = (int)(par4 * (double)(6 << par3) + 0.5D);

                if (par1EntityLiving == null)
                {
                    par2EntityLiving.AttackEntityFrom(DamageSource.Magic, j);
                }
                else
                {
                    par2EntityLiving.AttackEntityFrom(DamageSource.CauseIndirectMagicDamage(par2EntityLiving, par1EntityLiving), j);
                }
            }
        }