/// <summary> /// Determines if a player has permission to use a specific creative power /// </summary> /// <param name="powerType"></param> /// <param name="player"></param> /// <returns></returns> public static bool HasPermission(CreativePowerTypes powerType, TSPlayer player) { if (!PowerToPermissionMap.ContainsKey(powerType)) { TShock.Log.ConsoleDebug("CreativePowerHandler received permission check request for unknown creative power"); return(false); } string permission = PowerToPermissionMap[powerType]; //prevent being told about the spawnrate permission on join until relogic fixes if (!player.HasReceivedNPCPermissionError && powerType == CreativePowerTypes.SetSpawnRate) { player.HasReceivedNPCPermissionError = true; return(false); } if (!player.HasPermission(permission)) { player.SendErrorMessage("You do not have permission to {0}.", PermissionToDescriptionMap[permission]); return(false); } return(true); }
/// <summary> /// Reads the power type from the stream /// </summary> /// <param name="data"></param> public void Deserialize(MemoryStream data) { PowerType = (CreativePowerTypes)data.ReadInt16(); }