Ejemplo n.º 1
0
        /// <summary>
        /// Adding special handling for walking to a point for patrol guards to be in a formation
        /// </summary>
        /// <param name="tx"></param>
        /// <param name="ty"></param>
        /// <param name="tz"></param>
        /// <param name="speed"></param>
        public override void WalkTo(int tx, int ty, int tz, short speed)
        {
            int offX = 0; int offY = 0;

            if (IsMovingOnPath && PatrolGroup != null)
            {
                PatrolGroup.GetMovementOffset(this, out offX, out offY);
            }
            base.WalkTo(tx - offX, ty - offY, tz, speed);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Adding special handling for walking to a point for patrol guards to be in a formation
        /// </summary>
        public override void WalkTo(Vector3 target, short speed)
        {
            int offX = 0;
            int offY = 0;

            if (IsMovingOnPath && PatrolGroup != null)
            {
                PatrolGroup.GetMovementOffset(this, out offX, out offY);
            }
            base.WalkTo(target - new Vector3(offX, offY, 0), speed);
        }
Ejemplo n.º 3
0
        public override void WalkToSpawn(short speed)
        {
            if (PatrolGroup != null)
            {
                StopAttack();
                StopFollowing();

                StandardMobBrain brain = Brain as StandardMobBrain;
                if (brain != null && brain.HasAggro)
                {
                    brain.ClearAggroList();
                }

                PatrolGroup.StartPatrol();
                return;
            }
            base.WalkToSpawn(speed);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Walk to the spawn point, always max speed for keep guards, or continue patrol.
        /// </summary>
        public override void WalkToSpawn()
        {
            if (PatrolGroup != null)
            {
                StopAttack();
                StopFollowing();

                StandardMobBrain brain = Brain as StandardMobBrain;
                if (brain != null && brain.HasAggro)
                {
                    brain.ClearAggroList();
                }

                PatrolGroup.StartPatrol();
            }
            else
            {
                WalkToSpawn(MaxSpeed);
            }
        }