示例#1
0
        /// <summary>
        /// Handling the Revive action from GeneralDataPacket.
        /// </summary>
        /// <param name="client">The client.</param>
        /// <param name="General">The GeneralDataPacket.</param>
        public static void Handle(Entities.GameClient client, GeneralDataPacket General)
        {
            if (client.Alive)
            {
                return;
            }

            // check tournament spawns etc. do ReviveHere() and Teleport() for tournaments ;)
            client.Revive();
        }
示例#2
0
        private void Jump_Action()
        {
            if (Original.WasInArena)
            {
                Original.WasInArena = false;
                Target = null;
                Dispose();
                return;
            }
            if (Target == null)
            {
                return;
            }
            if (!Original.Alive)
            {
                Original.Revive();
                return;
            }
            bool CanFB = true;

            //if (Calculations.BasicCalculations.ChanceSuccess(95))
            //{
            if (Core.Screen.GetDistance(Original.X, Original.Y, Target.X, Target.Y) > 15)
            {
                Enums.ConquerAngle angle = Core.Screen.GetFacing(Core.Screen.GetAngle(Original.X, Original.Y, Target.X, Target.Y));
                ushort             size  = (ushort)Core.Screen.GetDistance(Target.X, Target.Y, Original.X, Original.Y);
                size /= 3;
                CanFB = false;
                Jump(size, angle);
            }
            else
            {
                ushort             size  = (ushort)ProjectX_V3_Lib.ThreadSafe.RandomGenerator.Generator.Next(10);
                Enums.ConquerAngle angle = (Enums.ConquerAngle)ProjectX_V3_Lib.ThreadSafe.RandomGenerator.Generator.Next(8);
                Jump(size, angle);
            }

            /*}
             * else
             * {
             *      Packets.GeneralDataPacket general = new ProjectX_V3_Game.Packets.GeneralDataPacket(Enums.DataAction.ChangeAction);
             *      general.Id = Original.EntityUID;
             *      general.Data1 = (uint)Enums.ActionType.Sit;
             *      general.Timestamp = ProjectX_V3_Lib.Native.Winmm.timeGetTime();
             *      Original.SendToScreen(general, false, false);
             * }*/
            if (Original.ArenaMatch != null)
            {
                if (!Original.ArenaMatch.MatchStarted)
                {
                    CanFB = false;
                }
            }
            if (Calculations.BasicCalculations.ChanceSuccess(ShootChance) && CanFB)
            {
                if (Core.Screen.GetDistance(Original.X, Original.Y, Target.X, Target.Y) <= 10)
                {
                    #region fb / ss
                    Shoot(Accuracy);
                    #endregion
                }
            }
        }