Example #1
0
 /// <summary>
 /// Updates the task
 /// </summary>
 public override void UpdateTask()
 {
     if (TheEntity.GetDistanceSqToEntity(Field_48240_d) < 49D)
     {
         TheEntity.GetNavigator().SetSpeed(Field_48243_c);
     }
     else
     {
         TheEntity.GetNavigator().SetSpeed(Field_48242_b);
     }
 }
        /// <summary>
        /// Returns whether the EntityAIBase should begin execution.
        /// </summary>
        public override bool ShouldExecute()
        {
            Func_48286_h();

            if (Field_48289_e && TheEntity.WorldObj.IsDaytime())
            {
                return(false);
            }

            Village village = TheEntity.WorldObj.VillageCollectionObj.FindNearestVillage(MathHelper2.Floor_double(TheEntity.PosX), MathHelper2.Floor_double(TheEntity.PosY), MathHelper2.Floor_double(TheEntity.PosZ), 0);

            if (village == null)
            {
                return(false);
            }

            DoorInfo = Func_48284_a(village);

            if (DoorInfo == null)
            {
                return(false);
            }

            bool flag = TheEntity.GetNavigator().Func_48665_b();

            TheEntity.GetNavigator().SetBreakDoors(false);
            Field_48291_c = TheEntity.GetNavigator().GetPathToXYZ(DoorInfo.PosX, DoorInfo.PosY, DoorInfo.PosZ);
            TheEntity.GetNavigator().SetBreakDoors(flag);

            if (Field_48291_c != null)
            {
                return(true);
            }

            Vec3D vec3d = RandomPositionGenerator.Func_48620_a(TheEntity, 10, 7, Vec3D.CreateVector(DoorInfo.PosX, DoorInfo.PosY, DoorInfo.PosZ));

            if (vec3d == null)
            {
                return(false);
            }
            else
            {
                TheEntity.GetNavigator().SetBreakDoors(false);
                Field_48291_c = TheEntity.GetNavigator().GetPathToXYZ(vec3d.XCoord, vec3d.YCoord, vec3d.ZCoord);
                TheEntity.GetNavigator().SetBreakDoors(flag);
                return(Field_48291_c != null);
            }
        }
Example #3
0
 public EntityAIAvoidEntity(EntityCreature par1EntityCreature, Type par2Class, float par3, float par4, float par5)
 {
     TheEntity          = par1EntityCreature;
     TargetEntityClass  = par2Class;
     Field_48241_e      = par3;
     Field_48242_b      = par4;
     Field_48243_c      = par5;
     EntityPathNavigate = par1EntityCreature.GetNavigator();
     SetMutexBits(1);
 }
 /// <summary>
 /// Execute a one shot task or start executing a continuous task
 /// </summary>
 public override void StartExecuting()
 {
     Field_48276_c = TemptingPlayer.PosX;
     Field_48273_d = TemptingPlayer.PosY;
     Field_48274_e = TemptingPlayer.PosZ;
     Field_48280_j = true;
     Field_48279_m = TemptedEntity.GetNavigator().Func_48658_a();
     TemptedEntity.GetNavigator().Func_48664_a(false);
 }
Example #5
0
 /// <summary>
 /// Returns whether an in-progress EntityAIBase should continue executing
 /// </summary>
 public override bool ContinueExecuting()
 {
     return(!TheCreature.GetNavigator().NoPath());
 }