Merge pull request #854 from PhoenixICE/general-devel

Added Kicking for Damage Threshold
This commit is contained in:
MarioE 2014-12-18 09:39:19 -05:00
commit 482d92ffa7
2 changed files with 21 additions and 2 deletions

View file

@ -271,6 +271,9 @@ namespace TShockAPI
[Description("The maximum damage a projectile can inflict.")] [Description("The maximum damage a projectile can inflict.")]
public int MaxProjDamage = 175; public int MaxProjDamage = 175;
[Description("Kicks a user if set to true, if they inflict more damage then the max damage.")]
public bool KickOnDamageThresholdBroken = false;
[Description("Ignores checking to see if player 'can' update a projectile.")] [Description("Ignores checking to see if player 'can' update a projectile.")]
public bool IgnoreProjUpdate = false; public bool IgnoreProjUpdate = false;

View file

@ -3149,8 +3149,16 @@ namespace TShockAPI
} }
if (dmg > TShock.Config.MaxDamage && !args.Player.Group.HasPermission(Permissions.ignoredamagecap) && id != args.Player.Index) if (dmg > TShock.Config.MaxDamage && !args.Player.Group.HasPermission(Permissions.ignoredamagecap) && id != args.Player.Index)
{
if (TShock.Config.KickOnDamageThresholdBroken)
{
TShock.Utils.Kick(args.Player, string.Format("Player damage exceeded {0}.", TShock.Config.MaxDamage));
return true;
}
else
{ {
args.Player.Disable(String.Format("Player damage exceeded {0}.", TShock.Config.MaxDamage)); args.Player.Disable(String.Format("Player damage exceeded {0}.", TShock.Config.MaxDamage));
}
args.Player.SendData(PacketTypes.PlayerHp, "", id); args.Player.SendData(PacketTypes.PlayerHp, "", id);
args.Player.SendData(PacketTypes.PlayerUpdate, "", id); args.Player.SendData(PacketTypes.PlayerUpdate, "", id);
return true; return true;
@ -3207,8 +3215,16 @@ namespace TShockAPI
return true; return true;
if (dmg > TShock.Config.MaxDamage && !args.Player.Group.HasPermission(Permissions.ignoredamagecap)) if (dmg > TShock.Config.MaxDamage && !args.Player.Group.HasPermission(Permissions.ignoredamagecap))
{
if (TShock.Config.KickOnDamageThresholdBroken)
{
TShock.Utils.Kick(args.Player, string.Format("NPC damage exceeded {0}.", TShock.Config.MaxDamage));
return true;
}
else
{ {
args.Player.Disable(String.Format("NPC damage exceeded {0}.", TShock.Config.MaxDamage)); args.Player.Disable(String.Format("NPC damage exceeded {0}.", TShock.Config.MaxDamage));
}
args.Player.SendData(PacketTypes.NpcUpdate, "", id); args.Player.SendData(PacketTypes.NpcUpdate, "", id);
return true; return true;
} }