Create TSPlayer.IsBouncerThrottled() to avoid code copypasta
This commit is contained in:
parent
0260530848
commit
1e9532a316
3 changed files with 21 additions and 14 deletions
|
|
@ -203,7 +203,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.SendData(PacketTypes.PlayerAnimation, "", args.Player.Index);
|
args.Player.SendData(PacketTypes.PlayerAnimation, "", args.Player.Index);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
@ -260,7 +260,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.SendData(PacketTypes.NpcUpdate, "", id);
|
args.Player.SendData(PacketTypes.NpcUpdate, "", id);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
@ -327,7 +327,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.SendData(PacketTypes.PlayerHp, "", id);
|
args.Player.SendData(PacketTypes.PlayerHp, "", id);
|
||||||
args.Player.SendData(PacketTypes.PlayerUpdate, "", id);
|
args.Player.SendData(PacketTypes.PlayerUpdate, "", id);
|
||||||
|
|
@ -470,7 +470,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.SendData(PacketTypes.PlayerAddBuff, "", id);
|
args.Player.SendData(PacketTypes.PlayerAddBuff, "", id);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
@ -770,7 +770,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.SendTileSquare(tileX, tileY, 1);
|
args.Player.SendTileSquare(tileX, tileY, 1);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
@ -796,7 +796,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.RemoveProjectile(args.ProjectileIdentity, args.ProjectileOwner);
|
args.Player.RemoveProjectile(args.ProjectileIdentity, args.ProjectileOwner);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
@ -1021,7 +1021,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.RemoveProjectile(ident, owner);
|
args.Player.RemoveProjectile(ident, owner);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
@ -1516,7 +1516,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.SendTileSquare(tileX, tileY, 4);
|
args.Player.SendTileSquare(tileX, tileY, 4);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
@ -1583,7 +1583,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.Player.CheckIgnores() || (DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.CheckIgnores() || args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
return;
|
return;
|
||||||
|
|
@ -1617,7 +1617,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
args.Player.SendTileSquare(tileX, tileY, size);
|
args.Player.SendTileSquare(tileX, tileY, size);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
|
||||||
|
|
@ -2761,7 +2761,7 @@ namespace TShockAPI
|
||||||
|
|
||||||
private static bool HandleSpawnBoss(GetDataHandlerArgs args)
|
private static bool HandleSpawnBoss(GetDataHandlerArgs args)
|
||||||
{
|
{
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -2896,7 +2896,7 @@ namespace TShockAPI
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000 ||
|
if (args.Player.IsBouncerThrottled() ||
|
||||||
TShock.CheckTilePermission(args.Player, x, y, true) ||
|
TShock.CheckTilePermission(args.Player, x, y, true) ||
|
||||||
TShock.CheckRangePermission(args.Player, x, y))
|
TShock.CheckRangePermission(args.Player, x, y))
|
||||||
{
|
{
|
||||||
|
|
@ -2940,7 +2940,7 @@ namespace TShockAPI
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000 ||
|
if (args.Player.IsBouncerThrottled() ||
|
||||||
TShock.CheckTilePermission(args.Player, x, y, true) ||
|
TShock.CheckTilePermission(args.Player, x, y, true) ||
|
||||||
TShock.CheckRangePermission(args.Player, x, y))
|
TShock.CheckRangePermission(args.Player, x, y))
|
||||||
{
|
{
|
||||||
|
|
@ -3320,7 +3320,7 @@ namespace TShockAPI
|
||||||
|
|
||||||
private static bool HandleOldOnesArmy(GetDataHandlerArgs args)
|
private static bool HandleOldOnesArmy(GetDataHandlerArgs args)
|
||||||
{
|
{
|
||||||
if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
|
if (args.Player.IsBouncerThrottled())
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -285,6 +285,13 @@ namespace TShockAPI
|
||||||
|
|
||||||
public bool IgnoreActionsForClearingTrashCan;
|
public bool IgnoreActionsForClearingTrashCan;
|
||||||
|
|
||||||
|
/// <summary>Checks to see if active throttling is happening on events by Bouncer. Rejects repeated events by malicious clients in a short window.</summary>
|
||||||
|
/// <returns>If the player is currently being throttled by Bouncer, or not.</returns>
|
||||||
|
public bool IsBouncerThrottled()
|
||||||
|
{
|
||||||
|
return (DateTime.UtcNow - LastThreat).TotalMilliseconds < 5000;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>CheckIgnores - Checks a players ignores...?</summary>
|
/// <summary>CheckIgnores - Checks a players ignores...?</summary>
|
||||||
/// <param name="player">player - The TSPlayer object.</param>
|
/// <param name="player">player - The TSPlayer object.</param>
|
||||||
/// <returns>bool - True if any ignore is not none, false, or login state differs from the required state.</returns>
|
/// <returns>bool - True if any ignore is not none, false, or login state differs from the required state.</returns>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue