/// <summary> /// Updates the task /// </summary> public override void UpdateTask() { Attacker.GetLookHelper().SetLookPositionWithEntity(EntityTarget, 30F, 30F); if ((Field_48264_f || Attacker.Func_48090_aM().CanSee(EntityTarget)) && --Field_48269_i <= 0) { Field_48269_i = 4 + Attacker.GetRNG().Next(7); Attacker.GetNavigator().Func_48667_a(EntityTarget, Field_48266_e); } Field_46091_d = Math.Max(Field_46091_d - 1, 0); double d = Attacker.Width * 2.0F * (Attacker.Width * 2.0F); if (Attacker.GetDistanceSq(EntityTarget.PosX, EntityTarget.BoundingBox.MinY, EntityTarget.PosZ) > d) { return; } if (Field_46091_d > 0) { return; } else { Field_46091_d = 20; Attacker.AttackEntityAsMob(EntityTarget); return; } }
/// <summary> /// Updates the task /// </summary> public override void UpdateTask() { double d = 100D; double d1 = EntityHost.GetDistanceSq(AttackTarget.PosX, AttackTarget.BoundingBox.MinY, AttackTarget.PosZ); bool flag = EntityHost.Func_48090_aM().CanSee(AttackTarget); if (flag) { Field_48367_f++; } else { Field_48367_f = 0; } if (d1 > d || Field_48367_f < 20) { EntityHost.GetNavigator().Func_48667_a(AttackTarget, Field_48370_e); } else { EntityHost.GetNavigator().ClearPathEntity(); } EntityHost.GetLookHelper().SetLookPositionWithEntity(AttackTarget, 30F, 30F); RangedAttackTime = Math.Max(RangedAttackTime - 1, 0); if (RangedAttackTime > 0) { return; } if (d1 > d || !flag) { return; } else { DoRangedAttack(); RangedAttackTime = MaxRangedAttackTime; return; } }