From 2537da234641c4a269c3287f4ac8446717bd2eb3 Mon Sep 17 00:00:00 2001 From: Lucas Nicodemus Date: Sat, 26 May 2012 03:46:11 -0600 Subject: [PATCH] Added a config option for preventing world modification when dead Closes #437 --- TShockAPI/ConfigFile.cs | 3 +++ TShockAPI/GetDataHandlers.cs | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/TShockAPI/ConfigFile.cs b/TShockAPI/ConfigFile.cs index 858210ca..f8009983 100644 --- a/TShockAPI/ConfigFile.cs +++ b/TShockAPI/ConfigFile.cs @@ -230,6 +230,9 @@ namespace TShockAPI [Description("Prevent banks on SSI")] public bool DisablePiggybanksOnSSI = false; + [Description("Prevent players from interacting with the world if dead")] public bool PreventDeadModification = + false; + public static ConfigFile Read(string path) { if (!File.Exists(path)) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 46d7e92f..055a8e0e 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -1649,6 +1649,9 @@ namespace TShockAPI if (tileX < 0 || tileX >= Main.maxTilesX || tileY < 0 || tileY >= Main.maxTilesY) return false; + if (args.Player.Dead && TShock.Config.PreventDeadModification) + return true; + if (args.Player.AwaitingName) { var protectedregions = TShock.Regions.InAreaRegionName(tileX, tileY); @@ -2221,6 +2224,9 @@ namespace TShockAPI if (tileX < 0 || tileX >= Main.maxTilesX || tileY < 0 || tileY >= Main.maxTilesY) return false; + if (args.Player.Dead && TShock.Config.PreventDeadModification) + return true; + if (TShock.CheckIgnores(args.Player)) { args.Player.SendTileSquare(tileX, tileY);