diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 8898abe7..5528ee52 100755 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -397,10 +397,10 @@ namespace TShockAPI private static bool HandlePlayerDamage(GetDataHandlerArgs args) { byte playerid = args.Data.ReadInt8(); - if (playerid >= 0 && playerid <= Main.maxPlayers && TShock.Players[playerid] != null) + if (playerid >= 0 && playerid <= Main.maxPlayers) return !TShock.Players[playerid].TPlayer.hostile; - - return ConfigurationManager.PermaPvp; + else + return true; } private static bool HandleLiquidSet(GetDataHandlerArgs args) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 66e57eb6..99d0f6f7 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -37,7 +37,7 @@ namespace TShockAPI public static readonly Version VersionNum = Assembly.GetExecutingAssembly().GetName().Version; public static readonly string VersionCodename = "Lol, packet changes."; - public static readonly string SavePath = "tshock"; + public static string SavePath = "tshock"; public static TSPlayer[] Players = new TSPlayer[Main.maxPlayers]; public static BanManager Bans = new BanManager(Path.Combine(SavePath, "bans.txt")); @@ -167,6 +167,15 @@ namespace TShockAPI Console.WriteLine("Bad IP: {0}", parms[i]); } } + if (parms[i].ToLower() == "-configpath") + { + var path = parms[++i]; + if (path.IndexOfAny(Path.GetInvalidPathChars()) == -1) + { + SavePath = path; + Log.ConsoleInfo("Config path has been set to " + path); + } + } } } @@ -223,7 +232,7 @@ namespace TShockAPI if (!player.Group.HasPermission("usebanneditem")) { - var inv = Main.player[player.Index].inventory; + var inv = player.TPlayer.inventory; for (int i = 0; i < inv.Length; i++) { if (inv[i] != null && ItemManager.ItemIsBanned(inv[i].name))