From 4cb3469c4f024704a3ba040bb6fb643d0662ddd1 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Wed, 27 Mar 2019 20:54:00 +0200 Subject: [PATCH] (8f9250974) Fix spritesheet orientation offestting the joint widgets in the wrong direction, which made it a bit difficult to use. --- .../BarotraumaClient/ClientCode.projitems | 2 +- .../Source/Characters/AI/EnemyAIController.cs | 11 +- .../Characters/Health/CharacterHealth.cs | 8 - .../BarotraumaClient/Source/DebugConsole.cs | 183 +++++++ Barotrauma/BarotraumaClient/Source/GUI/GUI.cs | 35 +- .../BarotraumaClient/Source/GUI/GUIStyle.cs | 12 - .../Source/GUI/HUDLayoutSettings.cs | 9 - .../GameModes/SinglePlayerCampaign.cs | 2 +- .../GameModes/Tutorials/ContextualTutorial.cs | 481 ++++-------------- .../GameModes/Tutorials/Tutorial.cs | 4 +- .../Items/Components/Machines/Steering.cs | 34 +- .../BarotraumaClient/Source/Map/Map/Map.cs | 21 +- .../BarotraumaClient/Source/Map/Structure.cs | 3 +- .../Source/Networking/GameClient.cs | 196 ++++--- .../Source/Screens/CampaignSetupUI.cs | 73 ++- .../Source/Screens/CharacterEditorScreen.cs | 46 +- .../Source/Screens/NetLobbyScreen.cs | 21 +- .../Source/Screens/SubEditorScreen.cs | 7 + .../Source/Networking/GameServer.cs | 22 +- .../ServerEntityEventManager.cs | 29 +- .../Data/ContentPackages/Vanilla 0.9.xml | 3 +- .../BarotraumaShared/SharedContent.projitems | 57 +-- .../Source/Characters/AI/EnemyAIController.cs | 33 +- .../Source/Characters/AI/LatchOntoAI.cs | 2 +- .../Animation/FishAnimController.cs | 19 +- .../Params/Animation/AnimationParams.cs | 2 +- .../Animation/Params/Ragdoll/RagdollParams.cs | 2 +- .../Source/Characters/Animation/Ragdoll.cs | 109 ++-- .../Source/Characters/Character.cs | 1 + .../Source/Characters/CharacterInfo.cs | 5 + .../Source/Characters/Limb.cs | 2 +- .../Source/Events/Missions/Mission.cs | 7 +- .../Source/Items/Components/ItemComponent.cs | 1 - .../Items/Components/Power/PowerContainer.cs | 8 +- .../Items/Components/Power/PowerTransfer.cs | 22 +- .../BarotraumaShared/Source/Map/Explosion.cs | 114 +---- .../BarotraumaShared/Source/Map/Submarine.cs | 4 +- .../BarotraumaShared/Source/Utils/SaveUtil.cs | 4 +- .../BarotraumaShared/Submarines/Dugong.sub | Bin 72240 -> 72412 bytes .../BarotraumaShared/Submarines/Humpback.sub | Bin 77355 -> 77380 bytes 40 files changed, 634 insertions(+), 960 deletions(-) diff --git a/Barotrauma/BarotraumaClient/ClientCode.projitems b/Barotrauma/BarotraumaClient/ClientCode.projitems index 489043880..ab5b8970a 100644 --- a/Barotrauma/BarotraumaClient/ClientCode.projitems +++ b/Barotrauma/BarotraumaClient/ClientCode.projitems @@ -79,8 +79,8 @@ + - diff --git a/Barotrauma/BarotraumaClient/Source/Characters/AI/EnemyAIController.cs b/Barotrauma/BarotraumaClient/Source/Characters/AI/EnemyAIController.cs index c18e14dee..e112d338c 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/AI/EnemyAIController.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/AI/EnemyAIController.cs @@ -16,13 +16,14 @@ namespace Barotrauma if (SelectedAiTarget?.Entity != null) { - GUI.DrawLine(spriteBatch, pos, new Vector2(SelectedAiTarget.WorldPosition.X, -SelectedAiTarget.WorldPosition.Y), Color.Red * 0.3f, 0, 5); + GUI.DrawLine(spriteBatch, pos, new Vector2(SelectedAiTarget.WorldPosition.X, -SelectedAiTarget.WorldPosition.Y), Color.Red * 0.5f, 0, 4); if (wallTarget != null) { Vector2 wallTargetPos = wallTarget.Position; + if (wallTarget.Structure.Submarine != null) { wallTargetPos += wallTarget.Structure.Submarine.Position; } wallTargetPos.Y = -wallTargetPos.Y; - GUI.DrawRectangle(spriteBatch, wallTargetPos - new Vector2(10.0f, 10.0f), new Vector2(20.0f, 20.0f), Color.Red, false); + GUI.DrawRectangle(spriteBatch, wallTargetPos - new Vector2(10.0f, 10.0f), new Vector2(20.0f, 20.0f), Color.Orange, false); GUI.DrawLine(spriteBatch, pos, wallTargetPos, Color.Orange * 0.5f, 0, 5); } GUI.DrawString(spriteBatch, pos - Vector2.UnitY * 60.0f, $"{SelectedAiTarget.Entity.ToString()} ({targetValue.FormatZeroDecimal()})", Color.Red, Color.Black); @@ -56,18 +57,16 @@ namespace Barotrauma { GUI.DrawLine(spriteBatch, ConvertUnits.ToDisplayUnits(new Vector2(attachJoint.WorldAnchorA.X, -attachJoint.WorldAnchorA.Y)), - ConvertUnits.ToDisplayUnits(new Vector2(attachJoint.WorldAnchorB.X, -attachJoint.WorldAnchorB.Y)), Color.Orange * 0.6f, 0, 5); + ConvertUnits.ToDisplayUnits(new Vector2(attachJoint.WorldAnchorB.X, -attachJoint.WorldAnchorB.Y)), Color.Green, 0, 4); } if (latchOntoAI.WallAttachPos.HasValue) { GUI.DrawLine(spriteBatch, pos, - ConvertUnits.ToDisplayUnits(new Vector2(latchOntoAI.WallAttachPos.Value.X, -latchOntoAI.WallAttachPos.Value.Y)), Color.Orange * 0.6f, 0, 3); + ConvertUnits.ToDisplayUnits(new Vector2(latchOntoAI.WallAttachPos.Value.X, -latchOntoAI.WallAttachPos.Value.Y)), Color.Green, 0, 3); } } - GUI.DrawLine(spriteBatch, pos, pos + ConvertUnits.ToDisplayUnits(new Vector2(Steering.X, -Steering.Y)), Color.Blue, width: 3); - if (steeringManager is IndoorsSteeringManager pathSteering) { var path = pathSteering.CurrentPath; diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs b/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs index d649f7b1a..04cb8c620 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs @@ -68,14 +68,6 @@ namespace Barotrauma private float dropItemAnimDuration = 0.5f; private float dropItemAnimTimer; - - public Item DroppedItem - { - get - { - return droppedItem; - } - } private Item droppedItem; private GUIComponent draggingMed; diff --git a/Barotrauma/BarotraumaClient/Source/DebugConsole.cs b/Barotrauma/BarotraumaClient/Source/DebugConsole.cs index 8bd4315ba..30a90bde2 100644 --- a/Barotrauma/BarotraumaClient/Source/DebugConsole.cs +++ b/Barotrauma/BarotraumaClient/Source/DebugConsole.cs @@ -1815,6 +1815,189 @@ namespace Barotrauma NPCConversation.WriteToCSV(); })); + commands.Add(new Command("csvtoxml", "csvtoxml [language] -> Converts .csv localization files in Content/NPCConversations & Content/Texts to .xml for use in-game.", (string[] args) => + { + if (args.Length == 0) return; + LocalizationCSVtoXML.Convert(args[0]); + })); +#endif + + commands.Add(new Command("cleanbuild", "", (string[] args) => + { + float defaultZoom = Screen.Selected.Cam.DefaultZoom; + if (args.Length > 0) float.TryParse(args[0], NumberStyles.Number, CultureInfo.InvariantCulture, out defaultZoom); + + float zoomSmoothness = Screen.Selected.Cam.ZoomSmoothness; + if (args.Length > 1) float.TryParse(args[1], NumberStyles.Number, CultureInfo.InvariantCulture, out zoomSmoothness); + float moveSmoothness = Screen.Selected.Cam.MoveSmoothness; + if (args.Length > 2) float.TryParse(args[2], NumberStyles.Number, CultureInfo.InvariantCulture, out moveSmoothness); + + float minZoom = Screen.Selected.Cam.MinZoom; + if (args.Length > 3) float.TryParse(args[3], NumberStyles.Number, CultureInfo.InvariantCulture, out minZoom); + float maxZoom = Screen.Selected.Cam.MaxZoom; + if (args.Length > 4) float.TryParse(args[4], NumberStyles.Number, CultureInfo.InvariantCulture, out maxZoom); + + Screen.Selected.Cam.DefaultZoom = defaultZoom; + Screen.Selected.Cam.ZoomSmoothness = zoomSmoothness; + Screen.Selected.Cam.MoveSmoothness = moveSmoothness; + Screen.Selected.Cam.MinZoom = minZoom; + Screen.Selected.Cam.MaxZoom = maxZoom; + })); + + commands.Add(new Command("waterparams", "waterparams [distortionscalex] [distortionscaley] [distortionstrengthx] [distortionstrengthy] [bluramount]: default 0.5 0.5 0.5 0.5 1", (string[] args) => + { + float distortScaleX = 0.5f, distortScaleY = 0.5f; + float distortStrengthX = 0.5f, distortStrengthY = 0.5f; + float blurAmount = 0.0f; + if (args.Length > 0) float.TryParse(args[0], NumberStyles.Number, CultureInfo.InvariantCulture, out distortScaleX); + if (args.Length > 1) float.TryParse(args[1], NumberStyles.Number, CultureInfo.InvariantCulture, out distortScaleY); + if (args.Length > 2) float.TryParse(args[2], NumberStyles.Number, CultureInfo.InvariantCulture, out distortStrengthX); + if (args.Length > 3) float.TryParse(args[3], NumberStyles.Number, CultureInfo.InvariantCulture, out distortStrengthY); + if (args.Length > 4) float.TryParse(args[4], NumberStyles.Number, CultureInfo.InvariantCulture, out blurAmount); + WaterRenderer.DistortionScale = new Vector2(distortScaleX, distortScaleY); + WaterRenderer.DistortionStrength = new Vector2(distortStrengthX, distortStrengthY); + WaterRenderer.BlurAmount = blurAmount; + })); + + + commands.Add(new Command("refreshrect", "Updates the dimensions of the selected items to match the ones defined in the prefab. Applied only in the subeditor.", (string[] args) => + { + //TODO: maybe do this automatically during loading when possible? + if (Screen.Selected == GameMain.SubEditorScreen) + { + if (!MapEntity.SelectedAny) + { + ThrowError("You have to select item(s) first!"); + } + else + { + foreach (var mapEntity in MapEntity.SelectedList) + { + if (mapEntity is Item item) + { + item.Rect = new Rectangle(item.Rect.X, item.Rect.Y, + (int)(item.Prefab.sprite.size.X * item.Prefab.Scale), + (int)(item.Prefab.sprite.size.Y * item.Prefab.Scale)); + } + else if (mapEntity is Structure structure) + { + if (!structure.ResizeHorizontal) + { + structure.Rect = new Rectangle(structure.Rect.X, structure.Rect.Y, + (int)structure.Prefab.ScaledSize.X, + structure.Rect.Height); + } + if (!structure.ResizeVertical) + { + structure.Rect = new Rectangle(structure.Rect.X, structure.Rect.Y, + structure.Rect.Width, + (int)structure.Prefab.ScaledSize.Y); + } + } + } + } + } + }, isCheat: false)); +#endif + + GameMain.Config.SaveNewPlayerConfig(); + + commands.Add(new Command("loadtexts", "loadtexts [sourcefile] [destinationfile]: Loads all lines of text from a given .txt file and inserts them sequientially into the elements of an xml file. If the file paths are omitted, EnglishVanilla.txt and EnglishVanilla.xml are used.", (string[] args) => + { + string sourcePath = args.Length > 0 ? args[0] : "Content/Texts/EnglishVanilla.txt"; + string destinationPath = args.Length > 1 ? args[1] : "Content/Texts/EnglishVanilla.xml"; + + string[] lines; + try + { + lines = File.ReadAllLines(sourcePath); + } + catch (Exception e) + { + ThrowError("Reading the file \"" + sourcePath + "\" failed.", e); + return; + } + var doc = XMLExtensions.TryLoadXml(destinationPath); + int i = 0; + foreach (XElement element in doc.Root.Elements()) + { + if (i >= lines.Length) + { + ThrowError("Error while loading texts to the xml file. The xml has more elements than the number of lines in the text file."); + return; + } + element.Value = lines[i]; + i++; + } + doc.Save(destinationPath); + }, + () => + { + var files = TextManager.GetTextFiles().Select(f => f.Replace("\\", "/")); + return new string[][] + { + files.Where(f => Path.GetExtension(f)==".txt").ToArray(), + files.Where(f => Path.GetExtension(f)==".xml").ToArray() + }; + })); + + commands.Add(new Command("updatetextfile", "updatetextfile [sourcefile] [destinationfile]: Inserts all the xml elements that are only present in the source file into the destination file. Can be used to update outdated translation files more easily.", (string[] args) => + { + if (args.Length < 2) return; + string sourcePath = args[0]; + string destinationPath = args[1]; + + var sourceDoc = XMLExtensions.TryLoadXml(sourcePath); + var destinationDoc = XMLExtensions.TryLoadXml(destinationPath); + + XElement destinationElement = destinationDoc.Root.Elements().First(); + foreach (XElement element in sourceDoc.Root.Elements()) + { + if (destinationDoc.Root.Element(element.Name) == null) + { + element.Value = "!!!!!!!!!!!!!" + element.Value; + destinationElement.AddAfterSelf(element); + } + XNode nextNode = destinationElement.NextNode; + while ((!(nextNode is XElement) || nextNode == element) && nextNode != null) nextNode = nextNode.NextNode; + destinationElement = nextNode as XElement; + } + destinationDoc.Save(destinationPath); + }, + () => + { + var files = TextManager.GetTextFiles().Where(f => Path.GetExtension(f) == ".xml").Select(f => f.Replace("\\", "/")).ToArray(); + return new string[][] + { + files, + files + }; + })); + + commands.Add(new Command("dumpentitytexts", "dumpentitytexts [filepath]: gets the names and descriptions of all entity prefabs and writes them into a file along with xml tags that can be used in translation files. If the filepath is omitted, the file is written to Content/Texts/EntityTexts.txt", (string[] args) => + { + string filePath = args.Length > 0 ? args[0] : "Content/Texts/EntityTexts.txt"; + List lines = new List(); + foreach (MapEntityPrefab me in MapEntityPrefab.List) + { + lines.Add("" + me.Name + ""); + lines.Add("" + me.Description + ""); + } + File.WriteAllLines(filePath, lines); + })); +#if DEBUG + commands.Add(new Command("checkduplicates", "Checks the given language for duplicate translation keys and writes to file.", (string[] args) => + { + if (args.Length != 1) return; + TextManager.CheckForDuplicates(args[0]); + })); + + commands.Add(new Command("writetocsv", "Writes the default language (English) to a .csv file.", (string[] args) => + { + TextManager.WriteToCSV(); + NPCConversation.WriteToCSV(); + })); + commands.Add(new Command("csvtoxml", "csvtoxml [language] -> Converts .csv localization files in Content/NPCConversations & Content/Texts to .xml for use in-game.", (string[] args) => { if (args.Length == 0) return; diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs index dde267edf..cd8a792c0 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs @@ -69,9 +69,6 @@ namespace Barotrauma public static ScalableFont Font => Style?.Font; public static ScalableFont SmallFont => Style?.SmallFont; public static ScalableFont LargeFont => Style?.LargeFont; - public static ScalableFont VideoTitleFont => Style?.VideoTitleFont; - public static ScalableFont ObjectiveTitleFont => Style?.ObjectiveTitleFont; - public static ScalableFont ObjectiveNameFont => Style?.ObjectiveNameFont; public static UISprite UIGlow => Style.UIGlow; @@ -533,19 +530,14 @@ namespace Barotrauma if (list.Count == 0) { return; } foreach (var item in list) { - int index = 0; - if (updateList.Count > 0) + int i = updateList.Count - 1; + while (updateList[i].UpdateOrder > item.UpdateOrder) { - index = updateList.Count - 1; - while (updateList[index].UpdateOrder > item.UpdateOrder) - { - index--; - if (index == 0) { break; } - } + i--; } if (!updateListSet.Contains(item)) { - updateList.Insert(index, item); + updateList.Insert(Math.Max(i, 0), item); updateListSet.Add(item); } } @@ -656,21 +648,6 @@ namespace Barotrauma msg.Timer -= deltaTime; msg.Pos += msg.Velocity * deltaTime; } - - foreach (GUIMessage msg in messages) - { - if (!msg.WorldSpace) continue; - msg.Timer -= deltaTime; - msg.Pos += msg.Velocity * deltaTime; - } - - foreach (GUIMessage msg in messages) - { - if (!msg.WorldSpace) continue; - msg.Timer -= deltaTime; - msg.Pos += msg.Velocity * deltaTime; - } - } messages.RemoveAll(m => m.Timer <= 0.0f); } @@ -744,10 +721,6 @@ namespace Barotrauma Vector2 textSize = font.MeasureString(text); DrawRectangle(sb, pos - Vector2.One * backgroundPadding, textSize + Vector2.One * 2.0f * backgroundPadding, (Color)backgroundColor, true); } - else - { - sb.Draw(t, new Rectangle(rect.X + thickness, rect.Y, rect.Width - thickness * 2, thickness), null, clr, 0.0f, Vector2.Zero, SpriteEffects.None, depth); - sb.Draw(t, new Rectangle(rect.X + thickness, rect.Y + rect.Height - thickness, rect.Width - thickness * 2, thickness), null, clr, 0.0f, Vector2.Zero, SpriteEffects.None, depth); font.DrawString(sb, text, pos, color); } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIStyle.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIStyle.cs index 2b3317682..c7f947b4e 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIStyle.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIStyle.cs @@ -12,9 +12,6 @@ namespace Barotrauma public ScalableFont Font { get; private set; } public ScalableFont SmallFont { get; private set; } public ScalableFont LargeFont { get; private set; } - public ScalableFont VideoTitleFont { get; private set; } - public ScalableFont ObjectiveTitleFont { get; private set; } - public ScalableFont ObjectiveNameFont { get; private set; } public Sprite CursorSprite { get; private set; } @@ -51,15 +48,6 @@ namespace Barotrauma case "largefont": LargeFont = new ScalableFont(subElement, graphicsDevice); break; - case "objectivetitle": - ObjectiveTitleFont = new ScalableFont(subElement, graphicsDevice); - break; - case "objectivename": - ObjectiveNameFont = new ScalableFont(subElement, graphicsDevice); - break; - case "videotitle": - VideoTitleFont = new ScalableFont(subElement, graphicsDevice); - break; case "cursor": CursorSprite = new Sprite(subElement); break; diff --git a/Barotrauma/BarotraumaClient/Source/GUI/HUDLayoutSettings.cs b/Barotrauma/BarotraumaClient/Source/GUI/HUDLayoutSettings.cs index e395f08c0..199cdb9d6 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/HUDLayoutSettings.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/HUDLayoutSettings.cs @@ -50,11 +50,6 @@ namespace Barotrauma get; private set; } - public static Rectangle ObjectiveAnchor - { - get; private set; - } - public static Rectangle InventoryAreaLower { get; private set; @@ -161,10 +156,6 @@ namespace Barotrauma new Rectangle(Padding, CrewArea.Y, chatBoxWidth, chatBoxHeight) : new Rectangle(GameMain.GraphicsWidth - Padding - chatBoxWidth, CrewArea.Y, chatBoxWidth, chatBoxHeight); - int objectiveAnchorWidth = (int)(250 * GUI.Scale); - int objectiveAnchorOffsetY = (int)(100 * GUI.Scale); - ObjectiveAnchor = new Rectangle(GameMain.GraphicsWidth - Padding - objectiveAnchorWidth, CrewArea.Y + crewAreaHeight + objectiveAnchorOffsetY, objectiveAnchorWidth, 0); - int lowerAreaHeight = (int)Math.Min(GameMain.GraphicsHeight * 0.25f, 280); InventoryAreaLower = new Rectangle(Padding, GameMain.GraphicsHeight - lowerAreaHeight, GameMain.GraphicsWidth - Padding * 2, lowerAreaHeight); diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs index b4a7414e3..01caedf9e 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs @@ -44,7 +44,7 @@ namespace Barotrauma ContextualTutorial = Tutorial.Tutorials.Find(t => t is ContextualTutorial) as ContextualTutorial; - if (ContextualTutorial.Selected) // Selected when starting a new game -> initialize + if (ContextualTutorial.Selected && !ContextualTutorial.Initialized) // Selected when starting a new game -> initialize { ContextualTutorial.Initialize(); } diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs index cecb20c28..843b7566e 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs @@ -1,10 +1,9 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Xml.Linq; using System; using Microsoft.Xna.Framework; using Barotrauma.Items.Components; using System.Linq; -using Microsoft.Xna.Framework.Input; namespace Barotrauma.Tutorials { @@ -14,60 +13,38 @@ namespace Barotrauma.Tutorials public static bool ContentRunning = false; public static bool Initialized = false; - private enum ContentTypes { None = 0, Video = 1, TextOnly = 2 }; + private enum ContentTypes { None = 0, Video = 1, Text = 2 }; private TutorialSegment activeSegment; private List segments; - - private VideoPlayer videoPlayer; + private SpriteSheetPlayer spriteSheetPlayer; private Steering navConsole; private Reactor reactor; private Sonar sonar; private Vector2 subStartingPosition; private List crew; - private Character mechanic; - private Character engineer; - private Character injuredMember = null; - private List> characterTimeOnSonar; private float requiredTimeOnSonar = 5f; private bool started = false; private string playableContentPath; - + private float tutorialTimer; + private float degrading2ActivationCountdown; private bool disableTutorialOnDeficiencyFound = true; - private GUIFrame holderFrame, objectiveFrame; - //private GUIButton toggleButton; - //private bool objectivesOpen = false; - //private float openState = 0f; - private List activeObjectives = new List(); - private string objectiveTranslated; - //private Point objectiveBaseOffset = Point.Zero; - - private float floodTutorialTimer = 0.0f; - private const float floodTutorialDelay = 2.0f; - private float medicalTutorialTimer = 0.0f; - private const float medicalTutorialDelay = 2.0f; - private class TutorialSegment { - public string Id; - public string Objective; + public string Name; public ContentTypes ContentType; - public XElement TextContent; - public XElement VideoContent; + public XElement Content; public bool IsTriggered; - public GUIButton ReplayButton; - public GUITextBlock LinkedTitle, LinkedText; public TutorialSegment(XElement config) { - Id = config.GetAttributeString("id", "Missing ID"); - Objective = TextManager.Get(config.GetAttributeString("objective", string.Empty), true); + Name = config.GetAttributeString("name", "Missing Name"); Enum.TryParse(config.GetAttributeString("contenttype", "None"), true, out ContentType); IsTriggered = config.GetAttributeBool("istriggered", false); @@ -76,11 +53,10 @@ namespace Barotrauma.Tutorials case ContentTypes.None: break; case ContentTypes.Video: - VideoContent = config.Element("Video"); - TextContent = config.Element("Text"); + Content = config.Element("Video"); break; - case ContentTypes.TextOnly: - TextContent = config.Element("Text"); + case ContentTypes.Text: + Content = config.Element("Text"); break; } } @@ -101,18 +77,17 @@ namespace Barotrauma.Tutorials public override void Initialize() { - for (int i = 0; i < segments.Count; i++) - { - segments[i].IsTriggered = false; - } - if (Initialized) return; Initialized = true; base.Initialize(); - videoPlayer = new VideoPlayer(); + spriteSheetPlayer = new SpriteSheetPlayer(); characterTimeOnSonar = new List>(); - //objectivesOpen = true; + + for (int i = 0; i < segments.Count; i++) + { + segments[i].IsTriggered = false; + } } public void LoadPartiallyComplete(XElement element) @@ -136,13 +111,13 @@ namespace Barotrauma.Tutorials } } - private void PreloadVideoContent() // Have to see if needed with videos + private void PreloadVideoContent() { - /*for (int i = 0; i < segments.Count; i++) + for (int i = 0; i < segments.Count; i++) { if (segments[i].ContentType != ContentTypes.Video || segments[i].IsTriggered) continue; - spriteSheetPlayer.PreloadContent(playableContentPath, "tutorial", segments[i].Id, segments[i].VideoContent); - }*/ + spriteSheetPlayer.PreloadContent(playableContentPath, "tutorial", segments[i].Name, segments[i].Content); + } } public void SavePartiallyComplete(XElement element) @@ -180,12 +155,9 @@ namespace Barotrauma.Tutorials base.Start(); - injuredMember = null; - activeObjectives.Clear(); - objectiveTranslated = TextManager.Get("Objective"); - CreateObjectiveFrame(); activeSegment = null; - tutorialTimer = floodTutorialTimer = medicalTutorialTimer = 0.0f; + tutorialTimer = 0.0f; + degrading2ActivationCountdown = -1; subStartingPosition = Vector2.Zero; characterTimeOnSonar.Clear(); @@ -221,9 +193,6 @@ namespace Barotrauma.Tutorials } crew = GameMain.GameSession.CrewManager.GetCharacters().ToList(); - mechanic = CrewMemberWithJob("mechanic"); - engineer = CrewMemberWithJob("engineer"); - Completed = true; // Trigger completed at start to prevent the contextual tutorial from automatically activating on starting new campaigns after this one started = true; } @@ -239,196 +208,71 @@ namespace Barotrauma.Tutorials public void Stop() { started = ContentRunning = Initialized = false; - videoPlayer.Remove(); - videoPlayer = null; + spriteSheetPlayer.Remove(); + spriteSheetPlayer = null; characterTimeOnSonar = null; } - private void CreateObjectiveFrame() - { - holderFrame = new GUIFrame(new RectTransform(new Point(GameMain.GraphicsWidth, GameMain.GraphicsHeight), GUI.Canvas, Anchor.Center)); - objectiveFrame = new GUIFrame(HUDLayoutSettings.ToRectTransform(HUDLayoutSettings.ObjectiveAnchor, holderFrame.RectTransform), style: null); - - /*int toggleButtonWidth = (int)(30 * GUI.Scale); - int toggleButtonHeight = (int)(40 * GUI.Scale); - toggleButton = new GUIButton(new RectTransform(new Point(toggleButtonWidth, toggleButtonHeight), objectiveFrame.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(0, 20) }, style: "UIToggleButton"); - toggleButton.OnClicked += (GUIButton btn, object userdata) => - { - objectivesOpen = !objectivesOpen; - foreach (GUIComponent child in btn.Children) - { - child.SpriteEffects = objectivesOpen ? SpriteEffects.FlipHorizontally : SpriteEffects.None; - } - return true; - }; - - objectiveBaseOffset = new Point((int)(-2.5f * toggleButton.Rect.Width), 0);*/ - } - public override void AddToGUIUpdateList() { - if (objectiveFrame != null && activeObjectives.Count > 0) - { - objectiveFrame.AddToGUIUpdateList(order: -1); - } base.AddToGUIUpdateList(); - if (videoPlayer != null) + if (spriteSheetPlayer != null) { - videoPlayer.AddToGUIUpdateList(order: 100); + spriteSheetPlayer.AddToGUIUpdateList(); } } public override void Update(float deltaTime) { - if (videoPlayer != null) - { - videoPlayer.Update(); - } - - if (infoBox != null) - { - if (PlayerInput.KeyHit(Keys.Enter) || PlayerInput.KeyHit(Keys.Escape)) - { - CloseInfoFrame(null, null); - } - } - if (!started || ContentRunning) return; deltaTime *= 0.5f; - + for (int i = 0; i < segments.Count; i++) { - if (segments[i].IsTriggered || activeObjectives.Contains(segments[i])) continue; + if (segments[i].IsTriggered) continue; if (CheckContextualTutorials(i, deltaTime)) // Found a relevant tutorial, halt finding new ones { break; } } - - for (int i = 0; i < activeObjectives.Count; i++) - { - CheckActiveObjectives(activeObjectives[i], deltaTime); - } - - /*if (activeObjectives.Count > 0) - { - if (objectivesOpen) - { - openState -= deltaTime * 5.0f; - } - else - { - openState += deltaTime * 5.0f; - } - - openState = MathHelper.Clamp(openState, 0.0f, 1.0f); - - float widestObjective = 0f; - for (int i = 0; i < activeObjectives.Count; i++) - { - if (activeObjectives[i].ReplayButton.Rect.Width > widestObjective) - { - widestObjective = activeObjectives[i].ReplayButton.Rect.Width; - } - } - - float objectivesHiddenOffset = widestObjective + toggleButton.Rect.Width + 100f; - - for (int i = 0; i < activeObjectives.Count; i++) - { - activeObjectives[i].ReplayButton.RectTransform.AbsoluteOffset = objectiveBaseOffset + new Point((int)MathHelper.SmoothStep(0, objectivesHiddenOffset, openState), 0); - } - }*/ - } - - private void ClosePreTextAndTriggerVideoCallback() - { - if (!string.IsNullOrEmpty(activeSegment.Objective)) - { - videoPlayer.LoadContentWithObjective(playableContentPath, new VideoPlayer.VideoSettings(activeSegment.VideoContent), new VideoPlayer.TextSettings(activeSegment.VideoContent), activeSegment.Id, true, activeSegment.Objective, CurrentSegmentStopCallback); - } - else - { - videoPlayer.LoadContent(playableContentPath, new VideoPlayer.VideoSettings(activeSegment.VideoContent), new VideoPlayer.TextSettings(activeSegment.VideoContent), activeSegment.Id, true, CurrentSegmentStopCallback); - } } private void CurrentSegmentStopCallback() { - if (!string.IsNullOrEmpty(activeSegment.Objective)) - { - AddNewObjective(activeSegment); - } - activeSegment = null; ContentRunning = false; } - private void AddNewObjective(TutorialSegment segment) - { - activeObjectives.Add(segment); - - Point replayButtonSize = new Point((int)GUI.ObjectiveNameFont.MeasureString(segment.Objective).X, (int)(GUI.ObjectiveNameFont.MeasureString(segment.Objective).Y * 1.45f)); - - segment.ReplayButton = new GUIButton(new RectTransform(replayButtonSize, objectiveFrame.RectTransform, Anchor.TopRight, Pivot.TopRight) { AbsoluteOffset = new Point(/*(int)(-2.5f * toggleButton.Rect.Width)*/0, (replayButtonSize.Y + 20) * (activeObjectives.Count - 1)) }, style: null); - segment.ReplayButton.OnClicked += (GUIButton btn, object userdata) => - { - ReplaySegmentVideo(segment); - return true; - }; - - int yOffset = (int)(GUI.ObjectiveNameFont.MeasureString(objectiveTranslated).Y / 2f) + 5; - segment.LinkedTitle = new GUITextBlock(new RectTransform(new Point(replayButtonSize.X, yOffset), segment.ReplayButton.RectTransform, Anchor.Center, Pivot.BottomCenter) { AbsoluteOffset = new Point(10, 0) }, objectiveTranslated, textColor: Color.White, font: GUI.ObjectiveTitleFont, textAlignment: Alignment.CenterRight); - segment.LinkedText = new GUITextBlock(new RectTransform(new Point(replayButtonSize.X, yOffset), segment.ReplayButton.RectTransform, Anchor.Center, Pivot.TopCenter) { AbsoluteOffset = new Point(10, 0) }, segment.Objective, textColor: new Color(4, 180, 108), font: GUI.ObjectiveNameFont, textAlignment: Alignment.CenterRight); - - segment.LinkedTitle.Color = segment.LinkedTitle.HoverColor = segment.LinkedTitle.PressedColor = segment.LinkedTitle.SelectedColor = Color.Transparent; - segment.LinkedText.Color = segment.LinkedText.HoverColor = segment.LinkedText.PressedColor = segment.LinkedText.SelectedColor = Color.Transparent; - segment.ReplayButton.Color = segment.ReplayButton.HoverColor = segment.ReplayButton.PressedColor = segment.ReplayButton.SelectedColor = Color.Transparent; - } - - private void RemoveCompletedObjective(TutorialSegment objective) - { - objectiveFrame.RemoveChild(objective.ReplayButton); - activeObjectives.Remove(objective); - objective.IsTriggered = true; - - for (int i = 0; i < activeObjectives.Count; i++) - { - activeObjectives[i].ReplayButton.RectTransform.AbsoluteOffset = new Point(0, (activeObjectives[i].ReplayButton.Rect.Height + 20) * i); - } - } - private bool CheckContextualTutorials(int index, float deltaTime) { switch (index) { case 0: // Welcome: Game Start [Text] - if (tutorialTimer < 1.0f) + if (tutorialTimer < 0.5f) { tutorialTimer += deltaTime; return false; } break; - case 1: // Command Reactor: 2 seconds after 'Welcome' dismissed and only if no command given to start reactor [Video] - if (!segments[0].IsTriggered) return false; - if (tutorialTimer < 3.0f) + case 1: // Command Reactor: 10 seconds after 'Welcome' dismissed and only if no command given to start reactor [Video] + if (tutorialTimer < 10.5f) { tutorialTimer += deltaTime; if (HasOrder("operatereactor")) { segments[index].IsTriggered = true; - tutorialTimer = 2.5f; + tutorialTimer = 10.5f; } return false; } break; - case 2: // Nav Console: 2 seconds after 'Command Reactor' dismissed or if nav console is activated [Video] - if (!IsReactorPoweredUp()) return false; // Do not advance tutorial based on this segment if reactor has not been powered up + case 2: // Nav Console: 20 seconds after 'Command Reactor' dismissed or if nav console is activated [Video] if (Character.Controlled?.SelectedConstruction != navConsole.Item) - { - if (tutorialTimer < 4.5f) + { + if (!segments[1].IsTriggered) return false; // Do not advance tutorial timer based on this segment if reactor has not been powered up + if (tutorialTimer < 30.5f) { tutorialTimer += deltaTime; return false; @@ -436,13 +280,20 @@ namespace Barotrauma.Tutorials } else { - tutorialTimer = 4.5f; - } + if (!segments[1].IsTriggered || !HasOrder("operatereactor")) // If reactor has not been powered up or ordered to be, default to that one first + { + if (tutorialTimer < 10.5f) + { + tutorialTimer = 10.5f; + } + return false; + } - TriggerTutorialSegment(index, GameMain.GameSession.EndLocation.Name); - return true; + tutorialTimer = 30.5f; + } + break; case 3: // Objective: Travel ~150 meters and while sub is not flooding [Text] - if (Vector2.Distance(subStartingPosition, Submarine.MainSub.WorldPosition) < 8000f || IsFlooding()) + if (Vector2.Distance(subStartingPosition, Submarine.MainSub.WorldPosition) < 12000f || IsFlooding()) { return false; } @@ -456,11 +307,6 @@ namespace Barotrauma.Tutorials { return false; } - else if (floodTutorialTimer < floodTutorialDelay) - { - floodTutorialTimer += deltaTime; - return false; - } break; case 5: // Reactor: Player uses reactor for the first time [Video] if (Character.Controlled?.SelectedConstruction != reactor.Item) @@ -475,23 +321,19 @@ namespace Barotrauma.Tutorials } break; case 7: // Degrading1: Any equipment degrades to 50% health or less and player has not assigned any crew to perform maintenance [Text] - if ((mechanic == null || mechanic.IsDead) && (engineer == null || engineer.IsDead)) // Both engineer and mechanic are dead or do not exist -> do not display - { - return false; - } - bool degradedEquipmentFound = false; foreach (Item item in Item.ItemList) { - if (!item.Repairables.Any() || item.Condition > 50.0f) continue; + if (!item.Repairables.Any() || item.ConditionPercentage > 50) continue; degradedEquipmentFound = true; break; } if (degradedEquipmentFound) { - if (HasOrder("repairsystems", "jobspecific")) + degrading2ActivationCountdown = 5f; + if (HasOrder("repairsystems")) { segments[index].IsTriggered = true; return false; @@ -502,44 +344,43 @@ namespace Barotrauma.Tutorials return false; } break; - case 8: // Medical: Crewmember is injured but not killed [Video] - - if (injuredMember == null) + case 8: // Degrading2: 5 seconds after 'Degrading1' dismissed, and only if player has not assigned any crew to perform maintenance [Video] + if (degrading2ActivationCountdown == -1f) { - for (int i = 0; i < crew.Count; i++) + return false; + } + else if (degrading2ActivationCountdown > 0.0f) + { + degrading2ActivationCountdown -= deltaTime; + if (HasOrder("repairsystems")) { - Character member = crew[i]; - if (member.Vitality < member.MaxVitality && !member.IsDead) - { - injuredMember = member; - break; - } + segments[index].IsTriggered = true; } return false; } - else if (medicalTutorialTimer < medicalTutorialDelay) + break; + case 9: // Medical: Crewmember is injured but not killed [Video] + bool injuredFound = false; + for (int i = 0; i < crew.Count; i++) { - medicalTutorialTimer += deltaTime; - return false; + Character member = crew[i]; + if (member.Vitality < member.MaxVitality && !member.IsDead) + { + injuredFound = true; + break; + } } - else - { - TriggerTutorialSegment(index, new string[] { injuredMember.Info.DisplayName, - (injuredMember.Info.Gender == Gender.Male) ? TextManager.Get("PronounPossessiveMale").ToLower() : TextManager.Get("PronounPossessiveFemale").ToLower() }); - return true; - } - case 9: // Approach1: Destination is within ~100m [Video] + + if (!injuredFound) return false; + break; + case 10: // Approach1: Destination is within ~100m [Video] if (Vector2.Distance(Submarine.MainSub.WorldPosition, Level.Loaded.EndPosition) > 8000f) { return false; } - else - { - TriggerTutorialSegment(index, GameMain.GameSession.EndLocation.Name); - return true; - } - case 10: // Approach2: Sub is docked [Text] + break; + case 11: // Approach2: Sub is docked [Text] if (!Submarine.MainSub.AtEndPosition || Submarine.MainSub.DockedTo.Count == 0) { return false; @@ -551,128 +392,11 @@ namespace Barotrauma.Tutorials return true; } - private bool HasObjective(string objectiveName) - { - for (int i = 0; i < activeObjectives.Count; i++) - { - if (activeObjectives[i].Id == objectiveName) return true; - } - - return false; - } - - private void CheckActiveObjectives(TutorialSegment objective, float deltaTime) - { - switch(objective.Id) - { - case "ReactorCommand": // Reactor commanded - if (!IsReactorPoweredUp()) - { - if (!HasOrder("operatereactor")) return; - } - break; - case "NavConsole": // traveled 50 meters - if (Vector2.Distance(subStartingPosition, Submarine.MainSub.WorldPosition) < 4000f) - { - return; - } - break; - case "Flood": // Hull breaches repaired - if (IsFlooding()) return; - break; - case "Medical": - if (injuredMember != null && !injuredMember.IsDead) - { - if (injuredMember.CharacterHealth.DroppedItem == null) return; - } - break; - case "EnemyOnSonar": // Enemy dispatched - if (HasEnemyOnSonarForDuration(deltaTime)) - { - return; - } - break; - case "Degrading": // Fixed - if (mechanic != null && !mechanic.IsDead) - { - HumanAIController humanAI = mechanic.AIController as HumanAIController; - if (mechanic.CurrentOrder?.AITag != "repairsystems" || humanAI.CurrentOrderOption != "jobspecific") - { - return; - } - } - - if (engineer != null && !engineer.IsDead) - { - HumanAIController humanAI = engineer.AIController as HumanAIController; - if (engineer.CurrentOrder?.AITag != "repairsystems" || humanAI.CurrentOrderOption != "jobspecific") - { - return; - } - } - - break; - case "Approach1": // Wait until docked - if (!Submarine.MainSub.AtEndPosition || Submarine.MainSub.DockedTo.Count == 0) - { - return; - } - break; - } - - RemoveCompletedObjective(objective); - } - - private bool IsReactorPoweredUp() - { - float load = 0.0f; - List connections = reactor.Item.Connections; - if (connections != null && connections.Count > 0) - { - foreach (Connection connection in connections) - { - if (!connection.IsPower) continue; - foreach (Connection recipient in connection.Recipients) - { - if (!(recipient.Item is Item it)) continue; - - PowerTransfer pt = it.GetComponent(); - if (pt == null) continue; - - load = Math.Max(load, pt.PowerLoad); - } - } - } - - return Math.Abs(load + reactor.CurrPowerConsumption) < 10; - } - - private Character CrewMemberWithJob(string job) + private bool HasOrder(string aiTag) { for (int i = 0; i < crew.Count; i++) { - if (crew[i].Info.Job.Name == job) return crew[i]; - } - - return null; - } - - private bool HasOrder(string aiTag, string option = null) - { - for (int i = 0; i < crew.Count; i++) - { - if (crew[i].CurrentOrder?.AITag == aiTag) - { - if (option == null) - { - return true; - } - else - { - HumanAIController humanAI = crew[i].AIController as HumanAIController; - return humanAI.CurrentOrderOption == option; - } - } + if (crew[i].CurrentOrder?.AITag == aiTag) return true; } return false; @@ -723,51 +447,27 @@ namespace Barotrauma.Tutorials } } - return characterTimeOnSonar.Find(ct => ct.Second >= requiredTimeOnSonar && !ct.First.IsDead) != null; + return characterTimeOnSonar.Find(ct => ct.Second >= requiredTimeOnSonar) != null; } private void TriggerTutorialSegment(int index, params object[] args) { - Inventory.draggingItem = null; ContentRunning = true; activeSegment = segments[index]; - - string tutorialText = TextManager.GetFormatted(activeSegment.TextContent.GetAttributeString("tag", ""), true, args); - string objectiveText = string.Empty; - - if (!string.IsNullOrEmpty(activeSegment.Objective)) - { - if (args.Length == 0) - { - objectiveText = activeSegment.Objective; - } - else - { - objectiveText = string.Format(activeSegment.Objective, args); - } - - activeSegment.Objective = objectiveText; - } - else - { - activeSegment.IsTriggered = true; // Complete at this stage only if no related objective - } + activeSegment.IsTriggered = true; switch (activeSegment.ContentType) { case ContentTypes.None: break; case ContentTypes.Video: - infoBox = CreateInfoFrame(TextManager.Get(activeSegment.Id), tutorialText, - activeSegment.TextContent.GetAttributeInt("width", 300), - activeSegment.TextContent.GetAttributeInt("height", 80), - activeSegment.TextContent.GetAttributeString("anchor", "Center"), true, ClosePreTextAndTriggerVideoCallback); + spriteSheetPlayer.LoadContent(playableContentPath, activeSegment.Content, activeSegment.Name, true, true, CurrentSegmentStopCallback); break; - case ContentTypes.TextOnly: - infoBox = CreateInfoFrame(TextManager.Get(activeSegment.Id), tutorialText, - activeSegment.TextContent.GetAttributeInt("width", 300), - activeSegment.TextContent.GetAttributeInt("height", 80), - activeSegment.TextContent.GetAttributeString("anchor", "Center"), true, CurrentSegmentStopCallback); + case ContentTypes.Text: + infoBox = CreateInfoFrame(TextManager.Get(activeSegment.Name), TextManager.GetFormatted(activeSegment.Content.GetAttributeString("tag", ""), false, args), + activeSegment.Content.GetAttributeInt("width", 300), + activeSegment.Content.GetAttributeInt("height", 80), + activeSegment.Content.GetAttributeString("anchor", "Center"), true, CurrentSegmentStopCallback); break; } @@ -779,13 +479,6 @@ namespace Barotrauma.Tutorials CoroutineManager.StartCoroutine(WaitToStop()); // Completed } - private void ReplaySegmentVideo(TutorialSegment segment) - { - if (ContentRunning) return; - ContentRunning = true; - videoPlayer.LoadContent(playableContentPath, new VideoPlayer.VideoSettings(segment.VideoContent), new VideoPlayer.TextSettings(segment.VideoContent), segment.Id, true, () => ContentRunning = false); - } - private IEnumerable WaitToStop() { while (ContentRunning) yield return null; diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs index 12e249cba..e2c38e71b 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs @@ -121,7 +121,7 @@ namespace Barotrauma.Tutorials public virtual void AddToGUIUpdateList() { - if (infoBox != null) infoBox.AddToGUIUpdateList(order: 100); + if (infoBox != null) infoBox.AddToGUIUpdateList(); } public virtual void Update(float deltaTime) @@ -194,7 +194,7 @@ namespace Barotrauma.Tutorials if (title.Length > 0) { var titleBlock = new GUITextBlock(new RectTransform(new Vector2(1f, .35f), infoBlock.RectTransform, Anchor.TopCenter, - Pivot.TopCenter), title, font: GUI.VideoTitleFont, textAlignment: Alignment.Center, textColor: new Color(253, 174, 0)); + Pivot.TopCenter), title, font: GUI.LargeFont, textAlignment: Alignment.Center); } var textBlock = new GUITextBlock(new RectTransform(new Vector2(0.9f, 1f), infoBlock.RectTransform, Anchor.BottomCenter), diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Steering.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Steering.cs index 7fc554b01..6ff7cb7f7 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Steering.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Steering.cs @@ -127,6 +127,18 @@ namespace Barotrauma.Items.Components Stretch = true, RelativeSpacing = 0.03f }; + autopilotTickBox = new GUITickBox(new RectTransform(new Vector2(0.3f, 0.3f), paddedControlContainer.RectTransform), + TextManager.Get("SteeringAutoPilot"), style: "GUIRadioButton") + { + OnSelected = (GUITickBox box) => + { + AutoPilot = box.Selected; + if (AutoPilot && MaintainPos) + { + posToMaintain = controlledSub == null ? item.WorldPosition : controlledSub.WorldPosition; + } + unsentChanges = true; + user = Character.Controlled; maintainPosTickBox = new GUITickBox(new RectTransform(new Vector2(0.2f, 0.2f), paddedAutoPilotControls.RectTransform), TextManager.Get("SteeringMaintainPos"), font: GUI.SmallFont) @@ -484,26 +496,14 @@ namespace Barotrauma.Items.Components user = Character.Controlled; } } - if (!AutoPilot && Character.DisableControls) + if (!AutoPilot && Character.DisableControls && GUI.KeyboardDispatcher.Subscriber == null) { steeringAdjustSpeed = character == null ? 0.2f : MathHelper.Lerp(0.2f, 1.0f, character.GetSkillLevel("helm") / 100.0f); Vector2 input = Vector2.Zero; - if (PlayerInput.KeyDown(InputType.Left)) - { - input -= Vector2.UnitX; - } - if (PlayerInput.KeyDown(InputType.Right)) - { - input += Vector2.UnitX; - } - if (PlayerInput.KeyDown(InputType.Up)) - { - input += Vector2.UnitY; - } - if (PlayerInput.KeyDown(InputType.Down)) - { - input -= Vector2.UnitY; - } + if (PlayerInput.KeyDown(InputType.Left)) { input -= Vector2.UnitX; } + if (PlayerInput.KeyDown(InputType.Right)) { input += Vector2.UnitX; } + if (PlayerInput.KeyDown(InputType.Up)) { input += Vector2.UnitY; } + if (PlayerInput.KeyDown(InputType.Down)) { input -= Vector2.UnitY; } if (PlayerInput.KeyDown(Keys.LeftShift)) { SteeringInput += input * deltaTime * 200; diff --git a/Barotrauma/BarotraumaClient/Source/Map/Map/Map.cs b/Barotrauma/BarotraumaClient/Source/Map/Map/Map.cs index 83b5d1622..4abd51d76 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Map/Map.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Map/Map.cs @@ -364,15 +364,23 @@ namespace Barotrauma } } + if (GUI.KeyboardDispatcher.Subscriber == null) + { + float moveSpeed = 1000.0f; + Vector2 moveAmount = Vector2.Zero; + if (PlayerInput.KeyDown(InputType.Left)) { moveAmount += Vector2.UnitX; } + if (PlayerInput.KeyDown(InputType.Right)) { moveAmount -= Vector2.UnitX; } + if (PlayerInput.KeyDown(InputType.Up)) { moveAmount += Vector2.UnitY; } + if (PlayerInput.KeyDown(InputType.Down)) { moveAmount -= Vector2.UnitY; } + drawOffset += moveAmount * moveSpeed / zoom * deltaTime; + } + if (GUI.MouseOn == mapContainer) { zoom += PlayerInput.ScrollWheelSpeed / 1000.0f; zoom = MathHelper.Clamp(zoom, 1.0f, 4.0f); - if (PlayerInput.MidButtonHeld()) - { - drawOffset += PlayerInput.MouseSpeed / zoom; - } + if (PlayerInput.MidButtonHeld()) { drawOffset += PlayerInput.MouseSpeed / zoom; } #if DEBUG if (PlayerInput.DoubleClicked() && highlightedLocation != null) { @@ -551,11 +559,6 @@ namespace Barotrauma null, connectionColor * MathHelper.Clamp(a, 0.1f, 0.5f), MathUtils.VectorToAngle(end - start), new Vector2(0, 16), SpriteEffects.None, 0.01f); } - } - - rect.Inflate(8, 8); - GUI.DrawRectangle(spriteBatch, rect, Color.Black, false, 0.0f, 8); - GUI.DrawRectangle(spriteBatch, rect, Color.LightGray); if (GameMain.DebugDraw && zoom > 1.0f && generationParams.ShowLevelTypeNames) { diff --git a/Barotrauma/BarotraumaClient/Source/Map/Structure.cs b/Barotrauma/BarotraumaClient/Source/Map/Structure.cs index 7631b14c5..8adc0b920 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Structure.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Structure.cs @@ -292,8 +292,7 @@ namespace Barotrauma { if (damageEffect != null) { - float newCutoff = Sections[i].damage > 0 ? - MathHelper.Lerp(0.2f, 0.65f, Sections[i].damage / Prefab.Health) : 0.0f; + float newCutoff = MathHelper.Lerp(0.0f, 0.65f, Sections[i].damage / Prefab.Health); if (Math.Abs(newCutoff - Submarine.DamageEffectCutoff) > 0.01f || color != Submarine.DamageEffectColor) { diff --git a/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs b/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs index 815ad21d6..c37c8fe37 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs @@ -141,8 +141,23 @@ namespace Barotrauma.Networking { OnClicked = (btn, userdata) => { - if (!permissions.HasFlag(ClientPermissions.ManageRound)) return false; - RequestRoundEnd(); + if (!permissions.HasFlag(ClientPermissions.ManageRound)) { return false; } + if (!Submarine.MainSub.AtStartPosition && !Submarine.MainSub.AtEndPosition) + { + var msgBox = new GUIMessageBox("", TextManager.Get("EndRoundSubNotAtLevelEnd"), + new string[] { TextManager.Get("Yes"), TextManager.Get("No") }); + msgBox.Buttons[0].OnClicked = (_, __) => + { + GameMain.Client.RequestRoundEnd(); + return true; + }; + msgBox.Buttons[0].OnClicked += msgBox.Close; + msgBox.Buttons[1].OnClicked += msgBox.Close; + } + else + { + RequestRoundEnd(); + } return true; }, Visible = false @@ -1267,6 +1282,75 @@ namespace Barotrauma.Networking } } + private void ReadLobbyUpdate(NetIncomingMessage inc) + { + UInt16 listId = inc.ReadUInt16(); + List tempClients = new List(); + int clientCount = inc.ReadByte(); + for (int i = 0; i < clientCount; i++) + { + byte id = inc.ReadByte(); + string name = inc.ReadString(); + UInt16 characterID = inc.ReadUInt16(); + bool muted = inc.ReadBoolean(); + inc.ReadPadBits(); + + tempClients.Add(new TempClient + { + ID = id, + Name = name, + CharacterID = characterID, + Muted = muted + }); + } + + if (NetIdUtils.IdMoreRecent(listId, LastClientListUpdateID)) + { + bool updateClientListId = true; + List currentClients = new List(); + foreach (TempClient tc in tempClients) + { + //see if the client already exists + var existingClient = ConnectedClients.Find(c => c.ID == tc.ID && c.Name == tc.Name); + if (existingClient == null) //if not, create it + { + existingClient = new Client(tc.Name, tc.ID) + { + Muted = tc.Muted + }; + ConnectedClients.Add(existingClient); + GameMain.NetLobbyScreen.AddPlayer(existingClient); + } + existingClient.Character = null; + existingClient.Muted = tc.Muted; + if (tc.CharacterID > 0) + { + existingClient.Character = Entity.FindEntityByID(tc.CharacterID) as Character; + if (existingClient.Character == null) + { + updateClientListId = false; + } + } + if (existingClient.ID == myID) + { + existingClient.SetPermissions(permissions, permittedConsoleCommands); + } + currentClients.Add(existingClient); + } + //remove clients that aren't present anymore + for (int i = ConnectedClients.Count - 1; i >= 0; i--) + { + if (!currentClients.Contains(ConnectedClients[i])) + { + GameMain.NetLobbyScreen.RemovePlayer(ConnectedClients[i]); + ConnectedClients[i].Dispose(); + ConnectedClients.RemoveAt(i); + } + } + if (updateClientListId) LastClientListUpdateID = listId; + } + } + private void ReadLobbyUpdate(NetIncomingMessage inc) { ServerNetObject objHeader; @@ -1377,114 +1461,6 @@ namespace Barotrauma.Networking case ServerNetObject.CLIENT_LIST: ReadClientList(inc); break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; - case ServerNetObject.CLIENT_LIST: - ReadClientList(inc); - break; case ServerNetObject.CHAT_MESSAGE: ChatMessage.ClientRead(inc); break; diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs b/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs index 8cfeef04b..e718680e1 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs @@ -64,14 +64,11 @@ namespace Barotrauma // New game left side new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.1f), leftColumn.RectTransform), TextManager.Get("SelectedSub") + ":", textAlignment: Alignment.BottomLeft); - subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.65f), leftColumn.RectTransform)) - { - OnSelected = CheckForPax - }; + subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.65f), leftColumn.RectTransform)); UpdateSubList(submarines); - // New game right sideon + // New game right side new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.1f), rightColumn.RectTransform), TextManager.Get("SaveName") + ":", textAlignment: Alignment.BottomLeft); saveNameBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.1f), rightColumn.RectTransform), string.Empty); @@ -271,11 +268,6 @@ namespace Barotrauma saveFiles = SaveUtil.GetSaveFiles(isMultiplayer ? SaveUtil.SaveType.Multiplayer : SaveUtil.SaveType.Singleplayer); } - saveList = new GUIListBox(new RectTransform(new Vector2(0.5f, 1.0f), loadGameContainer.RectTransform, Anchor.CenterLeft)) - { - OnSelected = SelectSaveFile - }; - saveList = new GUIListBox(new RectTransform(new Vector2(0.5f, 1.0f), loadGameContainer.RectTransform, Anchor.CenterLeft)) { OnSelected = SelectSaveFile @@ -283,7 +275,9 @@ namespace Barotrauma foreach (string saveFile in saveFiles) { - XDocument doc = SaveUtil.LoadGameSessionDoc(saveFile); + string fileName = saveFile; + string subName = ""; + string saveTime = ""; var saveFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.1f), saveList.Content.RectTransform), style: "ListBoxElement") { UserData = saveFile @@ -291,25 +285,38 @@ namespace Barotrauma var nameText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.5f), saveFrame.RectTransform), text: Path.GetFileNameWithoutExtension(saveFile)); - if (doc?.Root == null) - { - DebugConsole.ThrowError("Error loading save file \"" + saveFile + "\". The file may be corrupted."); - nameText.Color = Color.Red; - continue; - } - string submarineName = doc.Root.GetAttributeString("submarine", ""); - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.5f), saveFrame.RectTransform, Anchor.BottomLeft), - text: submarineName, font: GUI.SmallFont) + if (!isMultiplayer) { - UserData = saveFile + XDocument doc = SaveUtil.LoadGameSessionDoc(saveFile); + if (doc?.Root == null) + { + DebugConsole.ThrowError("Error loading save file \"" + saveFile + "\". The file may be corrupted."); + nameText.Color = Color.Red; + continue; + } + subName = doc.Root.GetAttributeString("submarine", ""); + saveTime = doc.Root.GetAttributeString("savetime", ""); + } + else + { + string[] splitSaveFile = saveFile.Split(';'); + saveFrame.UserData = splitSaveFile[0]; + fileName = nameText.Text = Path.GetFileNameWithoutExtension(splitSaveFile[0]); + if (splitSaveFile.Length > 1) { subName = splitSaveFile[1]; } + if (splitSaveFile.Length > 2) { saveTime = splitSaveFile[2]; } + } + + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.5f), saveFrame.RectTransform, Anchor.BottomLeft), + text: subName, font: GUI.SmallFont) + { + UserData = fileName }; - string saveTime = doc.Root.GetAttributeString("savetime", ""); new GUITextBlock(new RectTransform(new Vector2(1.0f, 1.0f), saveFrame.RectTransform), text: saveTime, textAlignment: Alignment.Right, font: GUI.SmallFont) { - UserData = saveFile + UserData = fileName }; } @@ -358,25 +365,7 @@ namespace Barotrauma { if (isMultiplayer) return; Tutorial contextualTutorial = Tutorial.Tutorials.Find(t => t is ContextualTutorial); - - Submarine selectedSub = subList.SelectedData as Submarine; - - if (selectedSub == null || selectedSub.Name != "PAX") - { - contextualTutorialBox.Selected = (contextualTutorial != null) ? !GameMain.Config.CompletedTutorialNames.Contains(contextualTutorial.Name) : true; - } - else - { - contextualTutorialBox.Selected = true; - } - } - - private bool CheckForPax(GUIComponent component, object obj) - { - if (!(obj is Submarine) || contextualTutorialBox == null) return false; - Submarine sub = obj as Submarine; - contextualTutorialBox.Selected = sub.Name == "PAX"; - return true; + contextualTutorialBox.Selected = (contextualTutorial != null) ? !GameMain.Config.CompletedTutorialNames.Contains(contextualTutorial.Name) : true; } private bool SelectSaveFile(GUIComponent component, object obj) diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditorScreen.cs index 48be1e5a0..e837a65b9 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditorScreen.cs @@ -118,6 +118,19 @@ namespace Barotrauma instance = this; } + private void Reset() + { + AnimParams.ForEach(a => a.Reset(true)); + RagdollParams.Reset(true); + RagdollParams.ClearHistory(); + CurrentAnimation.ClearHistory(); + if (!character.Removed) + { + character.Remove(); + } + character = null; + } + public override void Deselect() { base.Deselect(); @@ -128,15 +141,7 @@ namespace Barotrauma isEndlessRunner = false; if (character != null) { - AnimParams.ForEach(a => a.Reset(true)); - RagdollParams.Reset(true); - RagdollParams.ClearHistory(); - CurrentAnimation.ClearHistory(); - if (!character.Removed) - { - character.Remove(); - } - character = null; + Reset(); } GameMain.World.ProcessChanges(); } @@ -393,6 +398,12 @@ namespace Barotrauma } if (!isFreezed) { + if (character.AnimController.Invalid) + { + Reset(); + SpawnCharacter(currentCharacterConfig); + } + Submarine.MainSub.SetPrevTransform(Submarine.MainSub.Position); Submarine.MainSub.Update((float)deltaTime); @@ -1215,7 +1226,7 @@ namespace Barotrauma Cam.Position = character.WorldPosition; } - private bool CreateCharacter(string name, bool isHumanoid, params object[] ragdollConfig) + private bool CreateCharacter(string name, string mainFolder, bool isHumanoid, params object[] ragdollConfig) { var contentPackage = GameMain.Config.SelectedContentPackages.LastOrDefault(); if (contentPackage == null) @@ -1234,17 +1245,16 @@ namespace Barotrauma #endif string speciesName = name; - string mainFolder = $"Content/Characters/{speciesName}"; // Config file - string configFilePath = $"{mainFolder}/{speciesName}.xml"; + string configFilePath = Path.Combine(mainFolder, $"{speciesName}.xml").Replace(@"\", @"/"); if (ContentPackage.GetFilesOfType(GameMain.SelectedPackages, ContentType.Character).None(path => path.Contains(speciesName))) { // Create the config file XElement mainElement = new XElement("Character", new XAttribute("name", speciesName), new XAttribute("humanoid", isHumanoid), - new XElement("ragdolls"), - new XElement("animations"), + new XElement("ragdolls", new XAttribute("folder", Path.Combine(mainFolder, $"Ragdolls/").Replace(@"\", @"/"))), + new XElement("animations", new XAttribute("folder", Path.Combine(mainFolder, $"Animations/").Replace(@"\", @"/"))), new XElement("health"), new XElement("ai")); XDocument doc = new XDocument(mainElement); @@ -1259,13 +1269,13 @@ namespace Barotrauma DebugConsole.NewMessage(GetCharacterEditorTranslation("ContentPackageSaved").Replace("[path]", contentPackage.Path)); } // Ragdoll - string ragdollFolder = RagdollParams.GetDefaultFolder(speciesName); + string ragdollFolder = RagdollParams.GetFolder(speciesName); string ragdollPath = RagdollParams.GetDefaultFile(speciesName); RagdollParams ragdollParams = isHumanoid ? RagdollParams.CreateDefault(ragdollPath, speciesName, ragdollConfig) : RagdollParams.CreateDefault(ragdollPath, speciesName, ragdollConfig) as RagdollParams; // Animations - string animFolder = AnimationParams.GetDefaultFolder(speciesName); + string animFolder = AnimationParams.GetFolder(speciesName); foreach (AnimationType animType in Enum.GetValues(typeof(AnimationType))) { if (animType != AnimationType.NotDefined) @@ -3918,7 +3928,7 @@ namespace Barotrauma private void DrawJointLimitWidgets(SpriteBatch spriteBatch, Limb limb, LimbJoint joint, Vector2 drawPos, bool autoFreeze, bool allowPairEditing, float rotationOffset = 0) { - rotationOffset -= MathHelper.ToRadians(RagdollParams.SpritesheetOrientation); + rotationOffset += MathHelper.ToRadians(RagdollParams.SpritesheetOrientation); Color angleColor = joint.UpperLimit - joint.LowerLimit > 0 ? Color.LightGreen * 0.5f : Color.Red; DrawRadialWidget(spriteBatch, drawPos, MathHelper.ToDegrees(joint.UpperLimit), $"joint.jointParams.Name {GetCharacterEditorTranslation("UpperLimit")}", Color.Cyan, angle => { @@ -4652,7 +4662,7 @@ namespace Barotrauma LimbXElements.Values, JointXElements }; - if (CharacterEditorScreen.instance.CreateCharacter(Name, IsHumanoid, ragdollParams)) + if (CharacterEditorScreen.instance.CreateCharacter(Name, Path.GetDirectoryName(XMLPath), IsHumanoid, ragdollParams)) { GUI.AddMessage(GetCharacterEditorTranslation("CharacterCreated").Replace("[name]", Name), Color.Green, font: GUI.Font); } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs index 02f6ba21c..8c1472305 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs @@ -866,18 +866,21 @@ namespace Barotrauma spectateButton.Enabled = true; } - public void SetCampaignCharacterInfo(CharacterInfo characterInfo) - { - if (CampaignCharacterDiscarded) return; - - campaignCharacterInfo = characterInfo; - if (campaignCharacterInfo != null) + public void SetCampaignCharacterInfo(CharacterInfo newCampaignCharacterInfo) + { + if (newCampaignCharacterInfo != null) { - UpdatePlayerFrame(campaignCharacterInfo, false); + if (CampaignCharacterDiscarded) { return; } + if (campaignCharacterInfo != newCampaignCharacterInfo) + { + campaignCharacterInfo = newCampaignCharacterInfo; + UpdatePlayerFrame(campaignCharacterInfo, false); + } } - else + else if (campaignCharacterInfo != null) { - UpdatePlayerFrame(null, true); + campaignCharacterInfo = null; + UpdatePlayerFrame(campaignCharacterInfo, false); } } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs index 7ac15f8d0..fb95c2152 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs @@ -564,6 +564,9 @@ namespace Barotrauma MapEntityPrefab.Selected = null; + saveFrame = null; + loadFrame = null; + MapEntity.DeselectAll(); MapEntity.SelectionGroups.Clear(); @@ -2040,6 +2043,10 @@ namespace Barotrauma dummyCharacter.SelectedConstruction = null; } } + else if (MapEntity.SelectedList.Count == 1) + { + (MapEntity.SelectedList[0] as Item)?.UpdateHUD(cam, dummyCharacter, (float)deltaTime); + } CharacterHUD.Update((float)deltaTime, dummyCharacter, cam); } diff --git a/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs b/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs index e9d5f2991..d99e30c5f 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs @@ -10,6 +10,7 @@ using System.Text; using System.IO.Compression; using System.IO; using Barotrauma.Steam; +using System.Xml.Linq; namespace Barotrauma.Networking { @@ -1039,7 +1040,7 @@ namespace Barotrauma.Networking if (command == ClientPermissions.ManageRound && inc.PeekBoolean() && GameMain.GameSession?.GameMode is MultiPlayerCampaign mpCampaign) { - if (!mpCampaign.AllowedToEndRound(sender.Character)) + if (!mpCampaign.AllowedToEndRound(sender.Character) && !sender.HasPermission(command)) { return; } @@ -1125,9 +1126,22 @@ namespace Barotrauma.Networking UInt16 modeIndex = inc.ReadUInt16(); if (GameMain.NetLobbyScreen.GameModes[modeIndex].Identifier.ToLowerInvariant() == "multiplayercampaign") { + string[] saveFiles = SaveUtil.GetSaveFiles(SaveUtil.SaveType.Multiplayer); + for (int i = 0; i < saveFiles.Length; i++) + { + XDocument doc = SaveUtil.LoadGameSessionDoc(saveFiles[i]); + if (doc?.Root != null) + { + saveFiles[i] = + string.Join(";", + saveFiles[i].Replace(';', ' '), + doc.Root.GetAttributeString("submarine", ""), + doc.Root.GetAttributeString("savetime", "")); + } + } + NetOutgoingMessage msg = server.CreateMessage(); msg.Write((byte)ServerPacketHeader.CAMPAIGN_SETUP_INFO); - string[] saveFiles = SaveUtil.GetSaveFiles(SaveUtil.SaveType.Multiplayer); msg.Write((UInt16)saveFiles.Count()); foreach (string saveFile in saveFiles) { @@ -1212,6 +1226,7 @@ namespace Barotrauma.Networking ClientWriteLobby(c); if (GameMain.GameSession?.GameMode is MultiPlayerCampaign campaign && + GameMain.NetLobbyScreen.SelectedMode == campaign.Preset && NetIdUtils.IdMoreRecent(campaign.LastSaveID, c.LastRecvCampaignSave)) { //already sent an up-to-date campaign save @@ -1529,7 +1544,8 @@ namespace Barotrauma.Networking } var campaign = GameMain.GameSession?.GameMode as MultiPlayerCampaign; - if (campaign != null && NetIdUtils.IdMoreRecent(campaign.LastUpdateID, c.LastRecvCampaignUpdate)) + if (campaign != null && campaign.Preset == GameMain.NetLobbyScreen.SelectedMode && + NetIdUtils.IdMoreRecent(campaign.LastUpdateID, c.LastRecvCampaignUpdate)) { outmsg.Write(true); outmsg.WritePadBits(); diff --git a/Barotrauma/BarotraumaServer/Source/Networking/NetEntityEvent/ServerEntityEventManager.cs b/Barotrauma/BarotraumaServer/Source/Networking/NetEntityEvent/ServerEntityEventManager.cs index 31c6a76d6..a4be15f3c 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/NetEntityEvent/ServerEntityEventManager.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/NetEntityEvent/ServerEntityEventManager.cs @@ -332,7 +332,7 @@ namespace Barotrauma.Networking } } - if (client.NeedsMidRoundSync) + foreach (NetEntityEvent entityEvent in sentEvents) { msg.Write((byte)ServerNetObject.ENTITY_EVENT_INITIAL); msg.Write(client.UnreceivedEntityEventCount); @@ -340,36 +340,13 @@ namespace Barotrauma.Networking Write(msg, eventsToSync, out sentEvents, client); } - else + + foreach (NetEntityEvent entityEvent in sentEvents) { msg.Write((byte)ServerNetObject.ENTITY_EVENT); Write(msg, eventsToSync, out sentEvents, client); } - foreach (NetEntityEvent entityEvent in sentEvents) - { - (entityEvent as ServerEntityEvent).Sent = true; - client.EntityEventLastSent[entityEvent.ID] = NetTime.Now; - } - - foreach (NetEntityEvent entityEvent in sentEvents) - { - (entityEvent as ServerEntityEvent).Sent = true; - client.EntityEventLastSent[entityEvent.ID] = NetTime.Now; - } - - foreach (NetEntityEvent entityEvent in sentEvents) - { - (entityEvent as ServerEntityEvent).Sent = true; - client.EntityEventLastSent[entityEvent.ID] = NetTime.Now; - } - - foreach (NetEntityEvent entityEvent in sentEvents) - { - (entityEvent as ServerEntityEvent).Sent = true; - client.EntityEventLastSent[entityEvent.ID] = NetTime.Now; - } - foreach (NetEntityEvent entityEvent in sentEvents) { (entityEvent as ServerEntityEvent).Sent = true; diff --git a/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml b/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml index 4b478cc34..7a10d5467 100644 --- a/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml +++ b/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml @@ -56,6 +56,7 @@ + @@ -70,7 +71,7 @@ - + diff --git a/Barotrauma/BarotraumaShared/SharedContent.projitems b/Barotrauma/BarotraumaShared/SharedContent.projitems index 264aee20c..011b0af16 100644 --- a/Barotrauma/BarotraumaShared/SharedContent.projitems +++ b/Barotrauma/BarotraumaShared/SharedContent.projitems @@ -10,7 +10,7 @@ - + @@ -45,12 +45,27 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -342,33 +357,6 @@ PreserveNewest - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - PreserveNewest @@ -924,13 +912,13 @@ PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest @@ -2383,7 +2371,7 @@ PreserveNewest - + PreserveNewest @@ -3141,7 +3129,7 @@ PreserveNewest - PreserveNewest + Never PreserveNewest @@ -3161,6 +3149,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs index d9cd18959..7a17ce1f2 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs @@ -288,7 +288,7 @@ namespace Barotrauma } else { - var targetingPriority = UpdateTargets(Character); + UpdateTargets(Character, out TargetingPriority targetingPriority); updateTargetsTimer = UpdateTargetsInterval; if (SelectedAiTarget == null) @@ -472,7 +472,10 @@ namespace Barotrauma } else { - UpdateWallTarget(); + if (!IsProperlyLatched) + { + UpdateWallTarget(); + } raycastTimer = RaycastInterval; } @@ -496,6 +499,10 @@ namespace Barotrauma if (wallTarget != null) { attackWorldPos = wallTarget.Position; + if (wallTarget.Structure.Submarine != null) + { + attackWorldPos += wallTarget.Structure.Submarine.Position; + } attackSimPos = ConvertUnits.ToSimUnits(attackWorldPos); } else @@ -840,12 +847,7 @@ namespace Barotrauma attachTargetNormal = new Vector2(Math.Sign(WorldPosition.X - wall.WorldPosition.X), 0.0f); sectionPos.X += (wall.BodyWidth <= 0.0f ? wall.Rect.Width : wall.BodyWidth) / 2 * attachTargetNormal.X; } - - latchOntoAI?.SetAttachTarget(wall.Submarine.PhysicsBody.FarseerBody, wall.Submarine, sectionPos, attachTargetNormal); - if (wall.Submarine != null) - { - sectionPos += wall.Submarine.Position; - } + latchOntoAI?.SetAttachTarget(wall.Submarine.PhysicsBody.FarseerBody, wall.Submarine, ConvertUnits.ToSimUnits(sectionPos), attachTargetNormal); wallTarget = new WallTarget(sectionPos, wall, sectionIndex); } } @@ -978,10 +980,17 @@ namespace Barotrauma //goes through all the AItargets, evaluates how preferable it is to attack the target, //whether the Character can see/hear the target and chooses the most preferable target within //sight/hearing range - public TargetingPriority UpdateTargets(Character character) + public AITarget UpdateTargets(Character character, out TargetingPriority priority) { + if (IsProperlyLatched) + { + // If attached to a valid target, just keep the target. + // Priority not used in this case. + priority = null; + return SelectedAiTarget; + } AITarget newTarget = null; - TargetingPriority targetingPriority = null; + priority = null; selectedTargetMemory = null; targetValue = 0.0f; @@ -1180,7 +1189,7 @@ namespace Barotrauma { newTarget = target; selectedTargetMemory = targetMemory; - targetingPriority = targetingPriorities[targetingTag]; + priority = targetingPriorities[targetingTag]; targetValue = valueModifier; } } @@ -1190,7 +1199,7 @@ namespace Barotrauma { wallTarget = null; } - return targetingPriority; + return SelectedAiTarget; } private AITargetMemory GetTargetMemory(AITarget target) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/LatchOntoAI.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/LatchOntoAI.cs index 200e20a5a..fe5304a4c 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/LatchOntoAI.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/LatchOntoAI.cs @@ -193,7 +193,7 @@ namespace Barotrauma // is not attached or is attached to something else if (!IsAttached || IsAttached && attachJoints[0].BodyB == attachTargetBody) { - if (Vector2.DistanceSquared(ConvertUnits.ToDisplayUnits(transformedAttachPos), enemyAI.AttackingLimb.WorldPosition) < enemyAI.AttackingLimb.attack.Range * enemyAI.AttackingLimb.attack.Range) + if (Vector2.DistanceSquared(ConvertUnits.ToDisplayUnits(transformedAttachPos), enemyAI.AttackingLimb.WorldPosition) < enemyAI.AttackingLimb.attack.DamageRange * enemyAI.AttackingLimb.attack.DamageRange) { AttachToBody(character.AnimController.Collider, attachLimb, attachTargetBody, transformedAttachPos); } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/FishAnimController.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/FishAnimController.cs index 802af18e9..37364e0bf 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/FishAnimController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/FishAnimController.cs @@ -369,7 +369,16 @@ namespace Barotrauma float movementAngle = MathUtils.VectorToAngle(movement) - MathHelper.PiOver2; - float mainLimbAngle = (MainLimb.type == LimbType.Torso ? TorsoAngle.Value : HeadAngle.Value) * Dir; + float mainLimbAngle = 0; + if (MainLimb.type == LimbType.Torso && TorsoAngle.HasValue) + { + mainLimbAngle = TorsoAngle.Value; + } + else if (MainLimb.type == LimbType.Head && HeadAngle.HasValue) + { + mainLimbAngle = HeadAngle.Value; + } + mainLimbAngle *= Dir; while (MainLimb.Rotation - (movementAngle + mainLimbAngle) > MathHelper.Pi) { movementAngle += MathHelper.TwoPi; @@ -408,7 +417,7 @@ namespace Barotrauma } } } - while (MainLimb.Rotation - (movementAngle + mainLimbAngle) < -MathHelper.Pi) + else { movementAngle = Dir > 0 ? -MathHelper.PiOver2 : MathHelper.PiOver2; if (MainLimb.type == LimbType.Head && HeadAngle.HasValue) @@ -683,12 +692,6 @@ namespace Barotrauma limb.body.ApplyForce(diff * (float)(Math.Sin(WalkPos) * Math.Sqrt(limb.Mass)) * 30.0f * animStrength); } - while (referenceLimb.Rotation - angle < -MathHelper.TwoPi) - { - angle -= MathHelper.TwoPi; - } - - limb?.body.SmoothRotate(angle, torque, wrapAngle: false); } private void SmoothRotateWithoutWrapping(Limb limb, float angle, Limb referenceLimb, float torque) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Params/Animation/AnimationParams.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Params/Animation/AnimationParams.cs index 4c8d56679..0d3b77f8a 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Params/Animation/AnimationParams.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Params/Animation/AnimationParams.cs @@ -99,7 +99,7 @@ namespace Barotrauma public static string GetDefaultFolder(string speciesName) => $"Content/Characters/{speciesName.CapitaliseFirstInvariant()}/Animations/"; public static string GetDefaultFile(string speciesName, AnimationType animType) => $"{GetFolder(speciesName)}{GetDefaultFileName(speciesName, animType)}.xml"; - protected static string GetFolder(string speciesName) + public static string GetFolder(string speciesName) { var folder = XMLExtensions.TryLoadXml(Character.GetConfigFile(speciesName))?.Root?.Element("animations")?.GetAttributeString("folder", string.Empty); if (string.IsNullOrEmpty(folder) || folder.ToLowerInvariant() == "default") diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Params/Ragdoll/RagdollParams.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Params/Ragdoll/RagdollParams.cs index bb2a4d0b4..3f32ca43d 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Params/Ragdoll/RagdollParams.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Params/Ragdoll/RagdollParams.cs @@ -79,7 +79,7 @@ namespace Barotrauma new XAttribute("sourcerect", $"0, 0, 1, 1"))) }; - protected static string GetFolder(string speciesName) + public static string GetFolder(string speciesName) { var folder = XMLExtensions.TryLoadXml(Character.GetConfigFile(speciesName))?.Root?.Element("ragdolls")?.GetAttributeString("folder", string.Empty); if (string.IsNullOrEmpty(folder) || folder.ToLowerInvariant() == "default") diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs index 45cd77916..82467a761 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs @@ -1035,78 +1035,6 @@ namespace Barotrauma CheckValidity(); - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - - CheckValidity(); - UpdateNetPlayerPosition(deltaTime); CheckDistFromCollider(); UpdateCollisionCategories(); @@ -1367,17 +1295,42 @@ namespace Barotrauma UpdateProjSpecific(deltaTime); } - private void CheckValidity() + public bool Invalid { get; private set; } + private int validityResets; + private bool CheckValidity() { - CheckValidity(Collider); + bool isColliderValid = CheckValidity(Collider); + bool limbsValid = true; foreach (Limb limb in limbs) { if (limb.body == null || !limb.body.Enabled) { continue; } - CheckValidity(limb.body); + if (!CheckValidity(limb.body)) + { + limbsValid = false; + break; + } } + bool isValid = isColliderValid && limbsValid; + if (!isValid) + { + validityResets++; + if (validityResets > 1) + { + Invalid = true; + DebugConsole.ThrowError("Invalid ragdoll physics. Ragdoll freezed to prevent crashes."); + Collider.SetTransform(Vector2.Zero, 0.0f); + foreach (Limb limb in Limbs) + { + limb.body.SetTransform(Collider.SimPosition, 0.0f); + limb.body.ResetDynamics(); + } + Frozen = true; + } + } + return isValid; } - private void CheckValidity(PhysicsBody body) + private bool CheckValidity(PhysicsBody body) { string errorMsg = null; string bodyName = body.UserData is Limb ? "Limb" : "Collider"; @@ -1429,9 +1382,9 @@ namespace Barotrauma limb.body.ResetDynamics(); } SetInitialLimbPositions(); - return; + return false; } - UpdateProjSpecific(deltaTime); + return true; } partial void UpdateProjSpecific(float deltaTime); diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Character.cs b/Barotrauma/BarotraumaShared/Source/Characters/Character.cs index 7a25c82cf..cff0b6a1c 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Character.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Character.cs @@ -808,6 +808,7 @@ namespace Barotrauma public void LoadHeadAttachments() { + if (Info == null) { return; } if (AnimController == null) { return; } var head = AnimController.GetLimb(LimbType.Head); if (head == null) { return; } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs b/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs index c5aee6f70..aeae1644d 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs @@ -804,6 +804,11 @@ namespace Barotrauma var newItem = Item.Load(itemElement, inventory.Owner.Submarine, createNetworkEvent: true); if (newItem == null) { continue; } + if (!MathUtils.NearlyEqual(newItem.Condition, newItem.MaxCondition)) + { + GameMain.NetworkMember.CreateEntityEvent(newItem, new object[] { NetEntityEvent.Type.Status }); + } + int[] slotIndices = itemElement.GetAttributeIntArray("i", new int[] { 0 }); if (!slotIndices.Any()) { diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Limb.cs b/Barotrauma/BarotraumaShared/Source/Characters/Limb.cs index 2d07409d1..b19684c74 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Limb.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Limb.cs @@ -528,7 +528,7 @@ namespace Barotrauma } else { - // If the attack is aimed to a character but hits a structure, the hit is blocked. + // If there is nothing between, the hit is successful wasHit = structureBody == null; } } diff --git a/Barotrauma/BarotraumaShared/Source/Events/Missions/Mission.cs b/Barotrauma/BarotraumaShared/Source/Events/Missions/Mission.cs index d82b66631..e8f5e87fd 100644 --- a/Barotrauma/BarotraumaShared/Source/Events/Missions/Mission.cs +++ b/Barotrauma/BarotraumaShared/Source/Events/Missions/Mission.cs @@ -118,8 +118,13 @@ namespace Barotrauma { allowedMissions.RemoveAll(m => !m.IsAllowed(locations[0], locations[1])); } + + if (allowedMissions.Count == 0) + { + return null; + } - int probabilitySum = allowedMissions.Sum(m => m.Commonness); + int probabilitySum = allowedMissions.Sum(m => m.Commonness); int randomNumber = rand.NextInt32() % probabilitySum; foreach (MissionPrefab missionPrefab in allowedMissions) { diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs index 9b9b78066..28638ff15 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs @@ -534,7 +534,6 @@ namespace Barotrauma.Items.Components GameAnalyticsManager.AddErrorEventOnce("ItemComponent.DegreeOfSuccess:CharacterNull", GameAnalyticsSDK.Net.EGAErrorSeverity.Error, errorMsg); return 0.0f; } - float average = skillSuccessSum / requiredSkills.Count; float skillSuccessSum = 0.0f; for (int i = 0; i < requiredSkills.Count; i++) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs index 542f66087..b5d448e79 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs @@ -153,7 +153,7 @@ namespace Barotrauma.Items.Components } continue; } - if (!pt.IsActive) { continue; } + if (!pt.IsActive || !pt.CanTransfer) { continue; } gridLoad += pt.PowerLoad; gridPower -= pt.CurrPowerConsumption; @@ -209,9 +209,9 @@ namespace Barotrauma.Items.Components Charge -= CurrPowerOutput / 3600.0f; } - item.SendSignal(0, Charge.ToString(), "charge", null); - item.SendSignal(0, ((Charge / capacity) * 100).ToString(), "charge_%", null); - item.SendSignal(0, ((RechargeSpeed / maxRechargeSpeed) * 100).ToString(), "charge_rate", null); + item.SendSignal(0, ((int)Charge).ToString(), "charge", null); + item.SendSignal(0, ((int)((Charge / capacity) * 100)).ToString(), "charge_%", null); + item.SendSignal(0, ((int)((RechargeSpeed / maxRechargeSpeed) * 100)).ToString(), "charge_rate", null); foreach (Pair connected in directlyConnected) { diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerTransfer.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerTransfer.cs index f15e8dc8c..233e30f68 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerTransfer.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerTransfer.cs @@ -319,7 +319,13 @@ namespace Barotrauma.Items.Components ApplyStatusEffects(ActionType.OnActive, deltaTime, null); - float maxPower = this is RelayComponent relayComponent ? relayComponent.MaxPower : float.PositiveInfinity; + //float maxPower = this is RelayComponent relayComponent ? relayComponent.MaxPower : float.PositiveInfinity; + RelayComponent thisRelayComponent = this as RelayComponent; + if (thisRelayComponent != null) + { + clampPower = Math.Min(Math.Min(clampPower, thisRelayComponent.MaxPower), powerLoad); + clampLoad = Math.Min(clampLoad, thisRelayComponent.MaxPower); + } foreach (Connection c in PowerConnections) { @@ -357,6 +363,8 @@ namespace Barotrauma.Items.Components continue; } + float addLoad = 0.0f; + float addPower = 0.0f; if (powered is PowerContainer powerContainer) { if (recipient.Name == "power_in") @@ -365,7 +373,7 @@ namespace Barotrauma.Items.Components } else { - fullPower += Math.Min(powerContainer.CurrPowerOutput, maxPower); + addPower = powerContainer.CurrPowerOutput; } } else @@ -380,10 +388,16 @@ namespace Barotrauma.Items.Components //negative power consumption = the construction is a //generator/battery or another junction box { - fullPower -= Math.Max(powered.CurrPowerConsumption, -maxPower); + addPower -= powered.CurrPowerConsumption; } } - } + + if (addPower + fullPower > clampPower) { addPower -= (addPower + fullPower) - clampPower; }; + if (addPower > 0) { fullPower += addPower; } + + if (addLoad + fullLoad > clampLoad) { addLoad -= (addLoad + fullLoad) - clampLoad; }; + if (addLoad > 0) { fullLoad += addLoad; } + } } } } diff --git a/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs b/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs index 33f3ace32..13c6965e9 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs @@ -28,8 +28,10 @@ namespace Barotrauma public Explosion(float range, float force, float damage, float structureDamage, float empStrength = 0.0f) { - attack = new Attack(damage, 0.0f, 0.0f, structureDamage, range); - attack.SeverLimbsProbability = 1.0f; + attack = new Attack(damage, 0.0f, 0.0f, structureDamage, range) + { + SeverLimbsProbability = 1.0f + }; this.force = force; this.empStrength = empStrength; sparks = true; @@ -183,114 +185,6 @@ namespace Barotrauma Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); bool underWater = hull == null || explosionPos.Y < hull.Surface; - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - - Hull hull = Hull.FindHull(ConvertUnits.ToDisplayUnits(explosionPos), null, false); - bool underWater = hull == null || explosionPos.Y < hull.Surface; - explosionPos = ConvertUnits.ToSimUnits(explosionPos); Dictionary distFactors = new Dictionary(); diff --git a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs index 66456de83..89d3155f7 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs @@ -323,7 +323,7 @@ namespace Barotrauma for (int i = 0; i <= maxLoadRetries; i++) { doc = OpenFile(filePath); - if (doc != null || i == maxLoadRetries) { break; } + if (doc != null || i == maxLoadRetries || !File.Exists(filePath)) { break; } DebugConsole.NewMessage("Opening submarine file \"" + filePath + "\" failed, retrying in 250 ms..."); Thread.Sleep(250); } @@ -1192,7 +1192,7 @@ namespace Barotrauma for (int i = 0; i <= maxLoadRetries; i++) { doc = OpenFile(filePath); - if (doc != null || i == maxLoadRetries) { break; } + if (doc != null || i == maxLoadRetries || !File.Exists(filePath)) { break; } DebugConsole.NewMessage("Loading the submarine \"" + Name + "\" failed, retrying in 250 ms..."); Thread.Sleep(250); } diff --git a/Barotrauma/BarotraumaShared/Source/Utils/SaveUtil.cs b/Barotrauma/BarotraumaShared/Source/Utils/SaveUtil.cs index 8f7e07c60..3fbf744cc 100644 --- a/Barotrauma/BarotraumaShared/Source/Utils/SaveUtil.cs +++ b/Barotrauma/BarotraumaShared/Source/Utils/SaveUtil.cs @@ -358,8 +358,8 @@ namespace Barotrauma } catch (IOException e) { - if (i >= maxRetries) { throw; } - DebugConsole.NewMessage("Failed to initiate a file transfer {" + e.Message + "}, retrying in 250 ms...", Color.Red); + if (i >= maxRetries || !File.Exists(sCompressedFile)) { throw; } + DebugConsole.NewMessage("Failed decompress file \"" + sCompressedFile + "\" {" + e.Message + "}, retrying in 250 ms...", Color.Red); Thread.Sleep(250); } } diff --git a/Barotrauma/BarotraumaShared/Submarines/Dugong.sub b/Barotrauma/BarotraumaShared/Submarines/Dugong.sub index bfcc4904b7255940c7e4bd08a19de6fd5435b239..5b887ece3eccf238a50c18e7390c9563c8c8f2d7 100644 GIT binary patch literal 72412 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 z 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 literal 72240 zcmV(qK<~dFiwFP!000040BoAava3p$tzYHD?o#pNUBo>NtN`IX^zcS_4^Ln0+o(>} zQez2`Ajq6^jBgP7f6kuv$H+?bu{p=ltVi5IT6!nf>ifruP9eI&wOL4BvQ}oSy z82W$jO0IwZVE=1ZaZSb26hro29QSSu|Ff-*=ikxu-YoCXaoCDso09C8RK@!Dn)@8D zleK;?6B1|^7BE31QB>p*h^8QhMj-;?P#zV;KmSZiaWuu*^zX6%{%L&HuutgwsYd4g z(;crCyy|^t{oUl=SM>hpe_NV;-)%~UI>GX7Y|w1Fh?)FChjO986rlJb(9h~UOeo|5 zWo(%`&9%RxCQ!U22)N(X&WIDc+eJ!>^40Ro_m$iG^{dzUjqd~oE~!+FBTgPOo~3*| zNB#*`#9$5MBbjrb!G}ee;%Z15L4iA>%@T%78g(f!+M4gE?O}VkWe$}f3ezA0jOfLwY5b3cH{%{D(iSZeKSx7>>C0IJke{^qSq&s}n!mxqG;P+H6}Is7x6z zJuQbWuo^(;xyvG<_Rv12!odmnGD`Ueqhbp+p5YV@4B)3;J34n|s7(s)lay0Jpea|| zP`tZeX7;+GseELXLIFNx#Y;44pj!n1_pRpF%cM5t9+^7RS{%&2cL5%i$Uzo z3h1WwGa+ZT6Pk63yb$*GLSMDg8uvhrJjOWZ)yk5O%E1a-o3DY*Q1XN>PaUsElm)>x zh~4j8X+6k;hNZo?!FzLs71-H&l+VWEzBOsYBTcrZ8z|s0HnA2^kHg2TPTVinueyX> z8v)9AD=cM7yjdi&1~p-P;@fyN<`^2k!WZqNOE@rcJI}ML36lxSK+!30v2RUF5UXpD zLLR1}@Ov_%bY-muWjIMpI6jqGqauuMb&(B&v=wFa;y*tofQSh!XQ7RFUlV*i z5#t!MUE!f`g8+;=@_T4ifTXgbulIvQOdro)J%FQgNf^tSYV#)cDKI5SIqPJ+ zU+RU6DvVKwlAFk=PF%egr2K$tE>iGSJT;o-j({#nLD$7L?)omjlcb)<(?^%ExSQ&X}o2o}_ z74srM<*HVvEFy(G6P|W#T{%Bfi0fR_l*v;+ZLm!8B_v+%NtkDRN=(nb2q<%D9q-dlcgU&o9Xl%r?pQMW! zrjBqYcfMsY!pgAnlcHRlQ~a9Qaw?%q4bdQHPCIs9-q6A;#x~|Ti2dB+xL>kznh*2! z6)D02RM_x~f`YI&iGm8?=j~M!*Ru&fjr`UY`5u;h z^oA}AI@BOiuxZ?nvw{r>h&r)U zKS{urF5V?xbG+Z6pDo=6A~6nG`@9bT#xS8@95TEO8wB5!i`g^Pxv zmGftmAgcO=yv22d2x@sUtb>@%!}s$$ytB!ankt{%cDJ> z?5D7ui(09xphZ0XJBv|&+YVBD=10i3ya64towYBFEtE2+ttT- z7_7!y7ob^7{YYkI>^s_nShKm--95Z7Bn;XC=GKm2xEN{h=2P-Y37D))IF)d z#yox)A;W&B_2=#Za5M%iLHJ+i+iG5$KZcOn%UP!oH>Xe?l=krJ4c#^RR$}?{72{F# z(rd}3d&j6qjJ}GESE2ah$JnrQf+>jcZREw-gJ=(9*< zO!GIR_Asa4lKHp_45|Hdzet!#gflmg}-~}pz!&oxxIsLVUfMV zz^`0I7YQz`0NEHos&BC9Ifdr2r?S~qpAi2}jI|8>5ek|Yx<4mIr8x0ZsvqPj(w7CS zysSsurw7@Yli>;WA7IXgDkNMPQR{NX5E=Iw-xZ{$wt#9&{L9yFdtyryZu6{hV1r&P0^T6f(*!Zf%N`a# z@3+G1&f>F*)jw=J^7y+kUpM8keqpT+tvDd0t#85zjnxYB$aBU9Xpl2DX(y zB@q^j5~bHQFYjn@8MvF8Xe$rcQ;Wj_(`j)t9jlXt^~(#BkwJ0@nO-|6q5iR2g_Jn6 zviKDNR<%hJ&j`vdQ(3idXyorT2kG^32 z&zRxPSO{S26|N?4@P;-Fxs7=gk}Zh4eB^hY056Yv>>#NXPxwtrJ=n}aR^}3p1UW@` zhu|IzDKEo(n8umQM%D4B;t}rvHXJiL)tOQtM*J z#QQ1BnT<>b(7_Zr?pe3N25Upq!+k3w@z1!ZoArSAo?fzPg`9*JS7+fdycz5iJk|Ws(dG?Sax3=~rf$F4f03+_<%_9Y9H6y0IpGFiGRcDx?bH&H(@duSzv5 z!#Et@U`ZmE?s@u#8+{>hOC_q(Z(KW?av^@->5QKVG%@>HufBNm)5po6=xLR11ghIH zV3aSXuT~PjbB&xjBzta}mb;mJqT)7eEvKh|jMS#vpR{i%9R{nOJTb`$f4{a&jiH?L zdY2tx$zn&-fRA=rCBN|jnjtFSEU9VoOdDxde#}8Y{tgsCR3>JRD^Zmk3TRVz~3$>@Es|p76t!`>|DUh8L9R&t>Km9CX@a3x=`r#;|!2PQiHs2IgtpD8PAsxXq?#e6gF zC8uL_`%q}R^*f4<>H^cJIoc+P4+h-&2b@D);ejUqkyV zl()K?lSOUscghDBUumW-6x$?f$GGiMeQwT?K;##%%j}^_4m*f5m)_`|^zbEg@@|iD zV9T+OiQkUg@cb56O|YFMqd)jiN%C)%lO80JAC_BL*uwU;cbcv?W1ImJE#KE=`S3T+ z61el`(4raV2vaRy_0fQqh;O}1IGLsZ<@4}lx~Eq7Sx#JyiDNg(Am?%D58{2-oc?^j zU|rd*?L!Nn)gvS7`!`*B+nMNL^qID5z2E2<nXP2C0b6O(zQrk_>Q(nu%in|4_DRbvB!S9Et3~&O& zucjx&7#3)no~%@=u;++t$yMmdL-m&V{y6Z#mzN>v-$TO1haUY3Z@VtD658KB2iavfH!W$W#eSJCH z=AL%ORb!B7i4v)EBQWvg!N)si@K|jZ@vgtVsaK3jH_sJ`#$IJE&`CjZPe$tl(Ym;z z;ihT=wS=fYN@qS+mt<^4l(!`I&1;E(?K@JEH_d2MxE164BX+fRP1<#f0_R2mAUs^H zW#E`+nt##C`4YUwoy`a|M%Z5ro*NBPsyt+!+QUVH^7vobms|E8uX8dw6G{qVW9AM2 zMJP6dQ%|4*E8kfQ#Q}7x6EjBxqJ575$B1}~W*?_TVqH0)-h(EylX!5)^_BrdfKZxc zOyV3~gF;vOSUiwlKW$|!Qd*hPM@kS$sgjnE3q>gd;Y}PyUteWC1 zk0khg)Vj98kl$)#$w)$U=?NX+RAcM<&6*zr(w1E-Skop0!(k^&gtqY~d+mivjQ}9YYuToq(6+rOf3Sp|{rU{k|RZ~~vYse%BquH5h z`S!!fvbzC4Enc~&jqJ>B1Z_UuzVJ!oBHoE( z*XI5ZNm^p7SKs=`3}_6eX!^7OBOiHIZ=0_&JpDxx?(A=)YZ)GntU4|(b-rU0g<%6D z{%HBBqK31&a@W4wlk2-Sj6U%fF@*F9R$BY0YbmOX~S0(LOvzPP``e#ucf|kSnad}UxF9y ztnxXrb1HKAP5()%v|B3RjbA9>?^kd_9A@04Irj00+%PtE$o|e~-j=>@tS{gQ^d{vi z3%M=-tIkA_R0F^n>BKq91nT4 zJE1|NV~%^C$zIlAY=%6*gKm}v3N6otH`Nzq`$}a+BEK$jlS9nQs;@ZhSs1*uoIybt&re~o7&*zxn}n3L`c_rp4|YCF)=r5Er~b{by}t0&a$ z19eRR?;r9hrZeAX8(82SW;#@I=W1>r8sgtf?are0hzxZ=6kwkA+Rlf{h|c+Xdy<;S z8t971Y1l`NT0nOa;cgh(FCxBenKCFV*JK<}tym5p&MFAz{xQw$Q8u*x#0P7xaxpHZ z1+fx^i0qkQ*&`mY`Vz4kI=Me6$cjJJZg19ZzpWk@jEd5d#4waPOi%Bp04?QdeXp5= zjs6cTT(2yDG1E0KVykd!y0<>Nuh-^o?~2|Ofz)32@Mcjq&P);s&*%&30OajML4+o5 zS_Q|PxjtZhWVYWM!Zl`mi?V~XCkfA zuT^1Q{X#lX{;p*f<7`n(f%pm@rpChiDZ;8uds0^`2xlE++Q2C80KS)JZftFTb4Te-5Swp@gTD4f*{Z~&y~s?miKUqncUwh zJTSkgM7vA=y#oxR1cP$TQ15+l;0k*6DZ*3wanz^$HQ^}^T!DS`$Ogg2%|B1sllgk? zG=(+{!O@gs=g^a!%XTy^wh*3D4)C*AEv;!1AkXh5Nyk+gkT*| zC;S0a8>caDqyWISiUOD>R6>t3Y{$mQFYJxJvziozG2*BS(t`WI4|B}mM>kE`lm_(t z&<}7*VZQGtV45J|0SiixUUA|{L{jGSJcudw^YJRkUS61Cn&aXs=yXzrB06aPahtlc zMRmmnHa)vrg=EUXSYf_bOE*V~?ZXn7RRa9doK8oco884XeXc|T?;H?;PmmEvVL(bn z%4SgmV3HZY?p5cIe1rkuTkYOD_z2JsCar<^Gb|-PCy&6>oG>eHlfU2PE4lr3@6>s9 zzpoRsc4}!z{#?_^GI2NA!1|nGj9ossRvi1y!;PX#-6P({ilb>2RxybxNQr!2D;r>o z-4+N_5D3U!pyn9$-Oq_-hRn4!xm}c^^MnBbwFayop*#Sq9oR8G>FtVL0XCy>nm>Cc zJw4lG^(;2SsPWS!mLOH}19D4uZqU619t(t_`EI_aHY21RO&Kdl>T~@_bR?dgCwH1(0@%t_q?>i;700l08#%B->vP;L~S$6N=jHU}Eh6Ansu8 zmSv$s`GFYSI}aQUKM4nNjJDOn&DLEm8sAoSm{y9obaV&T{nAhhh(8-hS(E+Acp z(4}?vbpz||7CHPWi$|iHMkEvWH)fMKrDUN4eq$J3NDpPMzRNkpJ@2w8-Ucs&n1G*U z_-G84+M2FP3H!kI+%Z3+1+)CKDW+DcxsIyz@3%!}rE1Xr3%`UDh@JOz8e-;>$tfRg z1Og>ffhkk;lEy=jR9i9uo;RuRy`Wh?LWT@J`LwgIB;W#M4Bl_Sy*6zlCm*)6eLwl^ zFRI1hk#sl8r)iqk>oWSDOPFIMy7RZ5&i$eUSAQs?S?4H(NSXU`ogKip7zUPZD=s1d zmU8Q15dGdd?qBJiV!_t6>WomOVU}UGce@K6X$kA`^%;9*l4k1ma@KqzvbR!JFB=XEH!ESgnhl_Wq0?d~r zw^Zav&`+mikHxKR2#t@O-MWq^0VLof8hAzhT72N}bs7%);q@F)3XAN*8&!lR%Udz3 z)e8!KMTYK;x8BP&1VOntb7M5Ru_lHR^n!Ty8v1$w!GvivZSi{FFM3}5-2{sztr6<+ zM-pzn2=ezSbY32oAkOKPhyL3a`K0g&>JD9_U6>WcO3x)Kxl2N8Nku_(3RReK+nLnZ|O zN@qooKfUb9*%7>_uniD;6af~0m?KYGnH88WGI!=>%oQJ~(Vf**-V{t4E>jbV*l^*U z_D_96P-XsFKH?h)y!fxP<2RGhS>d=|QqL?Dkf^E38uJmVN`eikp!>$j{{952@a(rq z=PNoeD0?`!R<;>+Sk{g-L!mutPz!E(Do{WeVjqTKHBI10H$-rD?*67ZYi(napXMQ1 zgY=gy z>LEd<`Pv6=PKM}V`@!o5jj-;x^{P9zuRd08IhQ=>FTa8B9Wghyd9I>KHLWd*I>_F@^U)$&G3<3n^J5ES(HeR zkHPee_GxYf(!kb8|ByU+vZCf{=ojd-SofM-dhPTV_#Y0?nGiU zmpzCZUBSLO_Jiz8!oYyjgh0a?5EE!6#Ke3O{PbZCH0cbO^BoVX8r^Le6$eHYL%G{8 zLWeKKBKtA^=+cm$n>ouIXbXcZNAltyz{BA;a9O{obV1BK$iENbr~- zDM3<4jXTyhlZJzO8G`5 zoQd9F{DFFUFqtzZll=`M1?{N&9qu=FOum)=^KE-Mi~ z!}CLexKTV{!so%}Cp8sghYXD1tW7C0MUDAroaP!z9IVKges88nHaGvi#&Ue>D)w%^ zq2vk7(g&l>2nNAJ9oBGY**bjX$t2yp+QpQt0~FBUd@WC9lt`#_$uO^g$V@f;i%SZP z6Yj7A$B!(`3k9!WFUrZ*bsE;689_(S=aGx2E*Oo>pyd%M2Fqeh@V5_}mC%Vx!budx z1d5cXPv6&Kl~pYdLB2LzG!wzl;~sBe=>?VYhwEHS@)y{f%kH-`TI3ydg_`VL1F^1}Te^>{UIf{hnIHaOI7Ag%pVr<6)QaCr`~_@yO2Q*lX&(UH(_ky7AF*@x z-TwJFx>>v(}0{vNGyOn$D|DW-!i``>s_dOfE$l&#wv(HhjFLnyKo$_%r-T zeMDzvST3p!UlhB3Wj}@}P&HKQG_ai0B3hD$HJTt2#gZ9LNS1t{a!d@6fmX~YQ@!+} z$g@-b`YP%ZI2ySF!lMJ?yTxT5-sBa>p+Dw(s%32z8O^|Om*Bl*u*JLw9y-4Mdf5Z zJtOLIl7Wqr@>^Gnw4e`AZcc70Ny$pjQ*|dh0KADL_&$`|#g0lq9OUC~YBgr7t#UCr z1^u{AX5_IjbK2GpKxlkJdEk6FwJ_6~g7M`z< zy`B2A(HAes`E)9j;_@^g9bmhcRHnKQ!7)%_RF`9ulk#;DB@u+%xuuT?zMvkmL%sFl zIMq$Y<5fE$hlnPY`Xx%K8$OI?7|0mq@jZ*Els0^|An%UU((|S;X~6u9SCw&&Y0}{J z9mor4NX?<=qc7-B>1i9di-LT{pQ+>BwM##2VLG7=ihxlGRPFhIX&xX~QV>l5e{FZwF$;w2O(ug<6#7@ z_uuDQr}K=o;on#$N}H9noj`rm?K*}@c(nJ`v_{R~*&9)1U&(FLsSEMiRO>i1ZZg}q zbY;NSKm?=9h|J8^s#31gEjl<4R%BmO#Qj$ocV#j0R$J6ax)P4ezYgpt{a2Uzt12H+UKrx zA-M2z0$I~H$Ba;RsYA{Gs-JDTzWr0-d>>4&x@3F*lr1)*=sn?Fa0oELklL(Y3=i$; zE(2|{i(LZ#_DE6@Ap_neO?#XTVOprTK&1+0esi&_TpxgzkyZe;5iBB}hh8saDD(T= zTo?L!+{9|Y&dEAM0e)l6w^wnTO9xzLG#Q{oBb|)b2f(1Xq7{OB<%~`cGEo^QN$`q` zo{&>4JtjZm5Yy=onZ4U)6&Uj(joJ6YF8?XqJPVLs>tk`bL3hcZqcs5oJSFj)N=L@| zW29CcV*vd5l1`lsDP~s|Q$++`O(uE1>LtiHV5TXY4>wfe02EJ!S3DC%#0pZt5cg5M z6CI<^8&=lETSv$aZlsaC7+UuID`uLbqps-Y1wRwZpdaQJ93iUw5HbQ=SvsiXL&c?) zAtL~QmFR-oi*yg~&<|;}a8UsuQ#`D*U<(@WqJ#R)k|;d6nqvtsu@^mq*MzTF&#pee z8F7Z{hpEt`uzp&n@h8$Iy3`{4%c2mL?T)-x!)O;jA2bGX2PI&CE9e+d(wEd7!zl1t zd8YbKp^0K&_QbMF!CtB0HythJGz%oYhB+6a%yen@VtC#rp+lGo2foIr*~Dk^#U6ek zkur1;-T9d#|1FrkgIgKbBVkyw&PMZIeUQb+D5N+hpyU91#+b)kZjG}aRdv`nFHx%y zv>8`v)v$aGl>n%to@bhDr6Jt|0@&E}Cm|>X=*WM?aCK(n+NSHNf@kq?1~Y~=&qIXe zH?|qlRHH0|`0S7LXPxJcspTI+34&kO*5u;)oV;DaFQ{wCInTi(NH0ywOfQu&0@#}0 zH4*>Zxg%-qR9-8Dr3%cXNZe<|STds#kI4sQ>&QmudRaS0IUn4kfTM;$KwV$J_!8kT zf3r)*I)dA`U)<5(;+F^TOi&E-!XJdllz-!Cv#AcUMlYT}+NKbMJg644f*M{Lof=Yn zu=v{r5DwFB_`QMmQRhr?nEj;|H041HZ8y(8 zf6?~rcUExMFITyX`ATO=!Ar|VGy{ z^~5*Kv9M~uiw$pIL5WZ}&{KP9iL`578IZEL+uZOj$IbZ-jall;#Ioq72F;N|@7m?a z$OphO3x%4&I-&64wkGA;KO)up(J{aGkOEY8|B^UH{B=b8=@)yxAIsi%6L<1PjwMc@ z*BMKy+;pu62wFFg3N|Og_usKT548>}MWA$>R7f#!r zom!jl#6Bg-Yj2u8l;7b2k63lqCm)-|~ZV-pDH=}{@ z7OHS9Kk>_5_Og&rv7_l`{Wi5ho@HUqS9PSxCjo0d;mO0+Wy6Z4n)TeBc6llABp3C{<)xVm z+ekojPCsV;nJU!L@UFvKkTDO>D-qCo29eyNIU23Q@8JjZ<{ZLsdzQ+6 zwq9F8ben!;X9SGf(zvg^EM;*>1iUlWdHHxj zo|wy8wjUjRvzBMmA&NmSK8gci?1p)EJ=0G&-B4_K^fh16K75=xCNYYqDA*?A`d-`6 zWG9Wq1Z8r*gJKV+Af-X>pCmkPR+%L@x)T4xt1Rt}&X$>IJ=*BA8$2+CCLGPy`mos< z#)L&FRu35dFHnG=>c!zN`uZLrD+(;3OG^@B{K6NM=cvG3dZEP| z)EiS&a}-5k

