/// <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(); }
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 } } }