public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) {
    if (!this.field_70170_p.field_72995_K && !this.field_70128_L) {
      if (this.func_85032_ar()) {
        return false;
      } else {
        this.func_70494_i(-this.func_70493_k());
        this.func_70497_h(10);
        this.func_70018_K();
        this.func_70492_c(this.func_70491_i() + p_70097_2_ * 10.0F);
        boolean var3 =
            p_70097_1_.func_76346_g() instanceof EntityPlayer
                && ((EntityPlayer) p_70097_1_.func_76346_g()).field_71075_bZ.field_75098_d;
        if (var3 || this.func_70491_i() > 40.0F) {
          if (this.field_70153_n != null) {
            this.field_70153_n.func_70078_a(this);
          }

          if (var3 && !this.func_94042_c()) {
            this.func_70106_y();
          } else {
            this.func_94095_a(p_70097_1_);
          }
        }

        return true;
      }
    } else {
      return true;
    }
  }
  public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) {
    if (this.func_85032_ar()) {
      return false;
    } else if (super.func_70097_a(p_70097_1_, p_70097_2_)) {
      Entity var3 = p_70097_1_.func_76346_g();
      if (this.field_70153_n != var3 && this.field_70154_o != var3) {
        if (var3 != this) {
          this.field_70789_a = var3;
        }

        return true;
      } else {
        return true;
      }
    } else {
      return false;
    }
  }
  public void func_70645_a(DamageSource p_70645_1_) {
    if (this.field_70954_d != null) {
      Entity var2 = p_70645_1_.func_76346_g();
      if (var2 != null) {
        if (var2 instanceof EntityPlayer) {
          this.field_70954_d.func_82688_a(var2.func_70005_c_(), -2);
        } else if (var2 instanceof IMob) {
          this.field_70954_d.func_82692_h();
        }
      } else if (var2 == null) {
        EntityPlayer var3 = this.field_70170_p.func_72890_a(this, 16.0D);
        if (var3 != null) {
          this.field_70954_d.func_82692_h();
        }
      }
    }

    super.func_70645_a(p_70645_1_);
  }