LTBWpK0((F1nVcMHjn`Svom!WavB>&$Oowb&PKomqjhyb^6aCe;y zcb5Uae%Wk;JwVH=x&_@mpXSOh&v?2%nNjIyYrp+ql8EVW^+C3l?g(qznTM0Wi!1@% z0!I!dO{xL%GW3P0Y*fbu-ht?i>N5TNoy8P~0-^;rZTil_eYp}fMMdKnzlPtOYiF9J zV@F!=)sY08)H)H0#{zWu=I3KyuYG|DnxRi--@OFEoN-AV!b9S>7t$0)S@4;8A&qMS`Yuo&eXZF^W=taPI4vz(l{o=(P7?q@7y>qty>WBwLMr zUY)A^wi!uLSk_mJU&laI{Uc(*PTz#j>}QNe@Sc#vwS58|@$MUCyV`b9vaQBHWgwHZkehW6AWKt*v2+EY?d@P;k``H1SFl?2%KS zqI9v8WXBxv7R#5fgK7$d6d=0;txSSzAHZdEYZdFYPOe+rpU!4Jeyj}hi=;JIL<26* zBq^OghBI5~PAx$)X+j@uSu$OoF3t$k(FpCidQD1!pTu*zHe0M`b*CU+BKDUR=r+EL zd>UEe)9zQ>RFlHm{FOz*qTX9Ag2bnH0O}II==2m-DCPD3^r9TJ#pj2v3TDR8N54BN zuXgCiV(Vz*Z`S73Z&9D3o z_NO|q@b{dwNTYc-DK<3H5u_(Xc!SGyN@F*MhjGk< zEjGfvPhdI7(bY`O`-Dk$Kx;E5a?XXL|Ht=+OFi zA5iPl-wo|n9ja~_5*snyhHoO4aht>n|@`Teb$^Rx}zyDLqAjceATl7Yl|Yan?5D@hku_1K(#IMUpOJ6l7s*a zo|c6WhhkaKk3x+d_PMnZ^&nJg**hH3tD}n29%zsw!`&-kE5bKRD}CEG&ynzl9W@l5 znz_S>=IX+Gkd&#qn0ifUz}J<@^HM1r|&Lm}7!5e7t_+DRMBG(1aUg`Ov zUA&@tto!jZeVpeQ*9GM0*CaNX$H7tp%14J&&X;u)k0WpWTj3NZznP!kEY-R?UH8C_!L-&1e7oQjuanPo zs%kYn^uB(fl*-M0=zFT+rETvS;T}0g$Rj%0s(3QURK0I6n;e=xQcr^l_~sLk`;Ks>rE9x6ze2aXHBBl z@Lc4&BjAM$o$?*A_i49Xa9tx%rU}JwWir5mi(=0E#9+{Bg{s@d_qZm5)(uG&KD(gH zg+Ayd^F(jz{G1k);ihkG2-Zk;LVYpUHN^PFGHdEq%{7h0@3)W7Cl05@70d?krYTgF zqB)f7f;=6+j zxqDx#Dr3`?g_ac*wEO(VD3eaIlDoY)O`3I`xbJ--G_4I>>7&2A2Dm!U6HmIxo8COD zimibiJFg63iW7++ez0+3+oFelH868L|J5b`?&ym<4VRPS$yGda?Tu*#$T7b6k0qYn z7jm_*o(AhD*1PD4RpptsR^*s0dQh+UVNgHk2zLo+v@sIQnK<2YYj`pHJ68ZZkskxs zRlL$XTUL%~JL&UjY)q}>4B5y}h0qko5!mkH`c?0%9JYreObM_2z8{TDb=hVTwVh+> z_&r>YymL)$2d*Y7uL8MCw}eyeXKT6%f$LSJ-8GuEJEg)qwj%iJ5X_Hr9-^*ucv47N zLGrYU2UP?e(thX{Q3)2+F=uk`-Oqm(5vyiZlu%gidW z;C|3B4e1?033wRwirQlPO3INu(qt!t)PW7xzm#A`6we$*tQC>mQPb&j2E zkHBpqMvitS1sRofOlLo&Lp*eg&C=j-ixMlB!XSzaMsXC<6-kG*f;+ajo;MxFx%W*Q zdrx?{-N0|j7-$+BjA8GJ8S|fCJVKPZ@JF$*oA)w*`LAL7i(pKLe0eV`=uPzAA8<)xWU)|Tbfg@d7t z?z@ZF9g>P9Yji)POhsV4qj@MBJBtrhL7M#n$z-b9FectSsGt5Vu*dm0o%k;n3q2Jrb&i;brxt-VCxxI*HM4>Se8B zQyPml;v(fb=`xZ}uum0sd0bXfk)>Vr|4Tpfoem|VCDe^55m|3*G_7teBjaMDE8EAX zpu#j90Q5zioC`?8dQ}n&hxmMPy6doj$Q)yn%p$|{sO~QN*qnjDvbEs=>pMW$s5g%&6&5-@WaL^KuVQaiGQ$|dGZSum++D(7 zn%5~r++Gc~sLn8lVr|)-qkEFf@hwx5HRdk~FbXwwiykt)92 zrMt<}dB14J;G2|X@=8U0eR{x97p52RSKbJQwrDmLzPzp=)!EP}L#wk}gzC(I1^$^Y zM@|tj2h}zIybYaAytOD$zmoOj0vShMxwCDDlj0?8*hXqtGeDuhD1St$bBK9Yw#(tQb^Z9*pSe*?;PEex(**LTzmKSIt(ZUWybdV7j?<6v z*dJ@eAtk;<;FAdQRu$f!^_ASJlHJu3f7om;AS`wB;v$48t)&h30cA`xNT!s=*-RSw zhD2@3t&&Ae?bBU&KGDB+X%C!5aFHgsov8HyEkM%0X8!yjsQ6@)OmD}ihY0EI7xF+B zW{M@~%n_<_cvk7uSjm*pj*W#1@|`xn14GV3g2uK`GA&s!MtpnZ|1*8etugK}VJ0WOzF&gy0wYc!H6sZ!u0*BnRO_PVEJ^`!;d)(w`Sl95AE`(rYNet2ek!!3K7~=lWJ!xJoY0Qsx(eTr5x4L znI*dFWT+6*FC=S5P6Gn4d_#E=KG4QT!n~DyFF$~EokuM*F8^r1rk+(gdqX|MtRZZe z0$s2q@P9fgl5e`p%L*J2qzGfVDdT+zXAh~RwtS9G`dj+V;(8IJUW&8oY$=#_+QGwq z0AgNw;k}!ZixlhY<>gSN*dZMkThdcwuZ#nf1)G~Gd4NzGpSw4f;dhjNK~9#j~=)Lx;xRbHsU_#JB78i|+4BgEj;V(H4`y-g0?o^AM<8JbN zn74*m*&IQfC17^vVJNGM#CV2}D#9<%D_&S9sPm0!G`vB@Z3r}9XfWyjJ%^q)wSQbW z-!W6k5CY>K_D{+$Vf^}JcxUb}$ROO*svAOAH50#u-86>eQN}=b1|KqRL!=YW*m0{E zwP|+Y>*kgyv;VqGZPaXRhDt?9d0&bOldK?n3mx*YyD zL~Jud;`1d(qQO#Szzx<8gfx`7Y!zDL=}6}F?JS-yIbYS04W%tYjqwoEW&J`#@#`MM z@Z?#DM1^oGy8JB>bpl{a*(2#3*eZ|`F8BbbY%IXj6J`Ky{m>Mp0l#uL;9J>X0XzV7 z0$cd&V=71%1C!JKtrOk_a+n@HiP~*;B+Xgw1VUkv#(gm%vbC%e%FXqEkb;{0#^KRf ztEi?qB(xc^@K6MJv;m(C*}t6f8M!gCsp?`#$j%wHDrgYmK|oCCu{wZiWlpIzpL()!|HoWP-0W7eK*k>3qbtjKz2+*!Re z?6>bL?5)<24< z@1*@@tZd#yD45bVlt!mBl&`U)|JsraGNR*$UYJNop;(&y#Xi#~giv8O2Rt0etQ23S z0Lr$h0QaiDB~ZZf?%s9KW_2(;IKo<)`#svD7wk@Tm0A{5{r0 zxUJ8Z3tAE&@+YShiot%n&6>8ZNOz=fOyv%fBp~(5lng3?M+XoQguAOz2(zm40xgLUa2-V0 zsSm>xr)%>i-DoueL_=o5%4^0J8X)<$HtpL?NlGoC10@0~g!AkF`Z!&L7F1)u+b~@wv;7cNQ zjm^|Qu&f(+5By0@`%fEn4gi*?jnW`TEQ@xi9eDltQJT2=hm`^U4I(_JJ3Qx)IyyR& z2TL(qyIprFbC67=2|zANG~b8w5u|rl)nd|Bg;O$`kJACj4KflwA(=ahm>&_Z`ojcq zniN(!lBDA6gRjagGTC}9nQm2-7lvg^TOqjSR6Y5{P5GE+2Pz}s4T zlN5gYFJN+9i%80yNX?U#v6tqR15Qw{x}zL{L~bDPJN`9-FG4}qc)Dx`@m6vWSCi# zSyeu^7swVmGj-=pMDg?m#B7=1~%1f77 z=^nDaQ!0|eg~2e-o+06Z=z{z2SZ>M{d8x~~9Mqe35SFTYJIbDVDd}-6_rI~5@uP6< zAy2*LFF8w`;mR^VfA>fo(X}VQR$e;CI$p3g#TF&u#YtZJlka%TqvPS&1a>DvwoUeD zUT0VoB{NGcjx)InIS<}9^?T1O$f+r~Er`@y29Gax)_aADC&LdumjgM@>~?Z4nKp(2 z?EIFP2ZJdg1})E9VD2Joi)~TF3w;3X)=4i0sl5C$Ni{9R(Qha>B)f77X9LB}A=w>o zzE0GUI@N^=rEezB(W4%`KjB*EK29<8G}QsHP^|{T1C7z%BuVfA%sPtujFd^x=1~6{ z_MEu`Y>62>)p=ig0F3q{P%_urQABAUkYra7zhVOe%mReN9W0DuPt}br?N*XNWh5d4 z0Jctd{8ri3DhSGGn*7kU#Xb#x`&;S|DasKbktnPg-?OaJKyy_JtgGbzfe3<~ROBgL z_;u{_A<$3(guz%!&2#;8>cFpk-RQ5dQ2cFpGAP_31o;x6cU1loKf_%_{bgekKXWm- zJMLzxrxN^{(KFP?{Mfkoc@%!w|DV=R1&w{?)e648cj`IcYTF@H@uxhm{Gs(=hpyKb6L7o zl8HLNyQleDn0)RJs=Y&v)Ek1Ag!ZjBM4GNz%Wj{qT z;2A%9v#*hbm+PIu$|WlhsXp5~($KEDC95T&dmp;#CnS<&Q~II~WT2R7l@ObVu2gSqjuALnks;g zJ#C7Gt@COO4f(~6ReyaiFl`sBe4a_f5q_kLv|6kXqwK}kQ2s{8+vu;4vI!*+e1to7 z+D-gEpde>#Kv~mBa%Q2u<+S>rO)ElCq**rZDv>%M5b=kQf$sAGr3$`ZMW9hg)uHcM>f zh(_r6ftoQB$t3$^TVSm2E8HCN)-Jh}(~6Z9J#T27G^pQah-P4BYx(d*NQ-37OEXG6 zEQ;IHDsxE$29n1chDyflJ_=Vs_%1*e>S_BrzRpqDJ9fpyZT#ejTn9HNSrt)e+*xWI zE7N@7$n$&tkXh**k2uQq3v*(du6uY&4~eWL)`Njii(?d>pZ^V5J;6=*Xd63x6f+8f z&-8V^7#YH(f;evh8?^8xoPzS~BI5OUya?6K46cB%Ota-E$*iCG>vQ+bVxx7mIWE#0 zrE8cza^ILt*N2p|yK%wbEWEVzJRrm&W%+b?MrfYN;(0mQodq?W)q;Wrt|$HQq~1uX zq<9)L_!Q`>X8?I96Y@e=oPD8mAw*;hmQDLq3_Nywwl~iK7@#dS5hBfle#_K0ysMqv zTDJA0Vup@lWFiJyngl=&+cW8-UdH4z^>;F!f-K=btdVF+2Nzofp33tZyk`*9H}_!76qXc1LyhJJ(N!&*ZbV(0-p5)G}#I=z&C z)V$fH*{SUC`AGf1@$19$H6|1&6h&0D1ll{ zKIQBbhQXj7{>1#vpP{paAM+zg2*}iDutL5AMxj%oWHIuh{Dr;F*yFOgEum39u`b_J zU6B+SC97AHSQppC;4eFmo(@%7Bp$TrV!1vXl-oi}5ggF$r?VG)*xLA^3cm6L)bm`| zav(V8!G}mm1zUc+s6o`}wko-;9Bpp@?^l4_TTSUi5x?SoTkQY}y@DP&h=P=G{BGg& z{zWY}LsZTdYiLgBl2eA%8dP4F14-z+X|z2sH6lgtti_ipw%T{$*S1m`JUJ*yjxdxG z_n`p1rF0%x<1VSe3i+J2h~I;z;H z(xex=ixM_G&jr%~`dcioVrX&JRcT|d+g%z{FQOI2;8eO*b{dGj0_pLA?(Mr2ux+Kito;e|lPFeM>$n@^(?{gL} zy&6sQ6}Eid&Xf6;R{`XJ1s^6dh^UlmUdg1?>*fovqPfN)4+~Qb(udI-fVAImzsOhQRwPR&mvXAcBDNxzaCfKC=UHh$B1 zO>(}Et^!1|(2QV0t z;y+~xToBPBz;`q6Hwx}Rft_Xn?V9;Z$pZ|@%E=GNpmSaT3wtPWftxYvcrl+Q8r8J> zlj>>j0b$AdVyW(xbRAS=zQDx~@O3_eQKmbZM;QZa7ME;R_vfUiNoY zpH1~cchYs>`&x*&*o~cRKQL$>fvfK4@Nj9o4sqmquPb+JLT$xhGB>Fl(1~5}rPZN% zIHsWSvBs)T%Gg74^J{{mbpjlS&))ZGLj^E!s!GzV8)WT82jw+Wt}fuy7V_A3d{D8j z;4t)>;Ap1Eh3lt4LP3C&K zsROBM+3#rbkP19HBG0%~BNLeot-h|IC)IQH@Dq7kHm zek0Nq|8Bvl=;T+gq-cPBuHoT9%YEGRXhHwp*}+sWc+LV{c%L@c38`w??1iU787T%M zS~36WIY8AqMddY@aVJFS9)=Tf{{zyNON&ePY&00G==<;<`9^TO2<{Gk2Z#y?)-#oA z=E~nP@|-<=&w|TyAw63RF^8B_yTxmZb@1!e?sq1gG>e0T2c&t2q<#gIM7T&)uPW)q zk)tHVS>&(hu&A*5iuw|%81>Hd)G!}(7_xrd@dZ3P?~!u^Noc+~G6uW+wKEU|zm~UU z)zY5?Rfb+lmPX<3stX3Lj00xG>rhZ8LYXmVa6(!(kYM}xh^`>RW9 z1z3$=WOC3%y??$r;`DAcG~hkmXE0JS5z!dSJvW}Dl><~!NSalz!HS5?+}n-G@2ueV@1nQTu6EtfnhDN1-V@gtW*Ncn0EgS5eNw{p1kv3U^sk=h)Ci^#O|bSl(X zm=9B2;BwOKTs**S8A~ohu)2vNa{iVZ*}mrFELvycKOCG$c}cgAeBB@uFS;e9BE!xU zm9*Z2zEU?|D)v}1r>*_JJ>LYOAB^L7Y$LX^-I!+71#~(#< zK1@IOT>}&fIWJ*PB(}B{5&GSL|bpO zzczJw9a05Xs(oQB#FL?-Mx}cao(kNcU(~NK^+kf&$@n4yxWKW_v!mPMQC!Vc!$quW z$@#5R`YA~5g$F3wDp37U#7GxRm591XA4-o?SQKE4an_T*-vk0j*c?TBqrW~9ppmq} z*4a)xR*zuX!{u+oo;SX`t)KrwJQ3DEjDHSbb^2b!w5*3?xEO$&+>`29~;aUdOM4EV%o zZ&qEX^~3F$pc4(ZzBiQTW2&VVI*wh}+W1-1n!{ zIw3#0h?<7=3Cf_nRTeK)Uswtip`05~h# z^vXQxpVV{2{c9LXZGQ`RVTJOha0=6e_;*X(MY6kfQ*6OUQ5_`*Jq2NPoUDp=5Eg`y zT6^dzTzb@2Cr*AK62t~)IeXLLPb)lWm_artT?68=^AiMi5M&?(rcDdw7}P)NoKowm zya>c14HfJ*pn8e3dCb>#3N@#=HOl=3^5FFZ1Um=uF?m}sqBf)zUF zCQxo!T;xUpX&C!h_vOE;AwB4nY&xYosjSJJZF^4E%?y{9X=*8U zTw{3FIqM_$w)=AuhJT6R&aH80ZlBU7?6i~_AQgqu<&9cTy=kxHXA7<(sSpUpZ3Yy; zT_R-O3s`-L9$JvW5<1?5t8V-D{bBc(C@e{!Lp^kx>xYzwk!EaLpx4hQU${rRoZn$U zPVqZgcLhLOO6L}%_)LK>5{x16ha8jiJ&v%N&g^%GsWz#>jq2C_=6-oWbk96a1iP4Z zH8J|+%zNDAz%i|@DaYxVb)>9-90XXS%OD_HI+qI2C z`+ltgY^mN-Xu;ShVG_ArXp3HcULWA6%gkCbN9^0fzqW9k`^@h%I3ukky&PI5?W-md zWfl=Qaa*kKd~81F`oI1c2WcVtf(J@906XjCJ^>nM`*lIyWf;v5WpNYdKw%Wk2mC`b z;H!gaHbvqn(O*KB)`Kii4s*?sua~a|?_t%d{Uv0t!*W0lMdjG+ra?cqd8u}X@+}cu z`RQC7P0{J_`?Wf$TVqNREPXB>Yj#+xvWQGiXcA zj-ei}|C`BKj4k(9f$$^P-?TNq4JxXI$xc>zCiu8&EE@@vS%NE?0I4FAWrD4I3Pklj z7Q=5=6-Q3@9c&T&y2FzLt++HR$bif*E&Dz3@~UXo4SD8GUZ-_cGQcM^^L!E+${W6O zgAN(UI}fby4}u*eCsb%XF`%?Opm-Q^$STbltF(53jMZ!2pt$OrbL!J2p5tz07<$&- zIWA;6E-qk00I48&0)+%pEbsA`*ul^ldQEhK#zZxVUK#)EH$?w!tTV>zgZ~6j*2JAe zH1+1R0@dXDV|mo5`TkVjyevkuyevyM_j(Vxaw_DNGe%tpzsi~&NnB~NG@kj()XYOB z^v?4#G^gUwG@n{V9U&HxbI2tzxsu!p0E^>1m`MX{hZ8zCeq1`r3fvYzndfkLIex;+ zH$>YYTJSNI>|72*+~TNic)N#!_?MWQu*lBp#os9tC2UmQ)Ig#+%!L!4atEuon(9FU ze#?#8bemC2-EK2((5m-q;y;T#w~r-(t-vryF985W-8l6DA3vf2Fn?%(wivF52kd@B zMC}uetH6&gFZYHOS54I|eaK%^^GKe-zgUdaGk0EK3zpZau?yA38o<3$nb!Z`Qfz9# z_1#6_LeiInviaF%J`C0N3yx?sQ-rZh=g#gDTWeUqgNx6CS93hgy;)o?fDf;%QDIa zrT)J{8YNjE-mdS;pckI?XcXiyLC|>RZjD=+ElxM7%`ED*^jTl6Sv}nHhQZC(oH{CK z?QfJ_TeysYA#?uI(f>Ap>lW`w=Zzcr{{g@<72y*ENjlkon^4mf2p*~7?shcEACRqI zWW;hiQes{w{k>@{`c?ONDEW#0jpFqFJ7-~q*3YXwe(~q?lR5rP(iJgj{AL!;+er?> z2cxX*Dhi%I@X+kkXIyBedf1aIfL4SO?7yBcL+6Z;F+lqTDLo{OS43{l8?3swW(vlW zDkpwnF<2nU$5hpRJKf>`RN8nleG^*k)c-1gdc-6YzQL3#Uk(VVRDP@ z(w!1`$$s1|ACJP$Fmbnq?G$WZ{-M1-iPxi--eC2+z#qT@#V|I&sgVijM#F=RL0l94 zXqMd}))f8txOyO}wVfoa3be=t@nS@&Z-86voloyuvw$5d0hd6+)?u6r^z`%pWK-&nwA9T+gOX<^qF^>$7grCU-o%|_Z>C) zH4Gb?=1kspCchp*(E5$Oc^lWtviL161F(eav@O#=p0~yU>NkEJ?<}+IM*~z@x1mCg z?bWZ+p02b0O5lf$iYNH8&X3G$7cX*s;N@jKkvHq6E0TuHXZe38FTiv%0Fs!O*)~WG z*ybhpY>D*6UMez>$_?YvHs<>o7F;eld z%OkXOCRF|_BbWswr`>FNn6u6uu3=J4wF`8ADoEG5#l|jaFon7@$qN&)PE1&tjK#&G zB1K4VU zU5O`BaWiwgdqY=zj55$rR{=#%spn1ih2aC}$N+NvM|t=ckxarvUzf6%5vm698tP9f z#ojhDc4oo}d+ZYu)rUnG^~XLw&{UU*PTNsqcXcgJ;$u&K1RV&rELGOu zf)4{N(XK!Tf-6juqd|#vQILafkm4hnB3)`SPo6cG74b+LPlM^`cMiUZ?9}e}x~SL@ zz4k#gKcNF8Akkn|@#A&|gH9A>IZ*UJv4(*jWbL_T+ z5Cqw*S+?r~7~xm)d5+WK7f(SV0~K};(jQ~VglRd3=4cR?d@n&K$V4EEI2rrnSP|>2 z+P$r;erf~a>5+CEPlAW*k-`u7xeS9qArpF9h1>=en$?&~Wxqw8aAC=QsU9k)Zl}!@ zTAB!yTpIn7qJg^34*q?Hq8dw(iZ0y~BQ^G=M$vQce?egzdlNcZR;s3&P-ig4f}`3< zjcMAY4Uc^AeZv#c%OYU)ll~P~fa8$KuIq?ty3l-l*oj~P@G&Ht+A{;aiT^@86&Av6 zyUBrGV3B92(TF7vkoxDNJ5GuYi+<4j+7h&3Sa9as_7Du;p~90Zdok^qFGVX4gVXLS zviWe!d1vV85_lgEiNI?S)CP%qr}bK%i>ieA$&Ew=C>@q|0q_KDJ8UL|(h-guZf~Cqb?Y)ci;@4{@+fDW0j4dRl*p)yLf3%^J+F>YfR8 zaM}>8Wteg>Zx8YZ z>n*te55|6FwP3#O?`Lg<`@tl{pMAx+HMSd!AC*ZV*l5f3l%sEkE^=pX)dpYw;YjnQ2x|Mg7;6Fc7d8Kv84({x zumrX0n(i}%u9J70C@~)E*&eA9?X3zzk05jw^T7WC^lDYQDCwLjy6B7PwjG6tPs<~i z>4*%W_j>ii)ufMuFT%~#x5aEbs!R0?m7>h*$9prt_8X1Lc8tIS_mI(3Pu(*Sw(ZQQcy(^O^5 zullnh?5Fi*Ji1fp->553Xja)gq{iVIBpm7r@;h71lHmkR;WU$Fpf~hcI;-3boL>5nRDSmbb0DaT-T)F>%+m4E#QLFNByL5KxXt3 zL(xoP3_n2@+%f`?q)$@R3o;mZK6$sE7yv}@b$(RI87CoW*J?m)zN9%j4=M$$DZ|Sp z!r#7De2o!DwP?jen{zokBc;>Vuf7};?d6?3Qpn%1XT%Ifav~8nkA_RQjQ%tSdI_pm z)~59V_K|TZtJYHYA6CVw0PDwfmYX}Z@>`l^JGp(Z;4aD@XUUOVr0E>!f*me;F(QA0H02sUY@4yE;AR8LuOl1TTi)-au3{ z7#{asxILm@oi4!xIy`z(qYwpHgWxe)__b557=_$P#Uum2SCP}-O;rOmP%lg{2}cy5 zNSR(pMtn-#Q`K0Q;j^@cHJxiDfrJ4NK->uEuC#>1j~M?-dFrSG$jnq9$4G!US1nd^ zwvGi*es}TH?yMg}_DA6jysN&gl$X*0&b7mG33!0klaQ?nn!&8bea`lqm7DB?7~<2N zj?3E=2Fv;EYlQkR%EN<1sAj60;B@+FSj1S5_WeG#cYjvgkt073uD|$*De}(-QIKqT z-->P!yp_|SoMtSzes3b|Q4YS6g={I*VwlHX)hW0jGHWmN96~E?tG=t8evoIk1eTi{ z99hqQ;GGFJEvDovkeu^UBC-1ie>?sQuSY2$6kHLOlSgzI{_G;HY_q48sFV%Jn`Trp zLAUKSnHopWfsXvn9U~-vEz0a`H~Pck*y7jV+i8iZ9Q8-Mb_S_-d2G%uXOiI0sUULq z*x^U;xewQlj0zY2?B}Y?a=x$IdTica-!IMxkCGM5{lfwB6&z93sJZXf5t#!7v)*vt zY7FA6i*jLm&@kMjck^%L-wu{j0)pn)_x_XFub0Q#IhN@=A3Yp%@SV7QY>>kYMwKKYk;#hNjySn92uCIZ0at}o0r&MJNnB4 z+vC8}Bj8oi@%Z2xpNS5_fxpBlHjVZu!nlLH_3AZZe<^7~y(wI2UkO&X@kLSo%FyFY z`nex&{R^Ml?=uhcId*t%LLWDsRaz2tJXlrMHCq>BL0-5IAp1Tv-{(9b^#8_u zfy7=&%l)8N+thWu3Z=@|86A~1{w2e=$aujLkk5GL#&2% ze9#OroF{`Yd1!4DeE1k}VqCO~IojRP(Wug#4oEW;tNz<Ncqb6#@&ew6$h&rSNZ6r6R}cL??0VzE$-M7(EiLU zXgfk#>LD`z%3P3RXBwxi-e7!IaCn1!we#+wUmfb=KR6gH__$4-raDyMY~N2U13p}H zmKIz|Jz(wHQ1Zt8>MB5>w>~^%z9Pl{I5qfqU(R!h$mvs5ds;0lNIq%=H(;{Q!IFl> z{Y(}>#d2VSsJ&92Og`n+Cp}cjyu^TPKoC)9m}{tlXcH*Kh4i(dMBk>d?l)M{?V^uh zf#lz&r_CYG6OE_*HT_P;oBLi;P<=Gx`j2gZIQ^U+$o9gzmj`L?QEBaqZ1xFf2X9yR zJ>0GYHQ8K`<81cLgg2^U!<&Iae!U^E5?KmKPM|-_qeUGln)Y4$Ve4{x1^uk*@It2aYAmMZID2RGS!%C@QzdS3 z6I?5jhIdp?@o1^$VXD2Ms!m^mW*jfQDGTy+DT`jc9QQt<%ElWgP4f#29M8JMe8J>Vh&Zrdd#x} zW+BSgn}MUICy%06UTtCdocM-EU3neA&zR$aAou99ym-2vKO-V)=iwWmbN@Fc`hbPY zuB36ldYvS+56_C@?`AM7BnuWFG_IpqORwTP6Q?&Mp-;(9%}G7(3)5a}wQ|y%X|}DJ za2b);Bk*$h5>yV$HwH~m1WA0%zFv2D(9x(r8DV4(vJ8yczp+Z!1CS)qLP$73L&j zh(Cn9PW+8h((wT{V{j?cMx&>HN*>!Is5I&>>z<}-zu`b`IuIs-eJbfH03=1V+m-+V z70M?OTGH`S0-H`3@k)<&;+-eI6ANg_0@v3!K((c*Ah3Z_gwGYe08lP-_5kZDUi65} zj5K^D<%?*~iEvBgm=A}y44W9;X0;du$xOF8&$;>;!=P@$G#ZSlvD5*2( z_J`8?Iz1nG*YP`!G02#;swhREa%TiHG=t}9qe%!TPU68=T1?Q0687x?5r z;l+juW;iE+q1E+cqpgw=JwT34#Ey_$Pzj zIM0~hlgjv?d6As`25p8?xDwV=nE1_Pvgc6W@UT-Q_Eix)D65imR{SDvo%5`SD&OJ} zWNM}qkxtXp2>%Rims7~6!)&V5RIr#gSGMg=DwC+mryg$s>Zyyf`M|-v?NZV)7;%~W zGx^Jgzp>FS*$SZ81TK6@K08ZubWTup%#FoCerc~uOJA{_x?6Cc$AK>9l^sOn3eeqH z$S_(YT?A5RZP^){Zg)CMk_mB=If#LbKS@mP$q92wT!Yl z$nKVEXB3bU!b}EVL8ju^Urs;Kojt&uLqjWDx%a;p-w#ofW&RMv&*Uoplud^~AIN)r z?CWuBz53IRKv2pn5AiS@=3t5RF#7SOm#fl;>Gg7Y#^a=`(&Hk6ylC^h)pzM^W3T9^ zBf(M{*vJ5(G7#7&t50@f9M+2+%ICBmKQq4@PJFOzIj*U#65Js+qVJ zn1*;JW%`d&s`K*OZF#r!@2pH%APknR0zBMX#b|K=VeCiOx)~O?*uj2AW?2k-m=H09 zcKLS_=ntD&$zy1mznl_Q6oSMaYz;{$aBVot8~p3ECH8G2flx4Q##Y$sCWu~}uU?wt z#NBv`<9QBtC`Wn>YKUD)VZisg_V4k=b3ypHdS*UZiV^|(Ogx3_vy>%4y~5E=YiatC z%C0b7RF-+71_LNPc>NO$t8j}9&CHZg9s5K(R`Y5}oH<%8a3-+ub^DA9yGj0Zzua{i zfJm!-Bf(OXeX5>WLd|5W6RRm!)SryvzJ3Eev4 zmM4Dqsi9;9iHC!#I~$&3@GQ-K2#7?_I=J7}?=sBwMN2 zI01acbUnKLmD(*g0Gfua%h7>WebbR>t0i3oFcGI5mErH-5SU(+SyI22x6Iu$zVLzd zJE_lt`DQRIeRHG^S@p5POuf@tFAwBX0{N#)Y+06jfJcenTWoKX4)#u@(L*vM)R5?Woeplb zU>_4Jm*a{mcEyQl;VGy<(;FI+iRM<}-@4Ytl15Wfw|U(22YKsR-C**f(QK>xv$&FIYvwMVoYi{9p=V)G`7gZv(=@W%dNedpTiA;tFmt>!8aYGsE z)FY{xv<3ffem+~m1(nP^!LK-}iB$Cs^5ayvSeH@a;3Mw0SAZa(Z-H?xy-H^F>>=@O z0t#sJYnQ*e8!31_Rkck|>bX3}uR8%zsk`29h9h55HI<^5aYFzgx?e)Hiu$%s-Oa*i z1=pppR+h|Qu{VYhOM)*^8_8owzPS~K699yJE0H(DLDYOjbEsk&CJ^I|GvRP-dQ|I8 z8s3MKtU9%0br`m7+XVo4BSX@K$y=4VVbz`FwN7J; z-Mqr_8XC4ipyG24nJAS+>2sTNmYN z;rtn;ov~WGHdOLj^ZWvth9p+2p1*=UIvR=EP}e3&s`-u#LGl_0brw2|!d}1Z2>m@D zd-8G6j91QTY;*JX@kIiZoC$OJ3hCecRA## z_1DQ{UXczWlED+rc0jPO7Hj_HKga83e85EI10C=<>#G4P{J#`4hb>Pv zm~^ zlu@8~CJvq!6mXY{Oo*UH>lYZhgKfv1r1-7~bc*%K@s;INzl%mTwq&goMhj()^di|( zC7I)w`Ce>TCxnk0H6;KH%l(Gi(=GZds(#Q&6sc7C><=Adda3ytU?8#jc%>rIR?I-Z z?&l7xY}9x^OzB3PpPa(H2o&qj=K65neEXrp0ejSnoc#SzC-uf8b*3gnH?mV1nkS1R zCQy)7KoHxnNCtCU6%0~ro=dR{j$Qa0k85><`Ji@6y9190M^yfiX`I3lGu?|$K*MoO z)%jW@k)EM1lYK{?R-M4UijDxtW}<^&GtN-;Dm_d5{rZf?8kkGh(kEVwI$(rW+MgpB zLwzRo>Nco4Yd!$rr#629g7N$cmso#yNN89=lH#4~)Fx&q7kfPS>Gge}jv_%q@Fk-& z_c0kkQ40Vu{sY1AZx-9ej17H~nYQ!-PI)nWp{r!u}YO=J8GeaW?cs#*uZT7tz1_By`x zFX&TnQEimRAxqsQ9^}0)--}LM4~iD(OuMI|;(pcz+q4Jf^T@q?%@f;_aF4Gj-_!sI ziLF;!l)44|xhPI+rF$SyCED7;moW?2UW-#=r{wlFhwU$n)$!ckPU?lH9Oyr!{sP;H z`LCcZ^Fw_#nD1Q3OL!6z8(7&DOT+O_FaVSBZ5tyj3_SU-DCYt?O^O1K32<3>PP4W= z2b}l&#iK%Y*GlYXB2OT?LeEE`2K7SRqIfx5+9_J68y<_jpxV^x3|U9Sh)yiVU!}}K zKQ$4(sy1>DOZ)Uo&a-1@k>mctbYR(cC?tFlNv8T`n&7} zSOSMx0QTEW4flpBMn;MOi$mKnGBT%2K+Gk}zC;<>)(L&>iW9H3(yZH1a0QRHpP=N3 zUGp?CK}dQQ;Rs;u4BDIH5lK^1|3{7Lv{8sc-}bmW$I?+2#o*+bJ3)lI9p=g6z@p{m z$z4;?+QATpR^`uhK9OxEcO!ztR3X@d1YE}z2dy6u8C~c5fnxtl)jAcmY&SI{DUU~! z^lS_46u6*h;4&z@;$kAIq@~Wups%yq8Ejb&um59qrAO=7&+1Z#09`a)x&a=z zRdRzn5wERyy44#+-0(H^?_oCj9V*02{@%BfY(=V`h)EUFQCqQ9`74OH%Cf5J#UaGx zp5TZmEsX_DT{MRMHaCVjPe@sN3v^I%ttg6fEtiv`K}hvTv|~N_K(y%t#)$8mALqhB2*`BK|5FINqz@E^d#Z7EVfF&{v{aJ)L%Cb2PAQ}5WV8IvJ@#YH-;tKmw+`rM=_mjv3% zdjEKlxl0h}fJDY|LF@UcDVzbe%!pXmda#7ukUzk-^p~^7!n{|~F9?NEQ2-Iias~gE zV8>gq6_I&jP$h?(BRW`QUJirSX$+*xZyB*E)o~~*2GIKA^k&+T$N%!OuM~Q#Kf1UE`bZw^gfvq)I8Qe7tNuC^oH&MDH!HoTPS%kH-z+mpe z<0xQKfFh~eyDzUwU;hQ8?hS*n=I85I9M?dN6jsyFGNO{7^vZ~M^}O|h`yG9Bk+~>6 zMT0%`2nF@xu~Qx>MP$&divrTyKyHZT|J>PdY=baEfp(JIk}GCc2+40o-rEdvNrKGej#2-=n~Uh&No~C>Fc(L1j7lc} zn0J%7j4teK^IK&#fXQ$1fPe?P_GeAf!a0DJO^X<4d)04G_RgnTzlD7h9VpJ1&zF;l zWW3xDiR*Gtdr3L6Ft`~Iry5b+)p%Bdl$gysLoFF`0_Rebob-INQ*NltV^UOV(g0tp z1jbk7kSP5l1JA9GrMw-2^@5JJCycX>Eye@Iz=gDUfYcn; zz#gv=|G}wt)XRW8E>rI|-F;Fc^ny?LzxGf!x1LoX-(wOANDquj$`4tq0;Sp<>N_w^{1K}2#biXCM> zr)<46lx1RJu4d3*g)NoWf)t9h3*U9`BiKC1(IIXypTkit{NH3hWOPzsb$R@Z3e{Rx z1qrrs9dz<8EV$gcL8ln>bZO5-p)3jwuFLfBFaShAyT36y`_MEC#dU`zgwdecH025g zMuj=rq<`O^A8Os<&~$q8fCox{Z71-rUL#XsW8|Cw={jn;kEpc%S@?8OgLSA9pE!qB zjg*rnM7DdJl7J(eFzRvPjZE!y)~^vDQ=Cs<;`Z!?$p4=^WyyZ5XQdDy z{TM&B8-IY_*p*|A)9xHjmXm9{BDT9DjAtJUsenW6lyluAYQwmfAEtO}jJ}HK+wQZh z6yS{-tR4e_HAq*<#^Rq8feSFG&U|MKqcb=D*Hl+6f(?02;gl1EfR-g zV*MLVYUr0=NYJW7k()Z`XJYG8w96~sAyntY>L-^0fq_QPZ@zwVTiwN! zGe(Fke)FO^JguJ=?88WeVhz7t4M-9-?VIu>l2a6gjRJsL0gt|<|EES+UNzl=_bR!y zz~sN(OUb^2S_$eUHcH1s)qeEYZrZ$j)v~xv@p){O{dD$#fFGG~hwc&;) z)hg<*agI9;ngf{1Ta$94&2mf_BH-CClGlZyKfHIpo>S4&?LCxR|x>Ni~~d(|x|YP~SD*B-|V0 zzfL>9VY}ju32O-J%4wxDLZfOvb8f=j?mw?t3M=nY23r;l!me2)&V8&{G2VushE6+r!0Ris=Zo9O883< zBUONR~?OIU{3!{x=s55Hg?oXaIL@04oik(hoZ?G=#3|t1K<}Lgq6NBhA1sO&p?S!L-xt z0RRBF@ZjTHDih6QZOc)HOHpNS!E6pGM9-_nghIK1(_)AaKZ`gp_Ie`^fMVi7H+XMI z`0zY>x_U{xCKxZY!|bWvBU*}|cK8FGu2ZiyMiS?^JHe2#M?$VaL*5XJzGXaqn-kVv zV6IE;sFr;iC!Xyq{BVx&i=zCb@**ey7^0q)jx~}VyXG`jzcuBQwZ|GSERVlLT7Yhw z^adEq{@7#k(md%S(C?JtMCj*9;pFNMJ8tG)`YFjfKA`AWcGlVQrYnX#d;|L~|9R}m z@E?DOfNs8_#Jij%;(LYFgGO)OG*If!Mw(>mtBa^f$y$tWsxZFumEBPHvwe zv_#v?+SMBr-5>gEZamTB>T`BTnf3U|_ZIyv$KE9?PG%)%Vw6L0CX!Y)cxr2B- zB>W(B=$-D5xNRPUnPF)Fj&-)A=I)#|mMmmd2$jO9I#5FMpxFwPY>^}Jft~3@CIa&j zxj3u`A7{E^^VWONl!F`9@*Y0(q(-;x9UmkuyE(ffq3PgH5x&TKEOrC1x(;TQn^Li< zqDvfjpM=N&fCUTSN5sEyS=Y4iVCH+c+H``G4pN`tJQFB^XWC~1w*aO5@V>Mk=@g)i zPkY3aWsHyLFW0YB_^-?1nqq``-a()cofy5~$j3Oy4Pi}(qNY99THQ-{mER~wsACeT zYGVAF360UH*SQE;;cO4_B1v!Dg#(xeQ5_O zN5J&!yu6^E7+lV{GIfXp=HHhEHY==+a}P6w&f+LXYvC}oH%K5D%KPFyep|saUnQs4 zF!fnd*Ga${+2^b2q%#0w0P1($-9GQBK!#1|mkP!CW}Lm{LQ|#A2Cp64LYZw)*zD0x z#a{DcR&QqVg1jicMiW5uk}}f_nKMN~WFURG~t&+@&TOhafI7ToXdKygNtKl?TTjGh$a4k^GTJv z`;K9p#;bD5S4@LA@Istv41bR8cyPz1hNOL&I@}MCY6L}#bo~A3oThL@@IyUxps~rr z9!Qb|{@6kBzYi4Q68lZ9(Sz;Ql!GipJ#B>;){qjuxPsI#qRGo4j#Ut#`2s>~ZG8cN%5 zZC-XG2U#E}%#Nwu$R=W+w zTG6V-teTh9s{dtKgU@(QLm2ssOch88$EiKXa9X-RXhTy7GoO||RB`^fCD`5NT3+Lp ze_rza%_~rO7;Q72R1tmZS-OkTH;nv%(JJr{Tum#DBtB)Qn zQ6CtYaA|T2bcXwnDnlZtk3aeKx%jme)(Oh*+028ZS5NI6Yg1Cy(yPDcLl!*I!4p;- zk!%+EnU^guuEraLlJW^~@5E;))84J~Yb3Zy{D)1bzJUq?ie7SuLb>0Np)>>m=p(HxBCYO-%(CNZO z+ppKkE>7|>0RYWR?Af9^UEogq+3d&MI4;^%o{i&W)W4SVoOF+3SZ10dM%JlDM%d;0 zCU`LT%acFffrmu<=7A|bD;@yD`K9Tbwh;e2G!-d?tMm$Z`h&b&_8Za2FzOp7JIZ+! zz~qG#aH*HjG)?a2tMOIiYeyRuHS1*9FKbiD9`YjTyX_MlhxpQD0Q+H$5sF9Cu8SIB zgX^vMVW78&D)G9N&z)Gk$RMB&#Le7yQmC4!3NhkD0-HT*Gl2ZmM*85l4~N4@Yu(xwb-fK7&aGV7Q;9x`_+eRqU3UO5#f*KJUACkUZ8YTWYZtl#6vwN~;Z?nGLFN(4E+IT4t}~;+XVPdc}~sb5ZJbtz~*~N8I8an2)r990P&4Vx=+lz;{SqW z$eilUB!)?{cUZDz9I5TcCux9ST$%tJ_DeljD*TpDotYwNpthL!K$)akL^F`hO0?l} zvJNC&jX16;Wc{o4LE7-l+GyT;b4Ud*yGxsw=o$>_0fQHcjTX>cL?knLxgM~Q;vU(o z{^|AMIl)rG7m{KU67%4IwqQC+g9IAn?*%L|W)w%e7RX|BrP-V>&IT;eo&s(7r!V zc+lW=Tp5ka9&>T@$hIqr-}J-O64yaaSXaTtdQEOW9HQU&5t9ALV%`; z5@5HDoqyFzX}Bc3um#rs>qS&i+hxEEuNYRpB?fw_i>f6J1f755CbdjUrJXf&cLhGkQZLL4?{b^Y_(cr-BTz{R9G?h!MzhR z3KTM)_b{d61Y7H)YV~yXllIneT1c%pfGZA-g1u%htu9;|PJk67F!p&^8fPkmtN{@$ ziu}oQ(Bw@`M0Y(uhnT-}h4-ZxY%Fzn4&BdR8 z)NibQzCR(OtL0K2N98y%gXZ$z*dKolv&L#Fb(WXc>5b<;P9$xLf#z2-@1KSF4^Dxv z`@)HzCXInmg)eB2fr6KYKI3s5Ck%t++lLhNEiNFXX?_5&>xHf60qMASWD%rnY;V&Y zG=9x$VnnNhC83KC(YNx_%8uv5VnWhO0t(n0SByz7s|2OJ@>I3URCs7cem_VN757hCkeZl+!aX})t&4&R;#_NWfa_a!e%k|Di6E&VgS3txvwe4-zn53@C2(%gEZS0ihkGG*Qt@ zs4RP~ZYuxqB3qFxaT;MOG{0I2r}?r4b*}gncjcX3A5X-W%$p!u@ znpzKRY3ZE~lxtQUYqi|nDd#)Y{-1%cv8^~3m77u1)BNh=c{(l=Yfuz@D3FBEN!Q6- z5cgN}0SyeEsD54}erUz?Ct<8C0cOdCHeU8Xq4PzudDN!lo?pA6Co2w4<{LR>R)gp6 z(DpBaVY7p>B+=XzRteh6AmW=vo%A&~&cnr$-1UdXitWNK$G?v-cVPic{G zyHhgFPcQU0M|o&`-kX*Pjd9sQLBP_!%U*EZHgdKg*bwdAi#)2&J3OAQ8pXNEWo{2! z-H+!6*!9sbQwZhn2$JRAgAuqPh4G+b$J|iI7S-n!L5^Gjjm-qMdMdHHYU`?wfkL7h z+qvS-`U$rR8OTH}9jgFkEj+V)AC=9{(k(U#{d?^cKyY)a#S%toFWyv1A6|UDdEf;@ zeM61P%OYSs4BB4qBXKc;+vS?tutyW?zGCvQZeEp?(k<$>qFf-6DR&f{Xg}<^NRdW3 zX>D?}grx@0X&vEuEjo77tMIHLuF?bK4C9Mdr#jPQq!-2sDjNLlG*CcvJ(@CVtZ;g({tH| z%lo+~ihY(892CWa?{Jh{@7cIDPr+=rGNwn7m+23rr$zD7_v)1A@fWycOR;s&VK19k z7q-h8!_Q#yIlqHt;)Dm%scjr);)uudn)C?;ZHK)`GjUW`KL>|+i0dnY%;y;`$fBxv zx)@v76xt0Bemu-@{|CtMT65wRZpz)D@DX6ico)8*68!Xe@_DY8e>|{&#{G4%=X2?8 zo9Pi6EFA%HnXPxmoBHQajRp9S_nowQo*%Y(Cd$a+CL(y4@8RPJT5?WMLvF0~iC~xI z9Ij$_Q(9z*u|O`!XT|e9>U34z7iHZ<-y4w~A0(&Y256g{W@*lFO4@xMmwIMMLmrQH zWEH#FVuI_e@E6GR??wpWtT$cG>o#XGWJq!__C8(F{sLW(#t}!8nbfTRBQl8092IRZ z<3uTxXPLR*P}m}|1DoZ0-;31y#^+MOsAgpiADCB_KpqDqweHNoT!LyY#(q<2H-$3w zG{jYD(T-?-;%t8(GO0&f5xTaJAr<4`sIhD`)J)7E%yo18` zC)*qI6h8Yz5FkN<1Siboi5ojG&-2WuzXi6`-O^UeEm_tl+qA-6ifx!3JTqCwRd)tl2V; zsw~(MzIhag`qEp~A#DYZ%G6`8J+5 z#SR)JE<}!NcIGb+VcEdwOsUzSIPB3#p%w^gP{avZvG`%$`Ji#?EwgGi<5gaxt=PmU`j!HE>=&pQrDic0;Q7KdyRd55P zp+!ygj#bI=j1l3BhnaF#BgOHmk;*ZFOIc>-b8#*%;8uY~{^WJ^dPC?NR9JyFTPZ8`{O0IQIKxoJ46+R7=)8 zBgn|b`Ox=+xL-@Bfy36DEMX6*)gt^E#<%6whjVKdth5Xt^sGj6nS! z;_5OvFU|*bL$^4=TRtA+_BF<0d|#9s8Qb&j0mcVS9Na)Q5_uPG2PPpLJ+HQTFynzI zNin=UuEshow;QyRuqBljrq3}d+OW&S+Mdo$k+r4D6D(GMU|QFj-I#CY7Zot*4Y8NQ zrd)0!b?{i!w^XEZ!?wC;#JR>AL)#(+8WDMLggTPdm1g7oJs1OfaLu&2uP;QHQv*2RkoX$#=%}PdXudS9O znsgv46(g%siX_b8_qevTS1OhsI*KeJi%@j5HOm8rY`Nt!ftd!!2hIov6%cZ54{;ln z*UM6s{Z6rm<9ejcHtGw%qKTR9Bl_WbMH*á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ⅈ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

@U=VnBHLlqgGwrqn5 zQ}(1vs`Wp7^>I5pl!XfB)QvUkHjnHXs0L)9iKK2M<1`1yvzFamZsve=^THMf$BUNT oTkcVIBE6&mUU+Ay#pmP2e}6;QEE*<0SH6(e+bnP%2w=bcKUmtGwg3PC delta 64947 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 Znn=%S%AVd%Ki;|~hf5p#N#G$q{Xa#DKxY5|