From 5c95c53118515a37e81f4299c6fc7235b8cb9c60 Mon Sep 17 00:00:00 2001 From: Regalis Date: Thu, 21 Nov 2019 18:22:25 +0100 Subject: [PATCH] (3dc4135ce) v0.9.5.1 --- .../BarotraumaClient/ClientCode.projitems | 1 + .../BarotraumaClient/ClientCode.shproj.user | 2 +- .../Properties/AssemblyInfo.cs | 4 +- .../Source/Characters/AI/EnemyAIController.cs | 44 +- .../Source/Characters/AI/HumanAIController.cs | 20 +- .../Source/Characters/Animation/Ragdoll.cs | 10 +- .../Source/Characters/Character.cs | 4 +- .../Source/Characters/CharacterInfo.cs | 54 +- .../Source/Characters/CharacterNetworking.cs | 18 +- .../Characters/Health/CharacterHealth.cs | 38 +- .../Characters/Health/DamageModifier.cs | 2 +- .../Source/Characters/Limb.cs | 182 +- .../BarotraumaClient/Source/DebugConsole.cs | 277 +- .../Source/Events/Missions/Mission.cs | 9 +- .../BarotraumaClient/Source/GUI/ChatBox.cs | 74 +- .../Source/GUI/ComponentStyle.cs | 4 + Barotrauma/BarotraumaClient/Source/GUI/GUI.cs | 77 +- .../BarotraumaClient/Source/GUI/GUIButton.cs | 7 +- .../Source/GUI/GUIComponent.cs | 19 +- .../Source/GUI/GUICustomComponent.cs | 4 +- .../Source/GUI/GUIDropDown.cs | 57 +- .../BarotraumaClient/Source/GUI/GUIFrame.cs | 2 +- .../BarotraumaClient/Source/GUI/GUIImage.cs | 25 +- .../Source/GUI/GUILayoutGroup.cs | 19 +- .../BarotraumaClient/Source/GUI/GUIListBox.cs | 23 +- .../Source/GUI/GUINumberInput.cs | 17 +- .../Source/GUI/GUIProgressBar.cs | 2 +- .../Source/GUI/GUIRadioButtonGroup.cs | 29 +- .../Source/GUI/GUIScrollBar.cs | 46 +- .../Source/GUI/GUITextBlock.cs | 10 +- .../BarotraumaClient/Source/GUI/GUITextBox.cs | 34 +- .../BarotraumaClient/Source/GUI/GUITickBox.cs | 31 +- .../Source/GUI/LoadingScreen.cs | 13 +- .../BarotraumaClient/Source/GameMain.cs | 106 +- .../Source/GameSession/CrewManager.cs | 14 +- .../GameModes/MultiPlayerCampaign.cs | 38 +- .../GameModes/Tutorials/CaptainTutorial.cs | 4 +- .../GameModes/Tutorials/EngineerTutorial.cs | 4 +- .../GameModes/Tutorials/MechanicTutorial.cs | 12 +- .../Source/GameSession/GameSession.cs | 34 +- .../BarotraumaClient/Source/GameSettings.cs | 43 +- .../Source/Items/CharacterInventory.cs | 4 +- .../Source/Items/Components/ItemContainer.cs | 4 + .../Items/Components/Machines/Controller.cs | 4 +- .../Items/Components/Machines/MiniMap.cs | 4 +- .../Source/Items/Components/Machines/Pump.cs | 1 + .../Items/Components/Machines/Reactor.cs | 18 +- .../Source/Items/Components/Machines/Sonar.cs | 20 +- .../Items/Components/Machines/Steering.cs | 27 +- .../Items/Components/Power/PowerContainer.cs | 1 + .../Items/Components/Power/PowerTransfer.cs | 12 +- .../Source/Items/Components/Signal/Wire.cs | 58 +- .../Source/Items/Inventory.cs | 6 +- .../BarotraumaClient/Source/Items/Item.cs | 66 +- .../Source/Map/Lights/LightManager.cs | 31 +- .../BarotraumaClient/Source/Map/Map/Map.cs | 84 +- .../BarotraumaClient/Source/Map/MapEntity.cs | 4 +- .../BarotraumaClient/Source/Map/Structure.cs | 14 +- .../BarotraumaClient/Source/Map/Submarine.cs | 79 +- .../BarotraumaClient/Source/Media/Video.cs | 8 +- .../Source/Networking/Client.cs | 1 + .../Source/Networking/EntitySpawner.cs | 2 +- .../Networking/FileTransfer/FileReceiver.cs | 4 +- .../Source/Networking/GameClient.cs | 188 +- .../Primitives/Peers/LidgrenClientPeer.cs | 2 +- .../Primitives/Peers/SteamP2PClientPeer.cs | 2 +- .../Source/Networking/ServerInfo.cs | 365 ++- .../Source/Networking/ServerLog.cs | 75 +- .../Source/Networking/ServerSettings.cs | 53 +- .../Source/Networking/SteamManager.cs | 217 +- .../Source/Networking/Voip/VoipCapture.cs | 9 +- .../Source/Networking/Voting.cs | 4 +- .../Source/Particles/ParticleEmitter.cs | 8 +- Barotrauma/BarotraumaClient/Source/Program.cs | 4 +- .../Source/Screens/CampaignSetupUI.cs | 60 +- .../Source/Screens/CampaignUI.cs | 202 +- .../CharacterEditor/CharacterEditorScreen.cs | 38 +- .../Source/Screens/CharacterEditor/Wizard.cs | 28 +- .../Source/Screens/CreditsPlayer.cs | 2 +- .../Source/Screens/GameScreen.cs | 2 +- .../Source/Screens/LevelEditorScreen.cs | 2 +- .../Source/Screens/LobbyScreen.cs | 2 +- .../Source/Screens/MainMenuScreen.cs | 131 +- .../Source/Screens/NetLobbyScreen.cs | 2310 ++++++++++++----- .../Source/Screens/ParticleEditorScreen.cs | 2 +- .../Source/Screens/ServerListScreen.cs | 1017 +++++++- .../Source/Screens/SpriteEditorScreen.cs | 49 +- .../Source/Screens/SteamWorkshopScreen.cs | 4 +- .../Source/Screens/SubEditorScreen.cs | 17 +- .../Serialization/SerializableEntityEditor.cs | 11 +- .../Source/Sounds/SoundChannel.cs | 102 +- .../Source/Sounds/SoundManager.cs | 14 +- .../Source/Sounds/VideoSound.cs | 2 +- .../Source/Sprite/ConditionalSprite.cs | 17 + .../Source/Sprite/DecorativeSprite.cs | 21 +- .../Source/Sprite/DeformAnimations/Inflate.cs | 4 +- .../DeformAnimations/NoiseDeformation.cs | 2 +- .../Source/StatusEffects/StatusEffect.cs | 8 +- .../Source/Utils/TextureLoader.cs | 8 +- .../Properties/AssemblyInfo.cs | 4 +- Barotrauma/BarotraumaServer/Server.csproj | 10 +- .../Source/Characters/CharacterInfo.cs | 2 + .../Source/Characters/CharacterNetworking.cs | 11 +- .../BarotraumaServer/Source/DebugConsole.cs | 35 +- .../BarotraumaServer/Source/GameMain.cs | 12 + .../Items/Components/Machines/Steering.cs | 1 + .../BarotraumaServer/Source/Map/Hull.cs | 5 +- .../Source/Networking/BanList.cs | 4 +- .../Source/Networking/Client.cs | 24 +- .../Source/Networking/GameServer.cs | 220 +- .../Peers/Server/LidgrenServerPeer.cs | 70 +- .../Primitives/Peers/Server/ServerPeer.cs | 23 + .../Peers/Server/SteamP2PServerPeer.cs | 66 +- .../Source/Networking/RespawnManager.cs | 2 +- .../Source/Networking/ServerSettings.cs | 10 +- .../Source/Networking/SteamManager.cs | 2 + .../Source/Networking/WhiteList.cs | 2 +- Barotrauma/BarotraumaServer/Source/Program.cs | 4 +- .../Source/Screens/NetLobbyScreen.cs | 20 +- .../Traitors/Goals/GoalDestroyItemsWithTag.cs | 7 + .../Goals/GoalEntityTransformation.cs | 162 ++ .../Source/Traitors/Goals/GoalFindItem.cs | 58 +- .../Source/Traitors/Goals/GoalInjectTarget.cs | 78 + .../Goals/GoalKeepTransformedAlive.cs | 73 + .../Source/Traitors/Goals/GoalKillTarget.cs | 136 +- .../Goals/GoalReachDistanceFromSub.cs | 23 +- .../Source/Traitors/Goals/GoalUnwiring.cs | 96 + .../Source/Traitors/Objective.cs | 6 +- .../Source/Traitors/TraitorManager.cs | 82 +- .../Source/Traitors/TraitorMission.cs | 96 +- .../Source/Traitors/TraitorMissionPrefab.cs | 72 +- .../Data/ContentPackages/Vanilla 0.9.xml | 4 + .../Ragdolls/RedcrawlerDefaultRagdoll.xml | 30 +- .../BarotraumaShared/SharedCode.projitems | 4 + .../BarotraumaShared/SharedContent.projitems | 447 +++- .../SharedContent.shproj.user | 2 +- .../Source/Characters/AI/AIController.cs | 53 +- .../Source/Characters/AI/EnemyAIController.cs | 724 +++--- .../Source/Characters/AI/HumanAIController.cs | 445 +++- .../Characters/AI/IndoorsSteeringManager.cs | 165 +- .../Source/Characters/AI/LatchOntoAI.cs | 43 +- .../Characters/AI/Objectives/AIObjective.cs | 254 +- .../Objectives/AIObjectiveChargeBatteries.cs | 38 +- .../AI/Objectives/AIObjectiveCombat.cs | 335 ++- .../AI/Objectives/AIObjectiveContainItem.cs | 152 +- .../AI/Objectives/AIObjectiveDecontainItem.cs | 87 +- .../Objectives/AIObjectiveExtinguishFire.cs | 27 +- .../Objectives/AIObjectiveExtinguishFires.cs | 2 +- .../Objectives/AIObjectiveFightIntruders.cs | 3 +- .../Objectives/AIObjectiveFindDivingGear.cs | 104 +- .../AI/Objectives/AIObjectiveFindSafety.cs | 189 +- .../AI/Objectives/AIObjectiveFixLeak.cs | 92 +- .../AI/Objectives/AIObjectiveFixLeaks.cs | 5 +- .../AI/Objectives/AIObjectiveGetItem.cs | 245 +- .../AI/Objectives/AIObjectiveGoTo.cs | 224 +- .../AI/Objectives/AIObjectiveIdle.cs | 159 +- .../AI/Objectives/AIObjectiveLoop.cs | 35 +- .../AI/Objectives/AIObjectiveManager.cs | 77 +- .../AI/Objectives/AIObjectiveOperateItem.cs | 43 +- .../AI/Objectives/AIObjectivePumpWater.cs | 35 +- .../AI/Objectives/AIObjectiveRepairItem.cs | 75 +- .../AI/Objectives/AIObjectiveRepairItems.cs | 27 +- .../AI/Objectives/AIObjectiveRescue.cs | 208 +- .../AI/Objectives/AIObjectiveRescueAll.cs | 20 +- .../Source/Characters/AI/PathFinder.cs | 19 +- .../Source/Characters/AI/SteeringManager.cs | 105 +- .../Source/Characters/AI/SwarmBehavior.cs | 18 +- .../Characters/Animation/AnimController.cs | 2 +- .../Animation/FishAnimController.cs | 165 +- .../Animation/HumanoidAnimController.cs | 80 +- .../Source/Characters/Animation/Ragdoll.cs | 35 +- .../Source/Characters/Attack.cs | 62 +- .../Source/Characters/Character.cs | 210 +- .../Source/Characters/CharacterInfo.cs | 129 +- .../Health/Afflictions/AfflictionPrefab.cs | 33 +- .../Characters/Health/CharacterHealth.cs | 48 + .../Source/Characters/Jobs/Job.cs | 24 +- .../Source/Characters/Jobs/JobPrefab.cs | 75 + .../Source/Characters/Limb.cs | 9 +- .../Params/Animation/FishAnimations.cs | 7 +- .../Characters/Params/CharacterParams.cs | 31 +- .../Params/Ragdoll/RagdollParams.cs | 25 +- .../BarotraumaShared/Source/ContentPackage.cs | 2 + .../BarotraumaShared/Source/DebugConsole.cs | 86 +- .../Source/Events/EventManagerSettings.cs | 13 +- .../Source/Events/Missions/Mission.cs | 28 +- .../Source/Events/Missions/MissionPrefab.cs | 18 +- .../Source/Events/Missions/MonsterMission.cs | 85 +- .../Source/Events/Missions/SalvageMission.cs | 29 +- .../Source/Extensions/StringFormatter.cs | 55 + .../Source/GameAnalyticsManager.cs | 12 +- .../GameModes/MultiPlayerCampaign.cs | 1 + .../BarotraumaShared/Source/GameSettings.cs | 46 +- .../Source/Items/Components/Door.cs | 47 +- .../Items/Components/ElectricalDischarger.cs | 5 +- .../Items/Components/Holdable/MeleeWeapon.cs | 27 + .../Items/Components/Holdable/RepairTool.cs | 128 +- .../Source/Items/Components/ItemComponent.cs | 57 +- .../Source/Items/Components/ItemContainer.cs | 33 +- .../Components/Machines/Deconstructor.cs | 15 +- .../Items/Components/Machines/Engine.cs | 25 +- .../Items/Components/Machines/Fabricator.cs | 8 +- .../Items/Components/Machines/MiniMap.cs | 4 +- .../Components/Machines/OxygenGenerator.cs | 8 +- .../Source/Items/Components/Machines/Pump.cs | 8 +- .../Items/Components/Machines/Reactor.cs | 166 +- .../Source/Items/Components/Machines/Sonar.cs | 5 +- .../Components/Machines/SonarTransducer.cs | 4 +- .../Items/Components/Machines/Steering.cs | 110 +- .../Items/Components/Power/PowerContainer.cs | 101 +- .../Items/Components/Power/PowerTransfer.cs | 257 +- .../Source/Items/Components/Power/Powered.cs | 208 +- .../Source/Items/Components/Projectile.cs | 48 +- .../Items/Components/Signal/Connection.cs | 29 +- .../Components/Signal/FunctionComponent.cs | 57 + .../Items/Components/Signal/LightComponent.cs | 17 +- .../Components/Signal/ModuloComponent.cs | 41 + .../Items/Components/Signal/MotionSensor.cs | 19 + .../Items/Components/Signal/RelayComponent.cs | 95 +- .../Signal/TrigonometricFunctionComponent.cs | 108 + .../Items/Components/Signal/WifiComponent.cs | 4 +- .../Source/Items/Components/Signal/Wire.cs | 19 +- .../Source/Items/Components/Turret.cs | 56 +- .../Source/Items/Components/Wearable.cs | 139 +- .../Source/Items/Inventory.cs | 6 +- .../BarotraumaShared/Source/Items/Item.cs | 77 +- .../Source/Items/ItemPrefab.cs | 49 + .../Source/Items/RelatedItem.cs | 8 +- .../BarotraumaShared/Source/Map/Entity.cs | 8 + .../BarotraumaShared/Source/Map/Explosion.cs | 34 +- Barotrauma/BarotraumaShared/Source/Map/Gap.cs | 2 + .../BarotraumaShared/Source/Map/Hull.cs | 33 +- .../Source/Map/Levels/Ruins/BTRoom.cs | 20 +- .../Map/Levels/Ruins/RuinGenerationParams.cs | 8 +- .../Source/Map/Levels/Ruins/RuinGenerator.cs | 7 +- .../Source/Map/Map/Location.cs | 8 +- .../BarotraumaShared/Source/Map/MapEntity.cs | 12 +- .../BarotraumaShared/Source/Map/Md5Hash.cs | 1 + .../BarotraumaShared/Source/Map/Structure.cs | 10 +- .../BarotraumaShared/Source/Map/WayPoint.cs | 5 + .../Source/Networking/ChatMessage.cs | 9 +- .../Source/Networking/Client.cs | 2 + .../Source/Networking/EntitySpawner.cs | 65 +- .../Source/Networking/NetConfig.cs | 1 + .../Source/Networking/NetworkMember.cs | 7 +- .../NetworkConnection/LidgrenConnection.cs | 2 +- .../Source/Networking/ServerLog.cs | 6 +- .../Source/Networking/ServerSettings.cs | 47 +- .../Source/Physics/Physics.cs | 47 +- .../Source/Physics/PhysicsBody.cs | 4 +- .../Source/Screens/NetLobbyScreen.cs | 1 + .../Serialization/SerializableProperty.cs | 30 +- .../Source/Serialization/XMLExtensions.cs | 95 +- .../Source/Sprite/ConditionalSprite.cs | 24 +- .../Source/StatusEffects/DelayedEffect.cs | 10 +- .../StatusEffects/PropertyConditional.cs | 19 +- .../Source/StatusEffects/StatusEffect.cs | 134 +- .../Source/Utils/IPExtensions.cs | 20 + .../BarotraumaShared/Source/Utils/SaveUtil.cs | 47 +- .../BarotraumaShared/Source/Utils/ToolBox.cs | 1 + .../BarotraumaShared/Submarines/Bunyip.sub | Bin 262642 -> 262712 bytes .../BarotraumaShared/Submarines/Dugong.sub | Bin 354321 -> 354505 bytes .../BarotraumaShared/Submarines/Humpback.sub | Bin 193319 -> 193437 bytes .../BarotraumaShared/Submarines/Kastrull.sub | Bin 564874 -> 566127 bytes .../Submarines/KastrullDrone.sub | Bin 286533 -> 287190 bytes .../BarotraumaShared/Submarines/Orca.sub | Bin 199129 -> 199662 bytes .../BarotraumaShared/Submarines/Remora.sub | Bin 324192 -> 324337 bytes .../BarotraumaShared/Submarines/Selkie.sub | Bin 242897 -> 242992 bytes .../BarotraumaShared/Submarines/Typhon.sub | Bin 283150 -> 273880 bytes .../BarotraumaShared/Submarines/Venture.sub | Bin 340220 -> 340394 bytes Barotrauma/BarotraumaShared/changelog.txt | 205 +- Barotrauma/BarotraumaShared/config.xml | 12 +- .../Facepunch.Steamworks/Client/Friends.cs | 39 + .../Facepunch.Steamworks/Client/LobbyList.cs | 70 +- .../Facepunch.Steamworks/Client/ServerList.cs | 350 +++ .../Interfaces/Workshop.Query.cs | 11 +- .../DesktopGL/MonoGame.Framework.dll | Bin 1289728 -> 1295360 bytes .../DesktopGL/MonoGame.Framework.pdb | Bin 0 -> 325664 bytes .../Graphics/GraphicsDevice.DirectX.cs | 134 +- .../Graphics/Texture2D.DirectX.cs | 33 + .../Graphics/Texture2D.OpenGL.cs | 6 + .../Src/MonoGame.Framework/MessageBox.cs | 47 + .../MonoGame.Framework.Linux.csproj | 4 +- .../MonoGame.Framework.Windows.csproj | 1 + .../Src/MonoGame.Framework/SDL/SDL2.cs | 16 +- .../Windows/MonoGame.Framework.dll | Bin 853504 -> 856064 bytes .../Windows/MonoGame.Framework.pdb | Bin 2022912 -> 2027008 bytes 287 files changed, 12655 insertions(+), 5048 deletions(-) create mode 100644 Barotrauma/BarotraumaClient/Source/Sprite/ConditionalSprite.cs create mode 100644 Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalEntityTransformation.cs create mode 100644 Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalInjectTarget.cs create mode 100644 Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalKeepTransformedAlive.cs create mode 100644 Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalUnwiring.cs create mode 100644 Barotrauma/BarotraumaShared/Source/Items/Components/Signal/FunctionComponent.cs create mode 100644 Barotrauma/BarotraumaShared/Source/Items/Components/Signal/ModuloComponent.cs create mode 100644 Barotrauma/BarotraumaShared/Source/Items/Components/Signal/TrigonometricFunctionComponent.cs create mode 100644 Barotrauma/BarotraumaShared/Source/Utils/IPExtensions.cs create mode 100644 Libraries/MonoGame.Framework/DesktopGL/MonoGame.Framework.pdb create mode 100644 Libraries/MonoGame.Framework/Src/MonoGame.Framework/MessageBox.cs diff --git a/Barotrauma/BarotraumaClient/ClientCode.projitems b/Barotrauma/BarotraumaClient/ClientCode.projitems index 37b214100..8f73c6fd8 100644 --- a/Barotrauma/BarotraumaClient/ClientCode.projitems +++ b/Barotrauma/BarotraumaClient/ClientCode.projitems @@ -219,6 +219,7 @@ + diff --git a/Barotrauma/BarotraumaClient/ClientCode.shproj.user b/Barotrauma/BarotraumaClient/ClientCode.shproj.user index 0b0f24d53..966b4ffb6 100644 --- a/Barotrauma/BarotraumaClient/ClientCode.shproj.user +++ b/Barotrauma/BarotraumaClient/ClientCode.shproj.user @@ -1,5 +1,5 @@  - + true diff --git a/Barotrauma/BarotraumaClient/Properties/AssemblyInfo.cs b/Barotrauma/BarotraumaClient/Properties/AssemblyInfo.cs index c89a88b51..7e4c3bedf 100644 --- a/Barotrauma/BarotraumaClient/Properties/AssemblyInfo.cs +++ b/Barotrauma/BarotraumaClient/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.9.4.0")] -[assembly: AssemblyFileVersion("0.9.4.0")] +[assembly: AssemblyVersion("0.9.5.1")] +[assembly: AssemblyFileVersion("0.9.5.1")] diff --git a/Barotrauma/BarotraumaClient/Source/Characters/AI/EnemyAIController.cs b/Barotrauma/BarotraumaClient/Source/Characters/AI/EnemyAIController.cs index 4d6c90904..d190e07af 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/AI/EnemyAIController.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/AI/EnemyAIController.cs @@ -14,10 +14,27 @@ namespace Barotrauma Vector2 pos = Character.WorldPosition; pos.Y = -pos.Y; - if (SelectedAiTarget?.Entity != null) + if (State == AIState.Idle && PreviousState == AIState.Attack) { - GUI.DrawLine(spriteBatch, pos, new Vector2(SelectedAiTarget.WorldPosition.X, -SelectedAiTarget.WorldPosition.Y), Color.Red * 0.5f, 0, 4); - + var target = _selectedAiTarget ?? _lastAiTarget; + if (target != null) + { + var memory = GetTargetMemory(target); + Vector2 targetPos = memory.Location; + targetPos.Y = -targetPos.Y; + GUI.DrawLine(spriteBatch, pos, targetPos, Color.White * 0.5f, 0, 4); + GUI.DrawString(spriteBatch, pos - Vector2.UnitY * 60.0f, $"{target.Entity.ToString()} ({memory.Priority.FormatZeroDecimal()})", Color.White, Color.Black); + } + } + else if (SelectedAiTarget?.Entity != null) + { + Vector2 targetPos = SelectedAiTarget.WorldPosition; + if (State == AIState.Attack) + { + targetPos = attackWorldPos; + } + targetPos.Y = -targetPos.Y; + GUI.DrawLine(spriteBatch, pos, targetPos, Color.Red * 0.5f, 0, 4); if (wallTarget != null) { Vector2 wallTargetPos = wallTarget.Position; @@ -26,7 +43,8 @@ namespace Barotrauma 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); + GUI.DrawString(spriteBatch, pos - Vector2.UnitY * 60.0f, $"{SelectedAiTarget.Entity.ToString()} ({GetTargetMemory(SelectedAiTarget).Priority.FormatZeroDecimal()})", Color.Red, Color.Black); + GUI.DrawString(spriteBatch, pos - Vector2.UnitY * 40.0f, $"({targetValue.FormatZeroDecimal()})", Color.Red, Color.Black); } /*GUI.Font.DrawString(spriteBatch, targetValue.ToString(), pos - Vector2.UnitY * 80.0f, Color.Red); @@ -42,6 +60,9 @@ namespace Barotrauma case AIState.Escape: stateColor = Color.LightBlue; break; + case AIState.Flee: + stateColor = Color.White; + break; case AIState.Eat: stateColor = Color.Brown; break; @@ -59,8 +80,8 @@ namespace Barotrauma if (LatchOntoAI.WallAttachPos.HasValue) { - GUI.DrawLine(spriteBatch, pos, - ConvertUnits.ToDisplayUnits(new Vector2(LatchOntoAI.WallAttachPos.Value.X, -LatchOntoAI.WallAttachPos.Value.Y)), Color.Green, 0, 3); + //GUI.DrawLine(spriteBatch, pos, + // ConvertUnits.ToDisplayUnits(new Vector2(LatchOntoAI.WallAttachPos.Value.X, -LatchOntoAI.WallAttachPos.Value.Y)), Color.Green, 0, 3); } } @@ -93,6 +114,17 @@ namespace Barotrauma } } } + else + { + if (steeringManager.AvoidDir.LengthSquared() > 0.0001f) + { + Vector2 hitPos = ConvertUnits.ToDisplayUnits(steeringManager.AvoidRayCastHitPosition); + hitPos.Y = -hitPos.Y; + + GUI.DrawLine(spriteBatch, hitPos, hitPos + new Vector2(steeringManager.AvoidDir.X, -steeringManager.AvoidDir.Y) * 100, Color.Red, width: 5); + //GUI.DrawLine(spriteBatch, pos, ConvertUnits.ToDisplayUnits(steeringManager.AvoidLookAheadPos.X, -steeringManager.AvoidLookAheadPos.Y), Color.Orange, width: 4); + } + } GUI.DrawLine(spriteBatch, pos, pos + ConvertUnits.ToDisplayUnits(new Vector2(Character.AnimController.TargetMovement.X, -Character.AnimController.TargetMovement.Y)), Color.SteelBlue, width: 2); GUI.DrawLine(spriteBatch, pos, pos + ConvertUnits.ToDisplayUnits(new Vector2(Steering.X, -Steering.Y)), Color.Blue, width: 3); } diff --git a/Barotrauma/BarotraumaClient/Source/Characters/AI/HumanAIController.cs b/Barotrauma/BarotraumaClient/Source/Characters/AI/HumanAIController.cs index 613bf9d15..3e90775da 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/AI/HumanAIController.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/AI/HumanAIController.cs @@ -25,7 +25,7 @@ namespace Barotrauma { Vector2 pos = Character.WorldPosition; pos.Y = -pos.Y; - Vector2 textOffset = new Vector2(-40, -120); + Vector2 textOffset = new Vector2(-40, -160); if (SelectedAiTarget?.Entity != null) { @@ -33,26 +33,36 @@ namespace Barotrauma //GUI.DrawString(spriteBatch, pos + textOffset, $"AI TARGET: {SelectedAiTarget.Entity.ToString()}", Color.White, Color.Black); } + GUI.DrawString(spriteBatch, pos + textOffset, Character.Name, Color.White, Color.Black); + if (ObjectiveManager != null) { var currentOrder = ObjectiveManager.CurrentOrder; if (currentOrder != null) { - GUI.DrawString(spriteBatch, pos + textOffset, $"ORDER: {currentOrder.DebugTag} ({currentOrder.GetPriority().FormatZeroDecimal()})", Color.White, Color.Black); + GUI.DrawString(spriteBatch, pos + textOffset + new Vector2(0, 20), $"ORDER: {currentOrder.DebugTag} ({currentOrder.GetPriority().FormatZeroDecimal()})", Color.White, Color.Black); } else if (ObjectiveManager.WaitTimer > 0) { - GUI.DrawString(spriteBatch, pos + textOffset, $"Waiting... {ObjectiveManager.WaitTimer.FormatZeroDecimal()}", Color.White, Color.Black); + GUI.DrawString(spriteBatch, pos + new Vector2(0, 20), $"Waiting... {ObjectiveManager.WaitTimer.FormatZeroDecimal()}", Color.White, Color.Black); } var currentObjective = ObjectiveManager.CurrentObjective; if (currentObjective != null) { - GUI.DrawString(spriteBatch, pos + textOffset + new Vector2(0, 20), $"OBJECTIVE: {currentObjective.DebugTag} ({currentObjective.GetPriority().FormatZeroDecimal()})", Color.White, Color.Black); + if (currentOrder == null) + { + GUI.DrawString(spriteBatch, pos + textOffset + new Vector2(0, 20), $"MAIN OBJECTIVE: {currentObjective.DebugTag} ({currentObjective.GetPriority().FormatZeroDecimal()})", Color.White, Color.Black); + } var subObjective = currentObjective.SubObjectives.FirstOrDefault(); if (subObjective != null) { GUI.DrawString(spriteBatch, pos + textOffset + new Vector2(0, 40), $"SUBOBJECTIVE: {subObjective.DebugTag} ({subObjective.GetPriority().FormatZeroDecimal()})", Color.White, Color.Black); } + var activeObjective = ObjectiveManager.GetActiveObjective(); + if (activeObjective != null) + { + GUI.DrawString(spriteBatch, pos + textOffset + new Vector2(0, 60), $"ACTIVE OBJECTIVE: {activeObjective.DebugTag} ({activeObjective.GetPriority().FormatZeroDecimal()})", Color.White, Color.Black); + } } } @@ -81,7 +91,7 @@ namespace Barotrauma new Vector2(path.CurrentNode.DrawPosition.X, -path.CurrentNode.DrawPosition.Y), Color.BlueViolet, 0, 3); - GUI.DrawString(spriteBatch, pos + textOffset - new Vector2(0, 20), "Path cost: " + path.Cost.FormatZeroDecimal(), Color.White, Color.Black * 0.5f); + GUI.DrawString(spriteBatch, pos + textOffset + new Vector2(0, 80), "Path cost: " + path.Cost.FormatZeroDecimal(), Color.White, Color.Black * 0.5f); } } } diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Animation/Ragdoll.cs b/Barotrauma/BarotraumaClient/Source/Characters/Animation/Ragdoll.cs index c42fb71fb..ef4034a8b 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Animation/Ragdoll.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Animation/Ragdoll.cs @@ -24,7 +24,7 @@ namespace Barotrauma partial void UpdateNetPlayerPositionProjSpecific(float deltaTime, float lowestSubPos) { - if (character != GameMain.Client.Character || !character.AllowInput) + if (character != GameMain.Client.Character || !character.CanMove) { //remove states without a timestamp (there may still be ID-based states //in the list when the controlled character switches to timestamp-based interpolation) @@ -92,10 +92,10 @@ namespace Barotrauma Collider.AngularVelocity = newAngularVelocity; float distSqrd = Vector2.DistanceSquared(newPosition, Collider.SimPosition); - float errorTolerance = character.AllowInput ? 0.01f : 0.2f; + float errorTolerance = character.CanMove ? 0.01f : 0.2f; if (distSqrd > errorTolerance) { - if (distSqrd > 10.0f || !character.AllowInput) + if (distSqrd > 10.0f || !character.CanMove) { Collider.TargetRotation = newRotation; SetPosition(newPosition, lerp: distSqrd < 5.0f, ignorePlatforms: false); @@ -108,9 +108,9 @@ namespace Barotrauma } } - //unconscious/dead characters can't correct their position using AnimController movement + //immobilized characters can't correct their position using AnimController movement // -> we need to correct it manually - if (!character.AllowInput) + if (!character.CanMove) { float mainLimbDistSqrd = Vector2.DistanceSquared(MainLimb.PullJointWorldAnchorA, Collider.SimPosition); float mainLimbErrorTolerance = 0.1f; diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Character.cs b/Barotrauma/BarotraumaClient/Source/Characters/Character.cs index cf53dd16f..e855ea88c 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Character.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Character.cs @@ -343,7 +343,7 @@ namespace Barotrauma partial void OnAttackedProjSpecific(Character attacker, AttackResult attackResult) { - if (attackResult.Damage <= 1.0f) { return; } + if (attackResult.Damage <= 1.0f || IsDead) { return; } if (soundTimer < soundInterval * 0.5f) { PlaySound(CharacterSound.SoundType.Damage); @@ -524,6 +524,8 @@ namespace Barotrauma partial void UpdateProjSpecific(float deltaTime, Camera cam) { + if (!enabled) { return; } + if (!IsDead && !IsUnconscious) { if (soundTimer > 0) diff --git a/Barotrauma/BarotraumaClient/Source/Characters/CharacterInfo.cs b/Barotrauma/BarotraumaClient/Source/Characters/CharacterInfo.cs index 0e7a8ad34..49fc72c13 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/CharacterInfo.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/CharacterInfo.cs @@ -50,7 +50,7 @@ namespace Barotrauma Job.Name, textColor: Job.Prefab.UIColor, font: font); } - if (personalityTrait != null && TextManager.Language == "English") + if (personalityTrait != null) { new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), headerTextArea.RectTransform), TextManager.AddPunctuation(':', TextManager.Get("PersonalityTrait"), TextManager.Get("personalitytrait." + personalityTrait.Name.Replace(" ", ""))), font: font); @@ -125,7 +125,7 @@ namespace Barotrauma } } - partial void LoadAttachmentSprites() + partial void LoadAttachmentSprites(bool omitJob) { if (attachmentSprites == null) { @@ -139,7 +139,25 @@ namespace Barotrauma BeardElement?.Elements("sprite").ForEach(s => attachmentSprites.Add(new WearableSprite(s, WearableType.Beard))); MoustacheElement?.Elements("sprite").ForEach(s => attachmentSprites.Add(new WearableSprite(s, WearableType.Moustache))); HairElement?.Elements("sprite").ForEach(s => attachmentSprites.Add(new WearableSprite(s, WearableType.Hair))); - Job?.Prefab.ClothingElement?.Elements("sprite").ForEach(s => attachmentSprites.Add(new WearableSprite(s, WearableType.JobIndicator))); + if (omitJob) + { + JobPrefab.NoJobElement?.Element("PortraitClothing")?.Elements("sprite").ForEach(s => attachmentSprites.Add(new WearableSprite(s, WearableType.JobIndicator))); + } + else + { + Job?.Prefab.ClothingElement?.Elements("sprite").ForEach(s => attachmentSprites.Add(new WearableSprite(s, WearableType.JobIndicator))); + } + } + + // Doesn't work if the head's source rect does not start at 0,0. + public static Point CalculateOffset(Sprite sprite, Point offset) => sprite.SourceRect.Size * offset; + + public void CalculateHeadPosition(Sprite sprite) + { + if (sprite == null) { return; } + if (Head.SheetIndex == null) { return; } + Point location = CalculateOffset(sprite, Head.SheetIndex.Value.ToPoint()); + sprite.SourceRect = new Rectangle(location, sprite.SourceRect.Size); } public void DrawPortrait(SpriteBatch spriteBatch, Vector2 screenPos, float targetWidth) @@ -155,6 +173,10 @@ namespace Barotrauma // Scale down the head sprite 10% float scale = targetWidth * 0.9f / Portrait.size.X; Vector2 offset = Portrait.size * backgroundScale / 4; + if (Head.SheetIndex.HasValue) + { + Portrait.SourceRect = new Rectangle(CalculateOffset(Portrait, Head.SheetIndex.Value.ToPoint()), Portrait.SourceRect.Size); + } Portrait.Draw(spriteBatch, screenPos + offset, scale: scale, spriteEffect: SpriteEffects.FlipHorizontally); if (AttachmentSprites != null) { @@ -170,16 +192,21 @@ namespace Barotrauma public void DrawIcon(SpriteBatch spriteBatch, Vector2 screenPos, Vector2 targetAreaSize) { - if (HeadSprite != null) + var headSprite = HeadSprite; + if (headSprite != null) { - float scale = Math.Min(targetAreaSize.X / HeadSprite.size.X, targetAreaSize.Y / HeadSprite.size.Y); - HeadSprite.Draw(spriteBatch, screenPos, scale: scale); + float scale = Math.Min(targetAreaSize.X / headSprite.size.X, targetAreaSize.Y / headSprite.size.Y); + if (Head.SheetIndex.HasValue) + { + headSprite.SourceRect = new Rectangle(CalculateOffset(headSprite, Head.SheetIndex.Value.ToPoint()), headSprite.SourceRect.Size); + } + headSprite.Draw(spriteBatch, screenPos, scale: scale); if (AttachmentSprites != null) { float depthStep = 0.000001f; foreach (var attachment in AttachmentSprites) { - DrawAttachmentSprite(spriteBatch, attachment, HeadSprite, screenPos, scale, depthStep); + DrawAttachmentSprite(spriteBatch, attachment, headSprite, screenPos, scale, depthStep); depthStep += depthStep; } } @@ -188,13 +215,15 @@ namespace Barotrauma private void DrawAttachmentSprite(SpriteBatch spriteBatch, WearableSprite attachment, Sprite head, Vector2 drawPos, float scale, float depthStep, SpriteEffects spriteEffects = SpriteEffects.None) { - var list = AttachmentSprites.ToList(); if (attachment.InheritSourceRect) { if (attachment.SheetIndex.HasValue) { - Point location = (head.SourceRect.Location + head.SourceRect.Size) * attachment.SheetIndex.Value; - attachment.Sprite.SourceRect = new Rectangle(location, head.SourceRect.Size); + attachment.Sprite.SourceRect = new Rectangle(CalculateOffset(head, attachment.SheetIndex.Value), head.SourceRect.Size); + } + else if (Head.SheetIndex.HasValue) + { + attachment.Sprite.SourceRect = new Rectangle(CalculateOffset(head, Head.SheetIndex.Value.ToPoint()), head.SourceRect.Size); } else { @@ -219,7 +248,6 @@ namespace Barotrauma attachment.Sprite.Draw(spriteBatch, drawPos, Color.White, origin, rotate: 0, scale: scale, depth: depth, spriteEffect: spriteEffects); } - public static CharacterInfo ClientRead(string speciesName, IReadMessage inc) { ushort infoID = inc.ReadUInt16(); @@ -234,6 +262,8 @@ namespace Barotrauma string ragdollFile = inc.ReadString(); string jobIdentifier = inc.ReadString(); + int variant = inc.ReadByte(); + JobPrefab jobPrefab = null; Dictionary skillLevels = new Dictionary(); if (!string.IsNullOrEmpty(jobIdentifier)) @@ -249,7 +279,7 @@ namespace Barotrauma } // TODO: animations - CharacterInfo ch = new CharacterInfo(speciesName, newName, jobPrefab, ragdollFile) + CharacterInfo ch = new CharacterInfo(speciesName, newName, jobPrefab, ragdollFile, variant) { ID = infoID, }; diff --git a/Barotrauma/BarotraumaClient/Source/Characters/CharacterNetworking.cs b/Barotrauma/BarotraumaClient/Source/Characters/CharacterNetworking.cs index f0e3a3aff..c8957a3b2 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/CharacterNetworking.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/CharacterNetworking.cs @@ -249,7 +249,7 @@ namespace Barotrauma msg.ReadPadBits(); int index = 0; - if (GameMain.Client.Character == this && AllowInput) + if (GameMain.Client.Character == this && CanMove) { var posInfo = new CharacterStateInfo( pos, rotation, @@ -309,7 +309,7 @@ namespace Barotrauma LastNetworkUpdateID = controlled.LastNetworkUpdateID; } - Controlled = this; + if (!IsDead) { Controlled = this; } IsRemotePlayer = false; GameMain.Client.HasSpawned = true; GameMain.Client.Character = this; @@ -342,7 +342,7 @@ namespace Barotrauma } } - public static Character ReadSpawnData(IReadMessage inc, bool spawn = true) + public static Character ReadSpawnData(IReadMessage inc) { DebugConsole.Log("Reading character spawn data"); @@ -362,10 +362,9 @@ namespace Barotrauma Character character = null; if (noInfo) { - if (!spawn) return null; - character = Create(speciesName, position, seed, null, true); character.ID = id; + character.ReadStatus(inc); } else { @@ -375,15 +374,14 @@ namespace Barotrauma bool hasAi = inc.ReadBoolean(); string infoSpeciesName = inc.ReadString(); - if (!spawn) return null; - CharacterInfo info = CharacterInfo.ClientRead(infoSpeciesName, inc); - character = Create(infoSpeciesName, position, seed, info, GameMain.Client.ID != ownerId, hasAi); + character = Create(speciesName, position, seed, info, GameMain.Client.ID != ownerId, hasAi); character.ID = id; character.TeamID = (TeamType)teamID; + character.ReadStatus(inc); - if (character.IsHuman && character.TeamID != TeamType.FriendlyNPC) + if (character.IsHuman && character.TeamID != TeamType.FriendlyNPC && !character.IsDead) { CharacterInfo duplicateCharacterInfo = GameMain.GameSession.CrewManager.GetCharacterInfos().FirstOrDefault(c => c.ID == info.ID); GameMain.GameSession.CrewManager.RemoveCharacterInfo(duplicateCharacterInfo); @@ -394,7 +392,7 @@ namespace Barotrauma { GameMain.Client.HasSpawned = true; GameMain.Client.Character = character; - Controlled = character; + if (!character.IsDead) { Controlled = character; } GameMain.LightManager.LosEnabled = true; diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs b/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs index 2789f2703..4c98b4691 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs @@ -13,7 +13,7 @@ namespace Barotrauma { private static bool toggledThisFrame; - private static Sprite damageOverlay; + public static Sprite DamageOverlay; private static string[] strengthTexts; @@ -153,12 +153,7 @@ namespace Barotrauma get { return healthBarPulsateTimer; } set { healthBarPulsateTimer = MathHelper.Clamp(value, 0.0f, 10.0f); } } - - static CharacterHealth() - { - damageOverlay = new Sprite("Content/UI/damageOverlay.png", Vector2.Zero); - } - + partial void InitProjSpecific(XElement element, Character character) { DisplayedVitality = MaxVitality; @@ -837,8 +832,8 @@ namespace Barotrauma if (damageOverlayAlpha > 0.0f) { - damageOverlay.Draw(spriteBatch, Vector2.Zero, Color.White * damageOverlayAlpha, Vector2.Zero, 0.0f, - new Vector2(GameMain.GraphicsWidth / damageOverlay.size.X, GameMain.GraphicsHeight / damageOverlay.size.Y)); + DamageOverlay?.Draw(spriteBatch, Vector2.Zero, Color.White * damageOverlayAlpha, Vector2.Zero, 0.0f, + new Vector2(GameMain.GraphicsWidth / DamageOverlay.size.X, GameMain.GraphicsHeight / DamageOverlay.size.Y)); } if (Character.Inventory != null) @@ -997,30 +992,7 @@ namespace Barotrauma //key = item identifier //float = suitability Dictionary treatmentSuitability = new Dictionary(); - float minSuitability = -10, maxSuitability = 10; - foreach (Affliction affliction in afflictions) - { - foreach (KeyValuePair treatment in affliction.Prefab.TreatmentSuitability) - { - if (!treatmentSuitability.ContainsKey(treatment.Key)) - { - treatmentSuitability[treatment.Key] = treatment.Value * affliction.Strength; - } - else - { - treatmentSuitability[treatment.Key] += treatment.Value * affliction.Strength; - } - minSuitability = Math.Min(treatmentSuitability[treatment.Key], minSuitability); - maxSuitability = Math.Max(treatmentSuitability[treatment.Key], maxSuitability); - } - } - //normalize the suitabilities to a range of 0 to 1 - foreach (string treatment in treatmentSuitability.Keys.ToList()) - { - treatmentSuitability[treatment] = (treatmentSuitability[treatment] - minSuitability) / (maxSuitability - minSuitability); - //lerp towards a random value if the medical skill is low - treatmentSuitability[treatment] = MathHelper.Lerp(treatmentSuitability[treatment], Rand.Range(0.0f, 1.0f), randomVariance); - } + GetSuitableTreatments(treatmentSuitability, normalize: true, randomization: randomVariance); foreach (Affliction affliction in afflictions) { diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Health/DamageModifier.cs b/Barotrauma/BarotraumaClient/Source/Characters/Health/DamageModifier.cs index 316872df3..c9258a8a0 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Health/DamageModifier.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Health/DamageModifier.cs @@ -2,7 +2,7 @@ { partial class DamageModifier { - [Serialize("", false)] + [Serialize("", false), Editable] public string DamageSound { get; diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Limb.cs b/Barotrauma/BarotraumaClient/Source/Characters/Limb.cs index 1b0f04fa5..36cbc1b1e 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Limb.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Limb.cs @@ -119,7 +119,24 @@ namespace Barotrauma public List Deformations { get; private set; } = new List(); public Sprite Sprite { get; protected set; } - public DeformableSprite DeformSprite { get; protected set; } + + protected DeformableSprite _deformSprite; + + public DeformableSprite DeformSprite + { + get + { + var conditionalSprite = ConditionalSprites.FirstOrDefault(c => c.IsActive && c.DeformableSprite != null); + if (conditionalSprite != null) + { + return conditionalSprite.DeformableSprite; + } + else + { + return _deformSprite; + } + } + } public List DecorativeSprites { get; private set; } = new List(); @@ -127,15 +144,14 @@ namespace Barotrauma { get { - // TODO: should we optimize this? No need to check all the conditionals each time the property is accessed. - var conditionalSprite = ConditionalSprites.FirstOrDefault(c => c.IsActive); + var conditionalSprite = ConditionalSprites.FirstOrDefault(c => c.IsActive && c.ActiveSprite != null); if (conditionalSprite != null) { - return conditionalSprite; + return conditionalSprite.ActiveSprite; } else { - return DeformSprite != null ? DeformSprite.Sprite : Sprite; + return _deformSprite != null ? _deformSprite.Sprite : Sprite; } } } @@ -215,40 +231,53 @@ namespace Barotrauma DamagedSprite = new Sprite(subElement, file: GetSpritePath(subElement, Params.damagedSpriteParams)); break; case "conditionalsprite": - ConditionalSprites.Add(new ConditionalSprite(subElement, character, file: GetSpritePath(subElement, null))); + var conditionalSprite = new ConditionalSprite(subElement, character, file: GetSpritePath(subElement, null)); + ConditionalSprites.Add(conditionalSprite); + if (conditionalSprite.DeformableSprite != null) + { + CreateDeformations(subElement.GetChildElement("deformablesprite")); + } break; case "deformablesprite": - DeformSprite = new DeformableSprite(subElement, filePath: GetSpritePath(subElement, Params.deformSpriteParams)); - foreach (XElement animationElement in subElement.Elements()) - { - int sync = animationElement.GetAttributeInt("sync", -1); - SpriteDeformation deformation = null; - if (sync > -1) - { - // if the element is marked with the sync attribute, use a deformation of the same type with the same sync value, if there is one already. - string typeName = animationElement.GetAttributeString("type", "").ToLowerInvariant(); - deformation = ragdoll.Limbs - .Where(l => l != null) - .SelectMany(l => l.Deformations) - .Where(d => d.TypeName == typeName && d.Sync == sync) - .FirstOrDefault(); - } - if (deformation == null) - { - deformation = SpriteDeformation.Load(animationElement, character.SpeciesName); - if (deformation != null) - { - ragdoll.SpriteDeformations.Add(deformation); - } - } - if (deformation != null) Deformations.Add(deformation); - } + _deformSprite = new DeformableSprite(subElement, filePath: GetSpritePath(subElement, Params.deformSpriteParams)); + CreateDeformations(subElement); break; case "lightsource": LightSource = new LightSource(subElement); InitialLightSourceColor = LightSource.Color; break; } + + void CreateDeformations(XElement e) + { + foreach (XElement animationElement in e.GetChildElements("spritedeformation")) + { + int sync = animationElement.GetAttributeInt("sync", -1); + SpriteDeformation deformation = null; + if (sync > -1) + { + // if the element is marked with the sync attribute, use a deformation of the same type with the same sync value, if there is one already. + string typeName = animationElement.GetAttributeString("type", "").ToLowerInvariant(); + deformation = ragdoll.Limbs + .Where(l => l != null) + .SelectMany(l => l.Deformations) + .Where(d => d.TypeName == typeName && d.Sync == sync) + .FirstOrDefault(); + } + if (deformation == null) + { + deformation = SpriteDeformation.Load(animationElement, character.SpeciesName); + if (deformation != null) + { + ragdoll.SpriteDeformations.Add(deformation); + } + } + if (deformation != null) + { + Deformations.Add(deformation); + } + } + } } } @@ -260,11 +289,11 @@ namespace Barotrauma var source = Sprite.SourceElement; Sprite = new Sprite(source, file: GetSpritePath(source, Params.normalSpriteParams)); } - if (DeformSprite != null) + if (_deformSprite != null) { - DeformSprite.Remove(); - var source = DeformSprite.Sprite.SourceElement; - DeformSprite = new DeformableSprite(source, filePath: GetSpritePath(source, Params.deformSpriteParams)); + _deformSprite.Remove(); + var source = _deformSprite.Sprite.SourceElement; + _deformSprite = new DeformableSprite(source, filePath: GetSpritePath(source, Params.deformSpriteParams)); } if (DamagedSprite != null) { @@ -275,9 +304,8 @@ namespace Barotrauma for (int i = 0; i < ConditionalSprites.Count; i++) { var conditionalSprite = ConditionalSprites[i]; + var source = conditionalSprite.ActiveSprite.SourceElement; conditionalSprite.Remove(); - var source = conditionalSprite.SourceElement; - // TODO: lazy load? ConditionalSprites[i] = new ConditionalSprite(source, character, file: GetSpritePath(source, null)); } for (int i = 0; i < DecorativeSprites.Count; i++) @@ -289,6 +317,12 @@ namespace Barotrauma } } + private void CalculateHeadPosition(Sprite sprite) + { + if (type != LimbType.Head) { return; } + character.Info?.CalculateHeadPosition(sprite); + } + private string GetSpritePath(XElement element, SpriteParams spriteParams) { string texturePath = element.GetAttributeString("texture", null); @@ -330,7 +364,7 @@ namespace Barotrauma bool isFlipped = dir == Direction.Left; Sprite?.LoadParams(Params.normalSpriteParams, isFlipped); DamagedSprite?.LoadParams(Params.damagedSpriteParams, isFlipped); - DeformSprite?.Sprite.LoadParams(Params.deformSpriteParams, isFlipped); + _deformSprite?.Sprite.LoadParams(Params.deformSpriteParams, isFlipped); for (int i = 0; i < DecorativeSprites.Count; i++) { DecorativeSprites[i].Sprite?.LoadParams(Params.decorativeSpriteParams[i], isFlipped); @@ -461,24 +495,31 @@ namespace Barotrauma enableHuskSprite && HuskSprite != null && HuskSprite.HideLimb || OtherWearables.Any(w => w.HideLimb) || wearingItems.Any(w => w != null && w.HideLimb); + + var activeSprite = ActiveSprite; + if (type == LimbType.Head) + { + CalculateHeadPosition(activeSprite); + } + // TODO: there's now two calls to this, because body.Draw() method calls this too -> is this an issue? body.UpdateDrawPosition(); if (!hideLimb) { - var activeSprite = ActiveSprite; - if (DeformSprite != null && activeSprite == DeformSprite.Sprite) + var deformSprite = DeformSprite; + if (deformSprite != null) { if (Deformations != null && Deformations.Any()) { - var deformation = SpriteDeformation.GetDeformation(Deformations, DeformSprite.Size); - DeformSprite.Deform(deformation); + var deformation = SpriteDeformation.GetDeformation(Deformations, deformSprite.Size); + deformSprite.Deform(deformation); } else { - DeformSprite.Reset(); + deformSprite.Reset(); } - body.Draw(DeformSprite, cam, Vector2.One * Scale * TextureScale, color, Params.MirrorHorizontally); + body.Draw(deformSprite, cam, Vector2.One * Scale * TextureScale, color, Params.MirrorHorizontally); } else { @@ -489,15 +530,16 @@ namespace Barotrauma if (LightSource != null) { LightSource.Position = body.DrawPosition; + if (LightSource.ParentSub != null) { LightSource.Position -= LightSource.ParentSub.DrawPosition; } LightSource.LightSpriteEffect = (dir == Direction.Right) ? SpriteEffects.None : SpriteEffects.FlipVertically; } if (damageOverlayStrength > 0.0f && DamagedSprite != null && !hideLimb) { DamagedSprite.Draw(spriteBatch, new Vector2(body.DrawPosition.X, -body.DrawPosition.Y), - color * Math.Min(damageOverlayStrength, 1.0f), ActiveSprite.Origin, + color * Math.Min(damageOverlayStrength, 1.0f), activeSprite.Origin, -body.DrawRotation, - Scale, spriteEffect, ActiveSprite.Depth - 0.0000015f); + Scale, spriteEffect, activeSprite.Depth - 0.0000015f); } foreach (var decorativeSprite in DecorativeSprites) { @@ -636,48 +678,58 @@ namespace Barotrauma { foreach (var modifier in damageModifiers) { - float rotation = -body.TransformedRotation + GetArmorSectorRotationOffset(modifier.ArmorSectorInRadians) * Dir; - Vector2 forward = VectorExtensions.Forward(rotation); + //Vector2 up = VectorExtensions.Backward(-body.TransformedRotation + Params.GetSpriteOrientation() * Dir); + //int width = 4; + //if (!isScreenSpace) + //{ + // width = (int)Math.Round(width / cam.Zoom); + //} + //GUI.DrawLine(spriteBatch, startPos, startPos + Vector2.Normalize(up) * size, Color.Red, width: width); + Color color = modifier.DamageMultiplier > 1 ? Color.Red : Color.GreenYellow; float size = ConvertUnits.ToDisplayUnits(body.GetSize().Length() / 2); if (isScreenSpace) { size *= cam.Zoom; } - Color color = modifier.DamageMultiplier > 1 ? Color.Red : Color.GreenYellow; - int width = 4; - if (!isScreenSpace) - { - width = (int)Math.Round(width / cam.Zoom); - } - GUI.DrawLine(spriteBatch, startPos, startPos + Vector2.Normalize(forward) * size, color, width: width); int thickness = 2; if (!isScreenSpace) { thickness = (int)Math.Round(thickness / cam.Zoom); } - ShapeExtensions.DrawSector(spriteBatch, startPos, size, GetArmorSectorSize(modifier.ArmorSectorInRadians) * Dir, 40, color, rotation + MathHelper.Pi, thickness); + float bodyRotation = -body.Rotation; + float constantOffset = -MathHelper.PiOver2; + Vector2 armorSector = modifier.ArmorSectorInRadians; + float armorSectorSize = Math.Abs(armorSector.X - armorSector.Y); + float radians = armorSectorSize * Dir; + float armorSectorOffset = armorSector.X * Dir; + float finalOffset = bodyRotation + constantOffset + armorSectorOffset; + ShapeExtensions.DrawSector(spriteBatch, startPos, size, radians, 40, color, finalOffset, thickness); } } private void DrawWearable(WearableSprite wearable, float depthStep, SpriteBatch spriteBatch, Color color, SpriteEffects spriteEffect) { + var sprite = ActiveSprite; if (wearable.InheritSourceRect) { if (wearable.SheetIndex.HasValue) { - Point location = (ActiveSprite.SourceRect.Location + ActiveSprite.SourceRect.Size) * wearable.SheetIndex.Value; - wearable.Sprite.SourceRect = new Rectangle(location, ActiveSprite.SourceRect.Size); + wearable.Sprite.SourceRect = new Rectangle(CharacterInfo.CalculateOffset(sprite, wearable.SheetIndex.Value), sprite.SourceRect.Size); + } + else if (type == LimbType.Head && character.Info != null && character.Info.Head.SheetIndex.HasValue) + { + wearable.Sprite.SourceRect = new Rectangle(CharacterInfo.CalculateOffset(sprite, character.Info.Head.SheetIndex.Value.ToPoint()), sprite.SourceRect.Size); } else { - wearable.Sprite.SourceRect = ActiveSprite.SourceRect; + wearable.Sprite.SourceRect = sprite.SourceRect; } } Vector2 origin = wearable.Sprite.Origin; if (wearable.InheritOrigin) { - origin = ActiveSprite.Origin; + origin = sprite.Origin; wearable.Sprite.Origin = origin; } else @@ -694,7 +746,7 @@ namespace Barotrauma if (wearable.InheritLimbDepth) { - depth = ActiveSprite.Depth - depthStep; + depth = sprite.Depth - depthStep; Limb depthLimb = (wearable.DepthLimb == LimbType.None) ? this : character.AnimController.GetLimb(wearable.DepthLimb); if (depthLimb != null) { @@ -728,11 +780,11 @@ namespace Barotrauma XElement element; if (random) { - element = info.FilterByTypeAndHeadID(character.Info.FilterElementsByGenderAndRace(character.Info.Wearables), type)?.FirstOrDefault(); + element = info.FilterByTypeAndHeadID(character.Info.FilterElementsByGenderAndRace(character.Info.Wearables), type)?.GetRandom(Rand.RandSync.ClientOnly); } else { - element = info.FilterByTypeAndHeadID(character.Info.FilterElementsByGenderAndRace(character.Info.Wearables), type)?.GetRandom(Rand.RandSync.ClientOnly); + element = info.FilterByTypeAndHeadID(character.Info.FilterElementsByGenderAndRace(character.Info.Wearables), type)?.FirstOrDefault(); } if (element != null) { @@ -749,8 +801,8 @@ namespace Barotrauma DamagedSprite?.Remove(); DamagedSprite = null; - DeformSprite?.Sprite?.Remove(); - DeformSprite = null; + _deformSprite?.Sprite?.Remove(); + _deformSprite = null; DecorativeSprites.ForEach(s => s.Remove()); ConditionalSprites.Clear(); diff --git a/Barotrauma/BarotraumaClient/Source/DebugConsole.cs b/Barotrauma/BarotraumaClient/Source/DebugConsole.cs index 81c38ada9..4acb4a66a 100644 --- a/Barotrauma/BarotraumaClient/Source/DebugConsole.cs +++ b/Barotrauma/BarotraumaClient/Source/DebugConsole.cs @@ -10,6 +10,7 @@ using System.Linq; using System.Text; using System.Xml.Linq; using System.Globalization; +using Barotrauma.Extensions; namespace Barotrauma { @@ -56,6 +57,7 @@ namespace Barotrauma private static GUIFrame frame; private static GUIListBox listBox; private static GUITextBox textBox; + private const int maxLength = 1000; public static GUITextBox TextBox => textBox; @@ -92,6 +94,7 @@ namespace Barotrauma { IsFixedSize = false }); + textBox.MaxTextLength = maxLength; textBox.OnKeyHit += (sender, key) => { if (key != Keys.Tab) @@ -109,7 +112,7 @@ namespace Barotrauma } } - public static void Update(GameMain game, float deltaTime) + public static void Update(float deltaTime) { lock (queuedMessages) { @@ -162,6 +165,16 @@ namespace Barotrauma textBox.Text = AutoComplete(textBox.Text, increment: string.IsNullOrEmpty(currentAutoCompletedCommand) ? 0 : 1 ); } + if (PlayerInput.KeyDown(Keys.LeftControl) || PlayerInput.KeyDown(Keys.RightControl)) + { + if ((PlayerInput.KeyDown(Keys.C) || PlayerInput.KeyDown(Keys.D) || PlayerInput.KeyDown(Keys.Z)) && activeQuestionCallback != null) + { + activeQuestionCallback = null; + activeQuestionText = null; + NewMessage(PlayerInput.KeyDown(Keys.C) ? "^C" : PlayerInput.KeyDown(Keys.D) ? "^D" : "^Z", Color.White, true); + } + } + if (PlayerInput.KeyHit(Keys.Enter)) { ExecuteCommand(textBox.Text); @@ -185,41 +198,6 @@ namespace Barotrauma } } - public static void Draw(SpriteBatch spriteBatch) - { - if (!isOpen) return; - - frame.DrawManually(spriteBatch); - } - - private static bool IsCommandPermitted(string command, GameClient client) - { - switch (command) - { - case "kick": - return client.HasPermission(ClientPermissions.Kick); - case "ban": - case "banip": - case "banendpoint": - return client.HasPermission(ClientPermissions.Ban); - case "unban": - case "unbanip": - return client.HasPermission(ClientPermissions.Unban); - case "netstats": - case "help": - case "dumpids": - case "admin": - case "entitylist": - case "togglehud": - case "toggleupperhud": - case "togglecharacternames": - case "fpscounter": - return true; - default: - return client.HasConsoleCommandPermission(command); - } - } - public static void DequeueMessages() { while (queuedMessages.Count > 0) @@ -294,7 +272,7 @@ namespace Barotrauma }; textContainer.RectTransform.NonScaledSize = new Point(textContainer.RectTransform.NonScaledSize.X, textBlock.RectTransform.NonScaledSize.Y + 5); textBlock.SetTextPos(); - var nameBlock = new GUITextBlock(new RectTransform(new Point(150, textContainer.Rect.Height), textContainer.RectTransform), + new GUITextBlock(new RectTransform(new Point(150, textContainer.Rect.Height), textContainer.RectTransform), command.names[0], textAlignment: Alignment.TopLeft); listBox.UpdateScrollBarSize(); @@ -509,14 +487,22 @@ namespace Barotrauma AssignOnExecute("los", (string[] args) => { - GameMain.LightManager.LosEnabled = !GameMain.LightManager.LosEnabled; + if (args.None() || !bool.TryParse(args[0], out bool state)) + { + state = !GameMain.LightManager.LosEnabled; + } + GameMain.LightManager.LosEnabled = state; NewMessage("Line of sight effect " + (GameMain.LightManager.LosEnabled ? "enabled" : "disabled"), Color.White); }); AssignRelayToServer("los", false); AssignOnExecute("lighting|lights", (string[] args) => { - GameMain.LightManager.LightingEnabled = !GameMain.LightManager.LightingEnabled; + if (args.None() || !bool.TryParse(args[0], out bool state)) + { + state = !GameMain.LightManager.LightingEnabled; + } + GameMain.LightManager.LightingEnabled = state; NewMessage("Lighting " + (GameMain.LightManager.LightingEnabled ? "enabled" : "disabled"), Color.White); }); AssignRelayToServer("lighting|lights", false); @@ -635,10 +621,61 @@ namespace Barotrauma } })); + commands.Add(new Command("resetentitiesbyidentifier", "resetentitiesbyidentifier [tag/identifier]: Reset items and structures with the given tag/identifier to prefabs. Only applicable in the subeditor.", args => + { + if (args.Length == 0) { return; } + if (Screen.Selected == GameMain.SubEditorScreen) + { + bool entityFound = false; + foreach (MapEntity entity in MapEntity.mapEntityList) + { + if (entity is Item item) + { + if (item.prefab.Identifier != args[0] && !item.Tags.Contains(args[0])) { continue; } + item.Reset(); + if (MapEntity.SelectedList.Contains(item)) { item.CreateEditingHUD(); } + entityFound = true; + } + else if (entity is Structure structure) + { + if (structure.prefab.Identifier != args[0] && !structure.Tags.Contains(args[0])) { continue; } + structure.Reset(); + if (MapEntity.SelectedList.Contains(structure)) { structure.CreateEditingHUD(); } + entityFound = true; + } + else + { + continue; + } + NewMessage($"Reset {entity.Name}."); + } + if (!entityFound) + { + if (MapEntity.SelectedList.Count == 0) + { + NewMessage("No entities selected."); + return; + } + } + } + }, () => + { + return new string[][] + { + MapEntityPrefab.List.Select(me => me.Identifier).ToArray() + }; + })); + commands.Add(new Command("resetselected", "Reset selected items and structures to prefabs. Only applicable in the subeditor.", args => { if (Screen.Selected == GameMain.SubEditorScreen) { + if (MapEntity.SelectedList.Count == 0) + { + NewMessage("No entities selected."); + return; + } + foreach (MapEntity entity in MapEntity.SelectedList) { if (entity is Item item) @@ -649,6 +686,11 @@ namespace Barotrauma { structure.Reset(); } + else + { + continue; + } + NewMessage($"Reset {entity.Name}."); } foreach (MapEntity entity in MapEntity.SelectedList) { @@ -787,7 +829,11 @@ namespace Barotrauma AssignOnExecute("debugdraw", (string[] args) => { - GameMain.DebugDraw = !GameMain.DebugDraw; + if (args.None() || !bool.TryParse(args[0], out bool state)) + { + state = !GameMain.DebugDraw; + } + GameMain.DebugDraw = state; NewMessage("Debug draw mode " + (GameMain.DebugDraw ? "enabled" : "disabled"), Color.White); }); AssignRelayToServer("debugdraw", false); @@ -1012,22 +1058,38 @@ namespace Barotrauma commands.Add(new Command("checkmissingloca", "", (string[] args) => { - foreach (MapEntityPrefab me in MapEntityPrefab.List) + //key = text tag, value = list of languages the tag is missing from + Dictionary> missingTags = new Dictionary>(); + Dictionary> tags = new Dictionary>(); + foreach (string language in TextManager.AvailableLanguages) { - string name = TextManager.Get("entityname." + me.Identifier, returnNull: true); - if (!string.IsNullOrEmpty(name)) { continue; } + TextManager.Language = language; + tags.Add(language, new HashSet(TextManager.GetAllTagTextPairs().Select(t => t.Key))); + } - if (me is ItemPrefab itemPrefab) + foreach (string englishTag in tags["English"]) + { + if (englishTag == "entitydescription.reinforceddoor") { - string nameIdentifier = itemPrefab.ConfigElement?.GetAttributeString("nameidentifier", ""); - if (nameIdentifier != null) + int asdfsdf = 1; + } + foreach (string language in TextManager.AvailableLanguages) + { + if (language == "English") { continue; } + if (!tags[language].Contains(englishTag)) { - name = TextManager.Get("entityname." + nameIdentifier, returnNull: true); - if (!string.IsNullOrEmpty(name)) { continue; } + if (!missingTags.ContainsKey(englishTag)) + { + missingTags[englishTag] = new List(); + } + missingTags[englishTag].Add(language); } } - NewMessage("Entity name not translated (" + me.Name + ", " + me.Identifier + ")!", me is ItemPrefab ? Color.Red : Color.Yellow); } + string filePath = "missingloca.txt"; + File.WriteAllLines(filePath, missingTags.Select(t => "\""+t.Key + "\"\n missing from " + string.Join(", ", t.Value))); + System.Diagnostics.Process.Start(Path.GetFullPath(filePath)); + TextManager.Language = "English"; })); commands.Add(new Command("spamchatmessages", "", (string[] args) => @@ -1107,21 +1169,32 @@ namespace Barotrauma { if (!structure.ResizeHorizontal) { - structure.Rect = new Rectangle(structure.Rect.X, structure.Rect.Y, + structure.Rect = structure.DefaultRect = 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 = structure.DefaultRect = new Rectangle(structure.Rect.X, structure.Rect.Y, structure.Rect.Width, (int)structure.Prefab.ScaledSize.Y); } + } } } } }, isCheat: false)); + + commands.Add(new Command("flip", "Flip the currently controlled character.", (string[] args) => + { + Character.Controlled?.AnimController.Flip(); + }, isCheat: false)); + commands.Add(new Command("mirror", "Mirror the currently controlled character.", (string[] args) => + { + (Character.Controlled?.AnimController as FishAnimController)?.Mirror(lerp: false); + }, isCheat: false)); + #endif commands.Add(new Command("dumptexts", "dumptexts [filepath]: Extracts all the texts from the given text xml and writes them into a file (using the same filename, but with the .txt extension). If the filepath is omitted, the EnglishVanilla.xml file is used.", (string[] args) => @@ -1237,21 +1310,53 @@ namespace Barotrauma { Dictionary typeNames = new Dictionary { - { "Single", "float"}, - { "Int32", "integer"}, - { "Boolean", "true/false"}, - { "String", "text"}, + { "Single", "Float"}, + { "Int32", "Integer"}, + { "Boolean", "True/False"}, + { "String", "Text"}, }; - var itemComponentTypes = typeof(ItemComponent).Assembly.GetTypes().Where(type => type.IsSubclassOf(typeof(ItemComponent))); + var itemComponentTypes = typeof(ItemComponent).Assembly.GetTypes().Where(type => type.IsSubclassOf(typeof(ItemComponent))).ToList(); + itemComponentTypes.Sort((i1, i2) => { return i1.Name.CompareTo(i2.Name); }); + + itemComponentTypes.Insert(0, typeof(ItemComponent)); + string filePath = args.Length > 0 ? args[0] : "ItemComponentDocumentation.txt"; List lines = new List(); foreach (Type t in itemComponentTypes) { - lines.Add($"[b]{t.Name}[/b]"); + + lines.Add($"[h1]{t.Name}[/h1]"); lines.Add(""); - var properties = t.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly);//.Cast(); + var properties = t.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly).ToList();//.Cast(); + Type baseType = t.BaseType; + while (baseType != null && baseType != typeof(ItemComponent)) + { + properties.AddRange(baseType.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly)); + baseType = baseType.BaseType; + } + + if (!properties.Any(p => p.GetCustomAttributes(true).Any(a => a is Serialize))) + { + lines.Add("No editable properties."); + lines.Add(""); + continue; + } + + lines.Add("[table]"); + lines.Add(" [tr]"); + + lines.Add(" [th]Name[/th]"); + lines.Add(" [th]Type[/th]"); + lines.Add(" [th]Default value[/th]"); + //lines.Add(" [th]Range[/th]"); + lines.Add(" [th]Description[/th]"); + + lines.Add(" [/tr]"); + + + Dictionary dictionary = new Dictionary(); foreach (var property in properties) { @@ -1273,29 +1378,41 @@ namespace Barotrauma } propertyTypeName = string.Join("/", valueNames); } - - lines.Add($"{property.Name} ({propertyTypeName})"); - - if (!string.IsNullOrEmpty(serialize.Description)) + string defaultValueString = serialize.defaultValue?.ToString() ?? ""; + if (property.PropertyType == typeof(float)) { - lines.Add(serialize.Description); + defaultValueString = ((float)serialize.defaultValue).ToString(CultureInfo.InvariantCulture); } + + lines.Add(" [tr]"); + + lines.Add($" [td]{property.Name}[/td]"); + lines.Add($" [td]{propertyTypeName}[/td]"); + lines.Add($" [td]{defaultValueString}[/td]"); + Editable editable = attributes.FirstOrDefault(a => a is Editable) as Editable; + string rangeText = "-"; if (editable != null) { if (editable.MinValueFloat > float.MinValue || editable.MaxValueFloat < float.MaxValue) { - lines.Add("Range: " + editable.MinValueFloat+"-"+editable.MaxValueFloat); + rangeText = editable.MinValueFloat + "-" + editable.MaxValueFloat; } else if (editable.MinValueInt > int.MinValue || editable.MaxValueInt < int.MaxValue) { - lines.Add("Range: " + editable.MinValueInt + "-" + editable.MaxValueInt); + rangeText = editable.MinValueInt + "-" + editable.MaxValueInt; } } + //lines.Add($" [td]{rangeText}[/td]"); - lines.Add("Default value: " + serialize.defaultValue); - lines.Add(""); + if (!string.IsNullOrEmpty(serialize.Description)) + { + lines.Add($" [td]{serialize.Description}[/td]"); + } + + lines.Add(" [/tr]"); } + lines.Add("[/table]"); lines.Add(""); } File.WriteAllLines(filePath, lines); @@ -1546,10 +1663,12 @@ namespace Barotrauma (string[] args) => { if (GameMain.Client == null || args.Length == 0) return; - ShowQuestionPrompt("Reason for banning the endpoint \"" + args[0] + "\"?", (reason) => + ShowQuestionPrompt("Reason for banning the endpoint \"" + args[0] + "\"? (Enter c to cancel)", (reason) => { - ShowQuestionPrompt("Enter the duration of the ban (leave empty to ban permanently, or use the format \"[days] d [hours] h\")", (duration) => + if (reason == "c" || reason == "C") { return; } + ShowQuestionPrompt("Enter the duration of the ban (leave empty to ban permanently, or use the format \"[days] d [hours] h\") (Enter c to cancel)", (duration) => { + if (duration == "c" || duration == "C") { return; } TimeSpan? banDuration = null; if (!string.IsNullOrWhiteSpace(duration)) { @@ -1866,10 +1985,17 @@ namespace Barotrauma { character.Info.Race = race; character.ReloadHead(); + foreach (var limb in character.AnimController.Limbs) + { + if (limb.type != LimbType.Head) + { + limb.RecreateSprites(); + } + } } }, isCheat: true)); - commands.Add(new Command("loadhead|head", "Load head sprite(s). Required argument: head id. Optional arguments: hair index, beard index, moustache index, face attachment index.", args => + commands.Add(new Command("head", "Load the head sprite and the wearables (hair etc). Required argument: head id. Optional arguments: hair index, beard index, moustache index, face attachment index.", args => { var character = Character.Controlled; if (character == null) @@ -1903,6 +2029,13 @@ namespace Barotrauma int.TryParse(args[4], out faceAttachmentIndex); } character.ReloadHead(id, hairIndex, beardIndex, moustacheIndex, faceAttachmentIndex); + foreach (var limb in character.AnimController.Limbs) + { + if (limb.type != LimbType.Head) + { + limb.RecreateSprites(); + } + } } }, isCheat: true)); @@ -1948,13 +2081,13 @@ namespace Barotrauma { wearable.Variant = variant; } - wearable.RefreshPath(); + wearable.ParsePath(true); wearable.Sprite.ReloadXML(); wearable.Sprite.ReloadTexture(); } foreach (var wearable in limb.OtherWearables) { - wearable.RefreshPath(); + wearable.ParsePath(true); wearable.Sprite.ReloadXML(); wearable.Sprite.ReloadTexture(); } diff --git a/Barotrauma/BarotraumaClient/Source/Events/Missions/Mission.cs b/Barotrauma/BarotraumaClient/Source/Events/Missions/Mission.cs index 907f11bb5..6d839a784 100644 --- a/Barotrauma/BarotraumaClient/Source/Events/Missions/Mission.cs +++ b/Barotrauma/BarotraumaClient/Source/Events/Missions/Mission.cs @@ -1,4 +1,6 @@ -namespace Barotrauma +using Barotrauma.Networking; + +namespace Barotrauma { partial class Mission { @@ -14,5 +16,10 @@ IconColor = Prefab.IconColor }; } + + public void ClientRead(IReadMessage msg) + { + State = msg.ReadInt16(); + } } } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/ChatBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/ChatBox.cs index b4c7d5308..b93ad97c1 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/ChatBox.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/ChatBox.cs @@ -1,4 +1,5 @@ -using Barotrauma.Items.Components; +using Barotrauma.Extensions; +using Barotrauma.Items.Components; using Barotrauma.Networking; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; @@ -52,6 +53,8 @@ namespace Barotrauma public GUIButton ToggleButton { get; private set; } + private GUIButton showNewMessagesButton; + public ChatBox(GUIComponent parent, bool isSinglePlayer) { this.IsSinglePlayer = isSinglePlayer; @@ -65,8 +68,9 @@ namespace Barotrauma int toggleButtonWidth = (int)(30 * GUI.Scale); GUIFrame = new GUIFrame(HUDLayoutSettings.ToRectTransform(HUDLayoutSettings.ChatBoxArea, parent.RectTransform), style: null); - var chatBoxHolder = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.9f), GUIFrame.RectTransform), style: "ChatBox"); + var chatBoxHolder = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.875f), GUIFrame.RectTransform), style: "ChatBox"); chatBox = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.95f), chatBoxHolder.RectTransform, Anchor.CenterRight), style: null); + ToggleButton = new GUIButton(new RectTransform(new Point(toggleButtonWidth, HUDLayoutSettings.ChatBoxArea.Height), parent.RectTransform), style: "UIToggleButton"); @@ -76,7 +80,7 @@ namespace Barotrauma return true; }; - InputBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.1f), GUIFrame.RectTransform, Anchor.BottomCenter), + InputBox = new GUITextBox(new RectTransform(new Vector2(0.925f, 0.125f), GUIFrame.RectTransform, Anchor.BottomLeft), style: "ChatTextBox") { Font = GUI.SmallFont, @@ -84,9 +88,25 @@ namespace Barotrauma }; InputBox.OnDeselected += (gui, Keys) => { - gui.Text = ""; + //gui.Text = ""; }; - + + var chatSendButton = new GUIButton(new RectTransform(new Vector2(0.075f, 0.125f), GUIFrame.RectTransform, Anchor.BottomRight) { RelativeOffset = new Vector2(0.0f, -0.01f) }, ">"); + chatSendButton.OnClicked += (GUIButton btn, object userdata) => + { + InputBox.OnEnterPressed(InputBox, InputBox.Text); + return true; + }; + + showNewMessagesButton = new GUIButton(new RectTransform(new Vector2(1f, 0.125f), GUIFrame.RectTransform, Anchor.BottomCenter) { RelativeOffset = new Vector2(0.0f, -0.125f) }, TextManager.Get("chat.shownewmessages")); + showNewMessagesButton.OnClicked += (GUIButton btn, object userdata) => + { + chatBox.ScrollBar.BarScrollValue = 1f; + showNewMessagesButton.Visible = false; + return true; + }; + + showNewMessagesButton.Visible = false; ToggleOpen = GameMain.Config.ChatOpen; } @@ -133,7 +153,7 @@ namespace Barotrauma public void AddMessage(ChatMessage message) { - while (chatBox.Content.CountChildren > 20) + while (chatBox.Content.CountChildren > 60) { chatBox.RemoveChild(chatBox.Content.Children.First()); } @@ -155,18 +175,21 @@ namespace Barotrauma var msgHolder = new GUIFrame(new RectTransform(new Vector2(0.95f, 0.0f), chatBox.Content.RectTransform, Anchor.TopCenter), style: null, color: ((chatBox.Content.CountChildren % 2) == 0) ? Color.Transparent : Color.Black * 0.1f); - GUITextBlock senderNameBlock = null; + GUITextBlock senderNameBlock = new GUITextBlock(new RectTransform(new Vector2(0.98f, 0.0f), msgHolder.RectTransform) { AbsoluteOffset = new Point((int)(5 * GUI.Scale), 0) }, + ChatMessage.GetTimeStamp(), textColor: Color.LightGray, font: GUI.SmallFont, textAlignment: Alignment.TopLeft, style: null) + { + CanBeFocused = true + }; if (!string.IsNullOrEmpty(senderName)) { - senderNameBlock = new GUITextBlock(new RectTransform(new Vector2(0.98f, 0.0f), msgHolder.RectTransform) - { AbsoluteOffset = new Point((int)(5 * GUI.Scale), 0) }, + new GUITextBlock(new RectTransform(new Vector2(0.8f, 1.0f), senderNameBlock.RectTransform) { AbsoluteOffset = new Point((int)(senderNameBlock.TextSize.X), 0) }, senderName, textColor: senderColor, font: GUI.SmallFont, textAlignment: Alignment.TopLeft, style: null) { CanBeFocused = true }; } - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), msgHolder.RectTransform) + var msgText =new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), msgHolder.RectTransform) { AbsoluteOffset = new Point((int)(10 * GUI.Scale), senderNameBlock == null ? 0 : senderNameBlock.Rect.Height) }, displayedText, textColor: message.Color, font: GUI.SmallFont, textAlignment: Alignment.TopLeft, style: null, wrap: true, color: ((chatBox.Content.CountChildren % 2) == 0) ? Color.Transparent : Color.Black * 0.1f) @@ -185,12 +208,28 @@ namespace Barotrauma { msgHolder.Flash(Color.Yellow * 0.6f); } - //resize the holder to match the size of the message and add some spacing - msgHolder.RectTransform.Resize(new Point(msgHolder.Rect.Width, msgHolder.Children.Sum(c => c.Rect.Height) + (int)(10 * GUI.Scale)), resizeChildren: false); + msgHolder.RectTransform.SizeChanged += Recalculate; + Recalculate(); + void Recalculate() + { + msgHolder.RectTransform.SizeChanged -= Recalculate; + //resize the holder to match the size of the message and add some spacing + msgText.RectTransform.MaxSize = new Point(msgHolder.Rect.Width - msgText.RectTransform.AbsoluteOffset.X, int.MaxValue); + senderNameBlock.RectTransform.MaxSize = new Point(msgHolder.Rect.Width - senderNameBlock.RectTransform.AbsoluteOffset.X, int.MaxValue); + msgHolder.Children.ForEach(c => (c as GUITextBlock)?.CalculateHeightFromText()); + msgHolder.RectTransform.Resize(new Point(msgHolder.Rect.Width, msgHolder.Children.Sum(c => c.Rect.Height) + (int)(10 * GUI.Scale)), resizeChildren: false); + msgHolder.RectTransform.SizeChanged += Recalculate; + chatBox.RecalculateChildren(); + } CoroutineManager.StartCoroutine(UpdateMessageAnimation(msgHolder, 0.5f)); chatBox.UpdateScrollBarSize(); + + if (chatBox.ScrollBar.Visible && chatBox.ScrollBar.BarScroll < 1f) + { + showNewMessagesButton.Visible = true; + } if (!ToggleOpen) { @@ -203,16 +242,16 @@ namespace Barotrauma { CanBeFocused = false }; - var msgText = new GUITextBlock(new RectTransform(new Vector2(0.8f, 0.0f), popupMsg.RectTransform, Anchor.TopRight) + var msgPopupText = new GUITextBlock(new RectTransform(new Vector2(0.8f, 0.0f), popupMsg.RectTransform, Anchor.TopRight) { AbsoluteOffset = new Point(0, senderText.Rect.Height) }, displayedText, textColor: message.Color, font: GUI.SmallFont, textAlignment: Alignment.TopRight, style: null, wrap: true) { CanBeFocused = false }; int textWidth = (int)Math.Max( - msgText.Font.MeasureString(msgText.WrappedText).X, + msgPopupText.Font.MeasureString(msgPopupText.WrappedText).X, senderText.Font.MeasureString(senderText.WrappedText).X); - popupMsg.RectTransform.Resize(new Point(textWidth + 20, msgText.Rect.Bottom - senderText.Rect.Y), resizeChildren: false); + popupMsg.RectTransform.Resize(new Point(textWidth + 20, msgPopupText.Rect.Bottom - senderText.Rect.Y), resizeChildren: false); popupMessages.Enqueue(popupMsg); } @@ -277,6 +316,11 @@ namespace Barotrauma prevUIScale = GUI.Scale; } + if (showNewMessagesButton.Visible && chatBox.ScrollBar.BarScroll == 1f) + { + showNewMessagesButton.Visible = false; + } + if (ToggleOpen || (InputBox != null && InputBox.Selected)) { openState += deltaTime * 5.0f; diff --git a/Barotrauma/BarotraumaClient/Source/GUI/ComponentStyle.cs b/Barotrauma/BarotraumaClient/Source/GUI/ComponentStyle.cs index 565460059..09d15b36d 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/ComponentStyle.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/ComponentStyle.cs @@ -19,12 +19,16 @@ namespace Barotrauma public readonly Color OutlineColor; + public readonly XElement Element; + public readonly Dictionary> Sprites; public Dictionary ChildStyles; public GUIComponentStyle(XElement element) { + Element = element; + Sprites = new Dictionary>(); foreach (GUIComponent.ComponentState state in Enum.GetValues(typeof(GUIComponent.ComponentState))) { diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs index c87231d3d..19b88d3cd 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs @@ -29,6 +29,35 @@ namespace Barotrauma { public static GUICanvas Canvas => GUICanvas.Instance; + public static readonly SamplerState SamplerState = new SamplerState() + { + Filter = TextureFilter.Linear, + AddressU = TextureAddressMode.Wrap, + AddressV = TextureAddressMode.Wrap, + AddressW = TextureAddressMode.Wrap, + BorderColor = Color.White, + MaxAnisotropy = 4, + MaxMipLevel = 0, + MipMapLevelOfDetailBias = -0.8f, + ComparisonFunction = CompareFunction.Never, + FilterMode = TextureFilterMode.Default, + }; + + public static readonly SamplerState SamplerStateClamp = new SamplerState() + { + Filter = TextureFilter.Linear, + AddressU = TextureAddressMode.Clamp, + AddressV = TextureAddressMode.Clamp, + AddressW = TextureAddressMode.Clamp, + BorderColor = Color.White, + MaxAnisotropy = 4, + MaxMipLevel = 0, + MipMapLevelOfDetailBias = -0.8f, + ComparisonFunction = CompareFunction.Never, + FilterMode = TextureFilterMode.Default, + }; + + public static readonly string[] vectorComponentLabels = { "X", "Y", "Z", "W" }; public static readonly string[] rectComponentLabels = { "X", "Y", "W", "H" }; public static readonly string[] colorComponentLabels = { "R", "G", "B", "A" }; @@ -455,7 +484,11 @@ namespace Barotrauma if (GameMain.WindowActive) { + spriteBatch.End(); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerStateClamp, rasterizerState: GameMain.ScissorTestEnable); Cursor.Draw(spriteBatch, PlayerInput.LatestMousePosition, 0, Scale / 2f); + spriteBatch.End(); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); } } @@ -664,6 +697,7 @@ namespace Barotrauma /// public static GUIComponent UpdateMouseOn() { + GUIComponent prevMouseOn = MouseOn; MouseOn = null; int inventoryIndex = -1; if (Inventory.IsMouseOnInventory()) @@ -673,9 +707,13 @@ namespace Barotrauma for (int i = updateList.Count - 1; i > inventoryIndex; i--) { GUIComponent c = updateList[i]; + if (!c.CanBeFocused) { continue; } if (c.MouseRect.Contains(PlayerInput.MousePosition)) { - MouseOn = c; + if ((!PlayerInput.LeftButtonHeld() && !PlayerInput.LeftButtonClicked()) || c == prevMouseOn) + { + MouseOn = c; + } break; } } @@ -1629,42 +1667,9 @@ namespace Barotrauma return true; } - private static bool QuitClicked(GUIButton button, object obj) + public static bool QuitClicked(GUIButton button, object obj) { - bool save = button.UserData as string == "save"; - if (save) - { - SaveUtil.SaveGame(GameMain.GameSession.SavePath); - } - - if (GameMain.Client != null) - { - GameMain.Client.Disconnect(); - GameMain.Client = null; - } - - CoroutineManager.StopCoroutines("EndCinematic"); - - if (GameMain.GameSession != null) - { - if (Tutorial.Initialized) - { - ((TutorialMode)GameMain.GameSession.GameMode).Tutorial.Stop(); - } - - if (GameSettings.SendUserStatistics) - { - Mission mission = GameMain.GameSession.Mission; - GameAnalyticsManager.AddDesignEvent("QuitRound:" + (save ? "Save" : "NoSave")); - GameAnalyticsManager.AddDesignEvent("EndRound:" + (mission == null ? "NoMission" : (mission.Completed ? "MissionCompleted" : "MissionFailed"))); - } - GameMain.GameSession = null; - } - - GUIMessageBox.CloseAll(); - - GameMain.MainMenuScreen.Select(); - + GameMain.QuitToMainMenu(button.UserData as string == "save"); return true; } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs index 79282e4bd..bdb6b4627 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs @@ -153,15 +153,18 @@ namespace Barotrauma public GUIButton(RectTransform rectT, string text = "", Alignment textAlignment = Alignment.Center, string style = "", Color? color = null) : base(style, rectT) { + CanBeFocused = true; + if (color.HasValue) { this.color = color.Value; } - frame = new GUIFrame(new RectTransform(Vector2.One, rectT), style); + frame = new GUIFrame(new RectTransform(Vector2.One, rectT), style) { CanBeFocused = false }; if (style != null) GUI.Style.Apply(frame, style == "" ? "GUIButton" : style); textBlock = new GUITextBlock(new RectTransform(Vector2.One, rectT), text, textAlignment: textAlignment, style: null) { - TextColor = this.style == null ? Color.Black : this.style.textColor + TextColor = this.style == null ? Color.Black : this.style.textColor, + CanBeFocused = false }; if (rectT.Rect.Height == 0 && !string.IsNullOrEmpty(text)) { diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs index cad4abb24..cb6ed0528 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs @@ -106,11 +106,21 @@ namespace Barotrauma return Children.Where(c => c.userData == userData); } + public IEnumerable FindChildren(Func predicate) + { + return Children.Where(c => predicate(c)); + } + public virtual void ClearChildren() { RectTransform.ClearChildren(); } + public void SetAsFirstChild() + { + RectTransform.SetAsFirstChild(); + } + public void SetAsLastChild() { RectTransform.SetAsLastChild(); @@ -319,7 +329,7 @@ namespace Barotrauma Font = GUI.Font; - CanBeFocused = true; + CanBeFocused = true; //TODO: change default to false? if (style != null) GUI.Style.Apply(this, style); @@ -729,9 +739,10 @@ namespace Barotrauma private static GUITextBlock LoadGUITextBlock(XElement element, RectTransform parent, string overrideText = null, Anchor? anchor = null) { - string text = element.Attribute("text") == null ? - element.ElementInnerText() : - element.GetAttributeString("text", ""); + string text = overrideText ?? + (element.Attribute("text") == null ? + element.ElementInnerText() : + element.GetAttributeString("text", "")); text = text.Replace(@"\n", "\n"); string style = element.GetAttributeString("style", ""); diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUICustomComponent.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUICustomComponent.cs index 2fd27cc60..6289aba4e 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUICustomComponent.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUICustomComponent.cs @@ -29,7 +29,7 @@ namespace Barotrauma { spriteBatch.End(); spriteBatch.GraphicsDevice.ScissorRectangle = Rectangle.Intersect(prevScissorRect, Rect); - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); } OnDraw?.Invoke(spriteBatch, this); @@ -38,7 +38,7 @@ namespace Barotrauma { spriteBatch.End(); spriteBatch.GraphicsDevice.ScissorRectangle = prevScissorRect; - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); } } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIDropDown.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIDropDown.cs index 4ff2c0079..151b31ec9 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIDropDown.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIDropDown.cs @@ -16,7 +16,7 @@ namespace Barotrauma private GUIButton button; private GUIListBox listBox; - private RectTransform currentListBoxParent; + private RectTransform currentHighestParent; private List parentHierarchy = new List(); private bool selectMultiple; @@ -141,6 +141,8 @@ namespace Barotrauma public GUIDropDown(RectTransform rectT, string text = "", int elementCount = 4, string style = "", bool selectMultiple = false) : base(style, rectT) { + CanBeFocused = true; + this.selectMultiple = selectMultiple; button = new GUIButton(new RectTransform(Vector2.One, rectT), text, Alignment.CenterLeft, style: "GUIDropDown") @@ -149,7 +151,7 @@ namespace Barotrauma }; GUI.Style.Apply(button, "", this); - listBox = new GUIListBox(new RectTransform(new Point(Rect.Width, Rect.Height * MathHelper.Clamp(elementCount, 2, 10)), rectT, Anchor.BottomLeft, Pivot.TopLeft) + listBox = new GUIListBox(new RectTransform(new Point(Rect.Width, Rect.Height * MathHelper.Clamp(elementCount, 2, 10)), rectT, Anchor.BottomCenter, Pivot.TopCenter) { IsFixedSize = false }, style: null) { Enabled = !selectMultiple, @@ -157,48 +159,55 @@ namespace Barotrauma }; GUI.Style.Apply(listBox.Content, "GUIListBox", this); - currentListBoxParent = FindListBoxParent(); - currentListBoxParent.GUIComponent.OnAddedToGUIUpdateList += AddListBoxToGUIUpdateList; + currentHighestParent = FindHighestParent(); + currentHighestParent.GUIComponent.OnAddedToGUIUpdateList += AddListBoxToGUIUpdateList; rectT.ParentChanged += (RectTransform newParent) => { - currentListBoxParent.GUIComponent.OnAddedToGUIUpdateList -= AddListBoxToGUIUpdateList; + currentHighestParent.GUIComponent.OnAddedToGUIUpdateList -= AddListBoxToGUIUpdateList; if (newParent != null) { - currentListBoxParent = FindListBoxParent(); - currentListBoxParent.GUIComponent.OnAddedToGUIUpdateList += AddListBoxToGUIUpdateList; + currentHighestParent = FindHighestParent(); + currentHighestParent.GUIComponent.OnAddedToGUIUpdateList += AddListBoxToGUIUpdateList; } }; } /// - /// Finds the component after which the listbox should be drawn. Usually the parent of the dropdown, but if the dropdown - /// is the child of another GUIListBox, we need to draw our listbox after that because listboxes clip everything outside their rect. + /// Finds the component after which the listbox should be drawn + /// //(= the component highest in the hierarchy, to get the listbox + /// //to be rendered on top of all of it's children) /// - private RectTransform FindListBoxParent() + private RectTransform FindHighestParent() { parentHierarchy.Clear(); + + //collect entire parent hierarchy to a list parentHierarchy = new List() { RectTransform.Parent }; - while (parentHierarchy.Last().Parent != null) + RectTransform parent = parentHierarchy.Last(); + while (parent?.Parent != null) { - parentHierarchy.Add(parentHierarchy.Last().Parent); + parentHierarchy.Add(parent.Parent); + parent = parent.Parent; } - //find the parent GUIListBox highest in the hierarchy - for (int i = parentHierarchy.Count - 1; i >= 0; i--) + + //find the highest parent that has a guicomponent with a style + //(and so should be rendered and not just some empty parent/root element used for constructing a layout) + for (int i = parentHierarchy.Count - 1; i > 0; i--) { - if (parentHierarchy[i].GUIComponent is GUIListBox) + if (parentHierarchy[i] is GUICanvas || + parentHierarchy[i].GUIComponent == null || + parentHierarchy[i].GUIComponent.Style == null || + parentHierarchy[i].GUIComponent == Screen.Selected?.Frame) { - if (parentHierarchy[i].Parent != null && parentHierarchy[i].Parent.GUIComponent != null) - { - return parentHierarchy[i].Parent; - } - return parentHierarchy[i]; + parentHierarchy.RemoveAt(i); + } + else + { + break; } } - //or just go with the direct parent if there are no listboxes in the hierarchy - parentHierarchy.Clear(); - parentHierarchy.Add(RectTransform.Parent); - return RectTransform.Parent; + return parentHierarchy.Last(); } public void AddItem(string text, object userData = null, string toolTip = "") diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIFrame.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIFrame.cs index eccf78a2f..582eb986f 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIFrame.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIFrame.cs @@ -20,7 +20,7 @@ namespace Barotrauma Color currColor = GetCurrentColor(state); - if (sprites == null || !sprites.Any()) GUI.DrawRectangle(spriteBatch, Rect, currColor * (currColor.A/255.0f), true); + if (sprites == null || !sprites.Any(s => s.Value.Any())) GUI.DrawRectangle(spriteBatch, Rect, currColor * (currColor.A/255.0f), true); base.Draw(spriteBatch); if (OutlineColor != Color.Transparent) diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIImage.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIImage.cs index 9817060fd..1f1d54575 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIImage.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIImage.cs @@ -1,6 +1,7 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using System; +using System.Linq; namespace Barotrauma { @@ -57,6 +58,10 @@ namespace Barotrauma } } + public BlendState BlendState; + + public ComponentState? OverrideState = null; + public GUIImage(RectTransform rectT, string style, bool scaleToFit = false) : this(rectT, null, null, scaleToFit, style) { @@ -82,9 +87,7 @@ namespace Barotrauma } if (style == null) { - color = Color.White; - hoverColor = Color.White; - selectedColor = Color.White; + color = hoverColor = selectedColor = pressedColor = Color.White; } if (!scaleToFit) { @@ -99,7 +102,17 @@ namespace Barotrauma protected override void Draw(SpriteBatch spriteBatch) { if (!Visible) return; + + if (Parent != null) { state = Parent.State; } + if (OverrideState != null) { state = OverrideState.Value; } Color currColor = GetCurrentColor(state); + + if (BlendState != null) + { + spriteBatch.End(); + spriteBatch.Begin(blendState: BlendState, samplerState: GUI.SamplerState); + } + if (style != null) { foreach (UISprite uiSprite in style.Sprites[state]) @@ -121,6 +134,12 @@ namespace Barotrauma spriteBatch.Draw(sprite.Texture, Rect.Center.ToVector2(), sourceRect, currColor * (currColor.A / 255.0f), Rotation, sprite.size / 2, Scale, SpriteEffects, 0.0f); } + + if (BlendState != null) + { + spriteBatch.End(); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); + } } private void RecalculateScale() diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUILayoutGroup.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUILayoutGroup.cs index e797b022a..96bc0edd8 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUILayoutGroup.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUILayoutGroup.cs @@ -1,4 +1,5 @@ using Microsoft.Xna.Framework; +using System; using System.Linq; namespace Barotrauma @@ -71,6 +72,8 @@ namespace Barotrauma public GUILayoutGroup(RectTransform rectT, bool isHorizontal = false, Anchor childAnchor = Anchor.TopLeft) : base(null, rectT) { + CanBeFocused = false; + this.isHorizontal = isHorizontal; this.childAnchor = childAnchor; rectT.ChildrenChanged += (child) => needsToRecalculate = true; @@ -83,17 +86,25 @@ namespace Barotrauma float stretchFactor = 1.0f; if (stretch && RectTransform.Children.Count() > 0) { + float minSize = RectTransform.Children + .Where(c => !c.GUIComponent.IgnoreLayoutGroups) + .Sum(c => isHorizontal ? c.MinSize.X : c.MinSize.Y); + float totalSize = RectTransform.Children .Where(c => !c.GUIComponent.IgnoreLayoutGroups) .Sum(c => isHorizontal ? MathHelper.Clamp(c.Rect.Width, c.MinSize.X, c.MaxSize.X) : MathHelper.Clamp(c.Rect.Height, c.MinSize.Y, c.MaxSize.Y)); + float thisSize = (isHorizontal ? Rect.Width : Rect.Height); + totalSize += (RectTransform.Children.Count() - 1) * - (absoluteSpacing + relativeSpacing * (isHorizontal ? Rect.Width : Rect.Height)); + (absoluteSpacing + relativeSpacing * thisSize); - stretchFactor = totalSize <= 0.0f ? 1.0f : (isHorizontal ? Rect.Width: Rect.Height) / totalSize; + stretchFactor = totalSize <= 0.0f || minSize >= thisSize ? + 1.0f : + (thisSize - minSize) / (totalSize - minSize); } int absPos = 0; @@ -106,7 +117,7 @@ namespace Barotrauma { child.RelativeOffset = new Vector2(relPos, child.RelativeOffset.Y); child.AbsoluteOffset = new Point(absPos, child.AbsoluteOffset.Y); - absPos += (int)((child.Rect.Width + absoluteSpacing) * stretchFactor); + absPos += (int)Math.Max((child.Rect.Width + absoluteSpacing) * stretchFactor, child.MinSize.X); if (stretch) { child.RelativeSize = new Vector2(child.RelativeSize.X * stretchFactor, child.RelativeSize.Y); @@ -116,7 +127,7 @@ namespace Barotrauma { child.RelativeOffset = new Vector2(child.RelativeOffset.X, relPos); child.AbsoluteOffset = new Point(child.AbsoluteOffset.X, absPos); - absPos += (int)((child.Rect.Height + absoluteSpacing) * stretchFactor); + absPos += (int)Math.Max((child.Rect.Height + absoluteSpacing) * stretchFactor, child.MinSize.Y); if (stretch) { child.RelativeSize = new Vector2(child.RelativeSize.X, child.RelativeSize.Y * stretchFactor); diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIListBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIListBox.cs index ed822aa59..586663afe 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIListBox.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIListBox.cs @@ -135,6 +135,8 @@ namespace Barotrauma public GUIListBox(RectTransform rectT, bool isHorizontal = false, Color? color = null, string style = "") : base(style, rectT) { + CanBeFocused = true; + selected = new List(); Point frameSize = isHorizontal ? @@ -176,7 +178,7 @@ namespace Barotrauma private void UpdateDimensions() { - if (!ScrollBarEnabled) + if (!ScrollBar.Visible) { Content.RectTransform.NonScaledSize = Rect.Size; } @@ -295,7 +297,7 @@ namespace Barotrauma if (child == null) continue; // selecting - if (Enabled && child.CanBeFocused && (GUI.IsMouseOn(child)) && child.Rect.Contains(PlayerInput.MousePosition)) + if (Enabled && CanBeFocused && child.CanBeFocused && (GUI.IsMouseOn(child)) && child.Rect.Contains(PlayerInput.MousePosition)) { child.State = ComponentState.Hover; if (PlayerInput.LeftButtonClicked()) @@ -322,6 +324,15 @@ namespace Barotrauma public override void AddToGUIUpdateList(bool ignoreChildren = false, int order = 0) { if (!Visible) { return; } + + if (!ignoreChildren) + { + foreach (GUIComponent child in Children) + { + if (child == Content || child == ScrollBar) { continue; } + child.AddToGUIUpdateList(ignoreChildren, order); + } + } foreach (GUIComponent child in Content.Children) { @@ -406,12 +417,16 @@ namespace Barotrauma scrollBarNeedsRecalculation = false; } + bool prevScrollBarVisible = ScrollBar.Visible; + ScrollBar.Enabled = ScrollBarEnabled && ScrollBar.BarSize < 1.0f; if (AutoHideScrollBar) { ScrollBar.Visible = ScrollBar.BarSize < 1.0f; } + if (ScrollBar.Visible != prevScrollBarVisible) { UpdateDimensions(); } + if ((GUI.IsMouseOn(this) || GUI.IsMouseOn(ScrollBar)) && PlayerInput.ScrollWheelSpeed != 0) { ScrollBar.BarScroll -= (PlayerInput.ScrollWheelSpeed / 500.0f) * BarSize; @@ -594,7 +609,7 @@ namespace Barotrauma { spriteBatch.End(); spriteBatch.GraphicsDevice.ScissorRectangle = Rectangle.Intersect(prevScissorRect, Content.Rect); - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); } var children = Content.Children; @@ -618,7 +633,7 @@ namespace Barotrauma { spriteBatch.End(); spriteBatch.GraphicsDevice.ScissorRectangle = prevScissorRect; - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: prevRasterizerState); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: prevRasterizerState); } if (ScrollBar.Visible) ScrollBar.DrawManually(spriteBatch, alsoChildren: true, recursive: true); diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUINumberInput.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUINumberInput.cs index ca436e624..b456de7ec 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUINumberInput.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUINumberInput.cs @@ -119,6 +119,19 @@ namespace Barotrauma } } + public override ScalableFont Font + { + get + { + return base.Font; + } + set + { + base.Font = value; + if (TextBox != null) { TextBox.Font = value; } + } + } + public GUILayoutGroup LayoutGroup { get; @@ -147,11 +160,11 @@ namespace Barotrauma }; TextBox.OnTextChanged += TextChanged; var buttonArea = new GUIFrame(new RectTransform(new Vector2(_relativeButtonAreaWidth, 1.0f), LayoutGroup.RectTransform, Anchor.CenterRight), style: null); - if (!relativeButtonAreaWidth.HasValue) + /*if (!relativeButtonAreaWidth.HasValue) { // Not sure what's the point of this buttonArea.RectTransform.MinSize = new Point(Rect.Height, 0); - } + }*/ PlusButton = new GUIButton(new RectTransform(new Vector2(1.0f, 0.5f), buttonArea.RectTransform), "+"); PlusButton.OnButtonDown += () => { diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIProgressBar.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIProgressBar.cs index f982c05f3..b8ea1f87d 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIProgressBar.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIProgressBar.cs @@ -94,7 +94,7 @@ namespace Barotrauma { spriteBatch.End(); spriteBatch.GraphicsDevice.ScissorRectangle = Rectangle.Intersect(prevScissorRect, sliderRect); - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); } Color currColor = GetCurrentColor(state); diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIRadioButtonGroup.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIRadioButtonGroup.cs index f9ee629cb..1ca22acf1 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIRadioButtonGroup.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIRadioButtonGroup.cs @@ -9,11 +9,12 @@ namespace Barotrauma { public class GUIRadioButtonGroup : GUIComponent { - private Dictionary radioButtons; //TODO: use children list instead? + private Dictionary radioButtons; //TODO: use children list instead? - public GUIRadioButtonGroup() : base("GUIFrame") + public GUIRadioButtonGroup() : base(null) { - radioButtons = new Dictionary(); + radioButtons = new Dictionary(); + selected = null; } public override bool Enabled @@ -22,28 +23,28 @@ namespace Barotrauma set { base.Enabled = value; - foreach(KeyValuePair rbPair in radioButtons) + foreach(KeyValuePair rbPair in radioButtons) { rbPair.Value.Enabled = value; } } } - public void AddRadioButton(Enum key, GUITickBox radioButton) + public void AddRadioButton(int key, GUITickBox radioButton) { if (selected == key) radioButton.Selected = true; else if (radioButton.Selected) selected = key; radioButton.SetRadioButtonGroup(this); - radioButtons.Add(key, radioButton); + radioButtons.Add((int)key, radioButton); } - public delegate void RadioButtonGroupDelegate(GUIRadioButtonGroup rbg, Enum val); + public delegate void RadioButtonGroupDelegate(GUIRadioButtonGroup rbg, int? val); public RadioButtonGroupDelegate OnSelect = null; public void SelectRadioButton(GUITickBox radioButton) { - foreach (KeyValuePair rbPair in radioButtons) + foreach (KeyValuePair rbPair in radioButtons) { if (radioButton == rbPair.Value) { @@ -53,8 +54,8 @@ namespace Barotrauma } } - private Enum selected; - public Enum Selected + private int? selected; + public int? Selected { get { @@ -63,11 +64,11 @@ namespace Barotrauma set { OnSelect?.Invoke(this, value); - if (selected != null && selected.Equals((Enum)value)) return; + if (selected != null && selected.Equals(value)) return; selected = value; - foreach (KeyValuePair radioButton in radioButtons) + foreach (KeyValuePair radioButton in radioButtons) { - if (radioButton.Key.Equals((Enum)value)) + if (radioButton.Key.Equals(value)) { radioButton.Value.Selected = true; } @@ -80,7 +81,7 @@ namespace Barotrauma { get { - return radioButtons[selected]; + return selected.HasValue ? radioButtons[selected.Value] : null; } } } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIScrollBar.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIScrollBar.cs index 5f6f443c8..42a24b06c 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIScrollBar.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIScrollBar.cs @@ -17,6 +17,8 @@ namespace Barotrauma private float barScroll; private float step; + + private Vector2? dragStartPos; public delegate bool OnMovedHandler(GUIScrollBar scrollBar, float barScroll); public OnMovedHandler OnMoved; @@ -162,6 +164,18 @@ namespace Barotrauma } } + public float StepValue + { + get + { + return step * (Range.Y - Range.X); + } + set + { + Step = value / (Range.Y - Range.X); + } + } + public float BarSize { get { return barSize; } @@ -174,6 +188,8 @@ namespace Barotrauma public GUIScrollBar(RectTransform rectT, float barSize = 1, Color? color = null, string style = "", bool? isHorizontal = null) : base(style, rectT) { + CanBeFocused = true; + this.isHorizontal = isHorizontal ?? (Rect.Width > Rect.Height); Frame = new GUIFrame(new RectTransform(Vector2.One, rectT)); GUI.Style.Apply(Frame, IsHorizontal ? "GUIFrameHorizontal" : "GUIFrameVertical", this); @@ -201,11 +217,11 @@ namespace Barotrauma protected override void Update(float deltaTime) { - if (!Visible) return; + if (!Visible) { return; } base.Update(deltaTime); - if (!enabled) return; + if (!enabled) { return; } if (IsBooleanSwitch && (!PlayerInput.LeftButtonHeld() || (GUI.MouseOn != this && !IsParentOf(GUI.MouseOn)))) @@ -221,10 +237,19 @@ namespace Barotrauma if (draggingBar == this) { + if (dragStartPos == null) { dragStartPos = PlayerInput.MousePosition; } + if (!PlayerInput.LeftButtonHeld()) { + if (IsBooleanSwitch && GUI.MouseOn == Bar && Vector2.Distance(dragStartPos.Value, PlayerInput.MousePosition) < 5) + { + BarScroll = BarScroll > 0.5f ? 0.0f : 1.0f; + OnMoved?.Invoke(this, BarScroll); + } OnReleased?.Invoke(this, BarScroll); draggingBar = null; + dragStartPos = null; + } if ((isHorizontal && PlayerInput.MousePosition.X > Rect.X && PlayerInput.MousePosition.X < Rect.Right) || (!isHorizontal && PlayerInput.MousePosition.Y > Rect.Y && PlayerInput.MousePosition.Y < Rect.Bottom)) @@ -237,9 +262,18 @@ namespace Barotrauma if (PlayerInput.LeftButtonClicked()) { draggingBar?.OnReleased?.Invoke(draggingBar, draggingBar.BarScroll); - MoveButton(new Vector2( - Math.Sign(PlayerInput.MousePosition.X - Bar.Rect.Center.X) * Bar.Rect.Width, - Math.Sign(PlayerInput.MousePosition.Y - Bar.Rect.Center.Y) * Bar.Rect.Height)); + if (IsBooleanSwitch) + { + MoveButton(new Vector2( + Math.Sign(PlayerInput.MousePosition.X - Bar.Rect.Center.X) * Rect.Width, + Math.Sign(PlayerInput.MousePosition.Y - Bar.Rect.Center.Y) * Rect.Height)); + } + else + { + MoveButton(new Vector2( + Math.Sign(PlayerInput.MousePosition.X - Bar.Rect.Center.X) * Bar.Rect.Width, + Math.Sign(PlayerInput.MousePosition.Y - Bar.Rect.Center.Y) * Bar.Rect.Height)); + } } } } @@ -270,7 +304,7 @@ namespace Barotrauma BarScroll = newScroll; - if (moveAmount != Vector2.Zero && OnMoved != null) OnMoved(this, BarScroll); + if (moveAmount != Vector2.Zero && OnMoved != null) { OnMoved(this, BarScroll); } } } } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUITextBlock.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUITextBlock.cs index c54a3db71..18a5cd3e6 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUITextBlock.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUITextBlock.cs @@ -242,10 +242,10 @@ namespace Barotrauma Censor = false; } - public void CalculateHeightFromText() + public void CalculateHeightFromText(int padding = 0) { if (wrappedText == null) { return; } - RectTransform.Resize(new Point(RectTransform.Rect.Width, (int)Font.MeasureString(wrappedText).Y)); + RectTransform.Resize(new Point(RectTransform.Rect.Width, (int)Font.MeasureString(wrappedText).Y + padding)); } public override void ApplyStyle(GUIComponentStyle style) @@ -262,7 +262,7 @@ namespace Barotrauma if (text == null) return; censoredText = ""; - for (int i=0;i 0.0f) GUI.DrawRectangle(spriteBatch, rect, OutlineColor * (currColor.A / 255.0f), false); diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUITextBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUITextBox.cs index 94e83bef0..6db251444 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUITextBox.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUITextBox.cs @@ -9,9 +9,9 @@ using System.Linq; namespace Barotrauma { - delegate void TextBoxEvent(GUITextBox sender, Keys key); + public delegate void TextBoxEvent(GUITextBox sender, Keys key); - class GUITextBox : GUIComponent, IKeyboardSubscriber + public class GUITextBox : GUIComponent, IKeyboardSubscriber { public event TextBoxEvent OnSelected; public event TextBoxEvent OnDeselected; @@ -38,6 +38,7 @@ namespace Barotrauma public bool CaretEnabled { get; set; } public Color? CaretColor { get; set; } + public bool DeselectAfterMessage = true; private int? maxTextLength; @@ -232,6 +233,8 @@ namespace Barotrauma Alignment textAlignment = Alignment.Left, bool wrap = false, string style = "", Color? color = null) : base(style, rectT) { + CanBeFocused = true; + Enabled = true; this.color = color ?? Color.White; frame = new GUIFrame(new RectTransform(Vector2.One, rectT, Anchor.Center), style, color); @@ -477,7 +480,7 @@ namespace Barotrauma } else { - if (PlayerInput.LeftButtonClicked() && selected) Deselect(); + if ((PlayerInput.LeftButtonClicked() || PlayerInput.RightButtonClicked()) && selected) Deselect(); isSelecting = false; state = ComponentState.None; } @@ -656,7 +659,12 @@ namespace Barotrauma switch (command) { case '\b': //backspace - if (selectedCharacters > 0) + if (PlayerInput.KeyDown(Keys.LeftControl) || PlayerInput.KeyDown(Keys.RightControl)) + { + SetText(string.Empty, false); + CaretIndex = Text.Length; + } + else if (selectedCharacters > 0) { RemoveSelectedText(); } @@ -692,6 +700,7 @@ namespace Barotrauma text = memento.Undo(); if (text != Text) { + ClearSelection(); SetText(text, false); CaretIndex = Text.Length; OnTextChanged?.Invoke(this, Text); @@ -701,6 +710,7 @@ namespace Barotrauma text = memento.Redo(); if (text != Text) { + ClearSelection(); SetText(text, false); CaretIndex = Text.Length; OnTextChanged?.Invoke(this, Text); @@ -860,16 +870,12 @@ namespace Barotrauma private void RemoveSelectedText() { if (selectedText.Length == 0) { return; } - if (IsLeftToRight) - { - SetText(Text.Remove(selectionStartIndex, selectedText.Length)); - CaretIndex = Math.Min(Text.Length, selectionStartIndex); - } - else - { - SetText(Text.Remove(selectionEndIndex, selectedText.Length)); - CaretIndex = Math.Min(Text.Length, selectionEndIndex); - } + + selectionStartIndex = Math.Max(0, Math.Min(selectionEndIndex, Math.Min(selectionStartIndex, Text.Length - 1))); + int selectionLength = Math.Min(Text.Length - selectionStartIndex, selectedText.Length); + SetText(Text.Remove(selectionStartIndex, selectionLength)); + CaretIndex = Math.Min(Text.Length, selectionStartIndex); + ClearSelection(); OnTextChanged?.Invoke(this, Text); } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUITickBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUITickBox.cs index dd572c229..5d0c06360 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUITickBox.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUITickBox.cs @@ -1,11 +1,13 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; +using System; using System.Collections.Generic; namespace Barotrauma { public class GUITickBox : GUIComponent { + private GUILayoutGroup layoutGroup; private GUIFrame box; private GUITextBlock text; @@ -69,14 +71,19 @@ namespace Barotrauma set { text.TextColor = value; } } - public override Rectangle MouseRect + /*public override Rectangle MouseRect { get { if (!CanBeFocused) return Rectangle.Empty; - return ClampMouseRectToParent ? ClampRect(box.Rect) : box.Rect; + Rectangle union = Rectangle.Union(box.Rect, TextBlock.Rect); + Vector2 textPos = TextBlock.Rect.Location.ToVector2() + TextBlock.TextPos + TextBlock.TextOffset; + Vector2 textSize = TextBlock.Font.MeasureString(TextBlock.Text); + union = Rectangle.Union(union, new Rectangle(textPos.ToPoint(), textSize.ToPoint())); + union = Rectangle.Union(union, Rect); + return ClampMouseRectToParent ? ClampRect(union) : union; } - } + }*/ public override ScalableFont Font { @@ -121,7 +128,11 @@ namespace Barotrauma public GUITickBox(RectTransform rectT, string label, ScalableFont font = null, string style = "") : base(null, rectT) { - box = new GUIFrame(new RectTransform(new Point(rectT.Rect.Height, rectT.Rect.Height), rectT, Anchor.CenterLeft) + CanBeFocused = true; + + layoutGroup = new GUILayoutGroup(new RectTransform(Vector2.One, rectT), true); + + box = new GUIFrame(new RectTransform(Vector2.One, layoutGroup.RectTransform, scaleBasis: ScaleBasis.BothHeight) { IsFixedSize = false }, string.Empty, Color.DarkGray) @@ -131,7 +142,11 @@ namespace Barotrauma CanBeFocused = false }; GUI.Style.Apply(box, style == "" ? "GUITickBox" : style); - text = new GUITextBlock(new RectTransform(Vector2.One, rectT, Anchor.CenterLeft) { AbsoluteOffset = new Point(box.Rect.Width, 0) }, label, font: font, textAlignment: Alignment.CenterLeft); + Vector2 textBlockScale = new Vector2((float)(Rect.Width - Rect.Height) / (float)Math.Max(Rect.Width, 1.0), 1.0f); + text = new GUITextBlock(new RectTransform(textBlockScale, layoutGroup.RectTransform), label, font: font, textAlignment: Alignment.CenterLeft) + { + CanBeFocused = false + }; GUI.Style.Apply(text, "GUIButtonHorizontal", this); Enabled = true; @@ -148,9 +163,9 @@ namespace Barotrauma private void ResizeBox() { - box.RectTransform.NonScaledSize = new Point(RectTransform.NonScaledSize.Y); - text.RectTransform.NonScaledSize = new Point(Rect.Width - box.Rect.Width, text.Rect.Height); - text.RectTransform.AbsoluteOffset = new Point(box.Rect.Width, 0); + Vector2 textBlockScale = new Vector2(Math.Max(Rect.Width - box.Rect.Width, 0.0f) / Math.Max(Rect.Width, 1.0f), 1.0f); + text.RectTransform.RelativeSize = textBlockScale; + text.SetTextPos(); } protected override void Update(float deltaTime) diff --git a/Barotrauma/BarotraumaClient/Source/GUI/LoadingScreen.cs b/Barotrauma/BarotraumaClient/Source/GUI/LoadingScreen.cs index 52b571a7c..a9afef032 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/LoadingScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/LoadingScreen.cs @@ -21,11 +21,11 @@ namespace Barotrauma private Video currSplashScreen; private DateTime videoStartTime; - private Queue> pendingSplashScreens = new Queue>(); + private Queue> pendingSplashScreens = new Queue>(); /// - /// Pair.first = filepath, Pair.second = resolution + /// Triplet.first = filepath, Triplet.second = resolution, Triplet.third = audio gain /// - public Queue> PendingSplashScreens + public Queue> PendingSplashScreens { get { @@ -49,7 +49,7 @@ namespace Barotrauma { lock (loadMutex) { - return currSplashScreen != null; + return currSplashScreen != null || pendingSplashScreens.Count > 0; } } } @@ -149,7 +149,7 @@ namespace Barotrauma TitlePosition = new Vector2(GameMain.GraphicsWidth * 0.5f, GameMain.GraphicsHeight * 0.45f); } - spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend); + spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, samplerState: GUI.SamplerState); graphics.Clear(Color.Black); spriteBatch.Draw(backgroundTexture, BackgroundPosition, null, Color.White * Math.Min(state / 5.0f, 1.0f), 0.0f, @@ -168,7 +168,7 @@ namespace Barotrauma WaterRenderer.Instance.RenderWater(spriteBatch, renderTarget, null); } - spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend); + spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, samplerState: GUI.SamplerState); titleSprite?.Draw(spriteBatch, TitlePosition, Color.White * Math.Min((state - 1.0f) / 5.0f, 1.0f), scale: titleScale); @@ -280,6 +280,7 @@ namespace Barotrauma try { currSplashScreen = new Video(graphics, GameMain.SoundManager, fileName, (uint)resolution.X, (uint)resolution.Y); + currSplashScreen.AudioGain = newSplashScreen.Third; videoStartTime = DateTime.Now; } catch (Exception e) diff --git a/Barotrauma/BarotraumaClient/Source/GameMain.cs b/Barotrauma/BarotraumaClient/Source/GameMain.cs index 1199a63eb..fff5b55ee 100644 --- a/Barotrauma/BarotraumaClient/Source/GameMain.cs +++ b/Barotrauma/BarotraumaClient/Source/GameMain.cs @@ -166,6 +166,8 @@ namespace Barotrauma get { return loadingScreenOpen; } } + private const GraphicsProfile GfxProfile = GraphicsProfile.Reach; + public GameMain(string[] args) { Content.RootDirectory = "Content"; @@ -173,6 +175,7 @@ namespace Barotrauma GraphicsDeviceManager = new GraphicsDeviceManager(this); GraphicsDeviceManager.IsFullScreen = false; + GraphicsDeviceManager.GraphicsProfile = GfxProfile; GraphicsDeviceManager.ApplyChanges(); Window.Title = "Barotrauma"; @@ -222,7 +225,7 @@ namespace Barotrauma GraphicsHeight = Math.Min(GraphicsDevice.DisplayMode.Height, GraphicsHeight); break; } - GraphicsDeviceManager.GraphicsProfile = GraphicsProfile.Reach; + GraphicsDeviceManager.GraphicsProfile = GfxProfile; GraphicsDeviceManager.PreferredBackBufferFormat = SurfaceFormat.Color; GraphicsDeviceManager.PreferMultiSampling = false; GraphicsDeviceManager.SynchronizeWithVerticalRetrace = Config.VSyncEnabled; @@ -292,6 +295,8 @@ namespace Barotrauma GraphicsWidth = GraphicsDevice.Viewport.Width; GraphicsHeight = GraphicsDevice.Viewport.Height; + ApplyGraphicsSettings(); + ConvertUnits.SetDisplayUnitToSimUnitRatio(Physics.DisplayToSimRation); spriteBatch = new SpriteBatch(GraphicsDevice); @@ -308,8 +313,6 @@ namespace Barotrauma bool canLoadInSeparateThread = true; - ApplyGraphicsSettings(); - loadingCoroutine = CoroutineManager.StartCoroutine(Load(canLoadInSeparateThread), "Load", canLoadInSeparateThread); } @@ -382,9 +385,10 @@ namespace Barotrauma if (Config.EnableSplashScreen) { var pendingSplashScreens = TitleScreen.PendingSplashScreens; - pendingSplashScreens?.Enqueue(new Pair("Content/Splash_UTG.mp4", new Point(1280, 720))); - pendingSplashScreens?.Enqueue(new Pair("Content/Splash_FF.mp4", new Point(1280, 720))); - pendingSplashScreens?.Enqueue(new Pair("Content/Splash_Daedalic.mp4", new Point(1920, 1080))); + float baseVolume = MathHelper.Clamp(Config.SoundVolume * 2.0f, 0.0f, 1.0f); + pendingSplashScreens?.Enqueue(new Triplet("Content/Splash_UTG.mp4", new Point(1280, 720), baseVolume * 0.5f)); + pendingSplashScreens?.Enqueue(new Triplet("Content/Splash_FF.mp4", new Point(1280, 720), baseVolume)); + pendingSplashScreens?.Enqueue(new Triplet("Content/Splash_Daedalic.mp4", new Point(1920, 1080), baseVolume * 0.15f)); } //if not loading in a separate thread, wait for the splash screens to finish before continuing the loading @@ -477,11 +481,6 @@ namespace Barotrauma yield return CoroutineStatus.Running; JobPrefab.LoadAll(GetFilesOfType(ContentType.Jobs)); - // Add any missing jobs from the prefab into Config.JobNamePreferences. - foreach (string job in JobPrefab.List.Keys) - { - if (!Config.JobPreferences.Contains(job)) { Config.JobPreferences.Add(job); } - } NPCConversation.LoadAll(GetFilesOfType(ContentType.NPCConversations)); @@ -779,7 +778,17 @@ namespace Barotrauma } } - GUI.ClearUpdateList(); +#if DEBUG + if (GameMain.NetworkMember == null) + { + if (PlayerInput.KeyHit(Keys.P) && !(GUI.KeyboardDispatcher.Subscriber is GUITextBox)) + { + DebugConsole.Paused = !DebugConsole.Paused; + } + } +#endif + + GUI.ClearUpdateList(); paused = (DebugConsole.IsOpen || GUI.PauseMenuOpen || GUI.SettingsMenuOpen || Tutorial.ContentRunning || DebugConsole.Paused) && (NetworkMember == null || !NetworkMember.GameStarted); @@ -800,7 +809,7 @@ namespace Barotrauma DebugConsole.AddToGUIUpdateList(); - DebugConsole.Update(this, (float)Timing.Step); + DebugConsole.Update((float)Timing.Step); paused = paused || (DebugConsole.IsOpen && (NetworkMember == null || !NetworkMember.GameStarted)); if (!paused) @@ -878,6 +887,7 @@ namespace Barotrauma { spriteBatch.Begin(); GUI.DrawRectangle(spriteBatch, GUI.MouseOn.MouseRect, Color.Lime); + GUI.DrawRectangle(spriteBatch, GUI.MouseOn.Rect, Color.Cyan); spriteBatch.End(); } @@ -887,6 +897,61 @@ namespace Barotrauma PerformanceCounter.DrawTimeGraph.Update(sw.ElapsedTicks / (float)TimeSpan.TicksPerMillisecond); } + + public static void QuitToMainMenu(bool save, bool showVerificationPrompt) + { + if (showVerificationPrompt) + { + string text = (Screen.Selected is CharacterEditor.CharacterEditorScreen || Screen.Selected is SubEditorScreen) ? "PauseMenuQuitVerificationEditor" : "PauseMenuQuitVerification"; + var msgBox = new GUIMessageBox("", TextManager.Get(text), new string[] { TextManager.Get("Yes"), TextManager.Get("Cancel") }) + { + UserData = "verificationprompt" + }; + msgBox.Buttons[0].OnClicked = (yesBtn, userdata) => + { + QuitToMainMenu(save); + return true; + }; + msgBox.Buttons[0].OnClicked += msgBox.Close; + msgBox.Buttons[1].OnClicked += msgBox.Close; + } + + } + + public static void QuitToMainMenu(bool save) + { + if (save) + { + SaveUtil.SaveGame(GameMain.GameSession.SavePath); + } + + if (GameMain.Client != null) + { + GameMain.Client.Disconnect(); + GameMain.Client = null; + } + + CoroutineManager.StopCoroutines("EndCinematic"); + + if (GameMain.GameSession != null) + { + if (Tutorial.Initialized) + { + ((TutorialMode)GameMain.GameSession.GameMode).Tutorial?.Stop(); + } + + if (GameSettings.SendUserStatistics) + { + Mission mission = GameMain.GameSession.Mission; + GameAnalyticsManager.AddDesignEvent("QuitRound:" + (save ? "Save" : "NoSave")); + GameAnalyticsManager.AddDesignEvent("EndRound:" + (mission == null ? "NoMission" : (mission.Completed ? "MissionCompleted" : "MissionFailed"))); + } + GameMain.GameSession = null; + } + GUIMessageBox.CloseAll(); + GameMain.MainMenuScreen.Select(); + } + public void ShowCampaignDisclaimer(Action onContinue = null) { var msgBox = new GUIMessageBox(TextManager.Get("CampaignDisclaimerTitle"), TextManager.Get("CampaignDisclaimerText"), @@ -986,8 +1051,19 @@ namespace Barotrauma { if (NetworkMember != null) NetworkMember.Disconnect(); SteamManager.ShutDown(); - if (GameSettings.SendUserStatistics) GameAnalytics.OnQuit(); - if (GameSettings.SaveDebugConsoleLogs) DebugConsole.SaveLogs(); + + try + { + SaveUtil.CleanUnnecessarySaveFiles(); + } + catch (Exception e) + { + DebugConsole.ThrowError("Error while cleaning unnecessary save files", e); + } + + if (GameSettings.SendUserStatistics){ GameAnalytics.OnQuit(); } + if (GameSettings.SaveDebugConsoleLogs) { DebugConsole.SaveLogs(); } + base.OnExiting(sender, args); } diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs b/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs index a853eaeda..dd7f32d52 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs @@ -116,7 +116,8 @@ namespace Barotrauma //Spacing = (int)(3 * GUI.Scale), ScrollBarEnabled = false, ScrollBarVisible = false, - CanBeFocused = false + CanBeFocused = true, + OnSelected = (component, userdata) => false }; scrollButtonUp = new GUIButton(new RectTransform(scrollButtonSize, crewArea.RectTransform, Anchor.TopLeft, Pivot.TopLeft), "", Alignment.Center, "GUIButtonVerticalArrow") @@ -443,6 +444,13 @@ namespace Barotrauma ToolTip = characterToolTip }; + + if (GameMain.GameSession?.GameMode?.Mission is CombatMission combatMission) + { + new GUIFrame(new RectTransform(Vector2.One, characterArea.RectTransform), style: "InnerGlow", + color: character.TeamID == Character.TeamType.Team1 ? Color.SteelBlue : Color.OrangeRed); + } + var characterName = new GUITextBlock(new RectTransform(new Point(characterArea.Rect.Width - characterImage.Rect.Width - soundIcon.Rect.Width - 10, characterArea.Rect.Height), characterArea.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(soundIcon.Rect.Width + 10, 0) }, character.Name, textColor: frame.Color, font: GUI.SmallFont, wrap: true) @@ -1016,7 +1024,7 @@ namespace Barotrauma ToggleCrewAreaOpen = true; var characterElement = characterListBox.Content.FindChild(character); GUIButton orderBtn = characterElement.FindChild(order, recursive: true) as GUIButton; - if (orderBtn.Frame.FlashTimer <= 0) + if (orderBtn.FlashTimer <= 0) { orderBtn.Flash(color, 1.5f, false, flashRectInflate); } @@ -1360,7 +1368,7 @@ namespace Barotrauma public void UpdateReports(float deltaTime) { bool canIssueOrders = false; - if (Character.Controlled?.CurrentHull != null && Character.Controlled.SpeechImpediment < 100.0f) + if (Character.Controlled?.CurrentHull?.Submarine != null && Character.Controlled.SpeechImpediment < 100.0f) { WifiComponent radio = GetHeadset(Character.Controlled, true); canIssueOrders = radio != null && radio.CanTransmit(); diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/MultiPlayerCampaign.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/MultiPlayerCampaign.cs index 26b195c90..73c7dd7a0 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/MultiPlayerCampaign.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/MultiPlayerCampaign.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; +using Barotrauma.Extensions; namespace Barotrauma { @@ -13,25 +14,24 @@ namespace Barotrauma private UInt16 startWatchmanID, endWatchmanID; - public static GUIComponent StartCampaignSetup( IEnumerable submarines, IEnumerable saveFiles) + public static void StartCampaignSetup(IEnumerable saveFiles) { - GUIFrame background = new GUIFrame(new RectTransform(Vector2.One, GUI.Canvas), style: "GUIBackgroundBlocker"); + var parent = GameMain.NetLobbyScreen.CampaignSetupFrame; + parent.ClearChildren(); + parent.Visible = true; + GameMain.NetLobbyScreen.HighlightMode(2); - GUIFrame setupBox = new GUIFrame(new RectTransform(new Vector2(0.25f, 0.45f), background.RectTransform, Anchor.Center) { MinSize = new Point(500, 550) }); - var paddedFrame = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 0.9f), setupBox.RectTransform, Anchor.Center)) + var layout = new GUILayoutGroup(new RectTransform(Vector2.One, parent.RectTransform, Anchor.Center)) { Stretch = true }; - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.1f), paddedFrame.RectTransform,Anchor.TopCenter), - TextManager.Get("CampaignSetup"), font: GUI.LargeFont); - - var buttonContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.07f), paddedFrame.RectTransform) { RelativeOffset = new Vector2(0.0f, 0.1f) }, isHorizontal: true) + var buttonContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.07f), layout.RectTransform) { RelativeOffset = new Vector2(0.0f, 0.1f) }, isHorizontal: true) { RelativeSpacing = 0.02f }; - var campaignContainer = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.9f), paddedFrame.RectTransform, Anchor.BottomLeft), style: "InnerFrame") + var campaignContainer = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.9f), layout.RectTransform, Anchor.BottomLeft), style: "InnerFrame") { CanBeFocused = false }; @@ -39,9 +39,9 @@ namespace Barotrauma var newCampaignContainer = new GUIFrame(new RectTransform(Vector2.One, campaignContainer.RectTransform, Anchor.BottomLeft), style: null); var loadCampaignContainer = new GUIFrame(new RectTransform(Vector2.One, campaignContainer.RectTransform, Anchor.BottomLeft), style: null); - var campaignSetupUI = new CampaignSetupUI(true, newCampaignContainer, loadCampaignContainer, submarines, saveFiles); + var campaignSetupUI = new CampaignSetupUI(true, newCampaignContainer, loadCampaignContainer, null, saveFiles); - var newCampaignButton = new GUIButton(new RectTransform(new Vector2(0.3f, 1.0f), buttonContainer.RectTransform), + var newCampaignButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.0f), buttonContainer.RectTransform), TextManager.Get("NewCampaign"), style: "GUITabButton") { OnClicked = (btn, obj) => @@ -52,7 +52,7 @@ namespace Barotrauma } }; - var loadCampaignButton = new GUIButton(new RectTransform(new Vector2(0.3f, 1.00f), buttonContainer.RectTransform), + var loadCampaignButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.00f), buttonContainer.RectTransform), TextManager.Get("LoadCampaign"), style: "GUITabButton") { OnClicked = (btn, obj) => @@ -67,20 +67,6 @@ namespace Barotrauma campaignSetupUI.StartNewGame = GameMain.Client.SetupNewCampaign; campaignSetupUI.LoadGame = GameMain.Client.SetupLoadCampaign; - - var cancelButton = new GUIButton(new RectTransform(new Vector2(0.25f, 0.1f), paddedFrame.RectTransform, Anchor.BottomLeft), - TextManager.Get("Cancel"), style: "GUIButtonLarge") - { - IgnoreLayoutGroups = true, - OnClicked = (btn, obj) => - { - background.Visible = false; - - return true; - } - }; - - return background; } public override void Update(float deltaTime) diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/CaptainTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/CaptainTutorial.cs index 73e18c6f2..a9b4039af 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/CaptainTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/CaptainTutorial.cs @@ -255,9 +255,9 @@ namespace Barotrauma.Tutorials } if (order.Options[orderIndex] == option) { - if (GameMain.GameSession.CrewManager.OrderOptionButtons[i].Frame.FlashTimer <= 0) + if (GameMain.GameSession.CrewManager.OrderOptionButtons[i].FlashTimer <= 0) { - GameMain.GameSession.CrewManager.OrderOptionButtons[i].Frame.Flash(highlightColor); + GameMain.GameSession.CrewManager.OrderOptionButtons[i].Flash(highlightColor); } } diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/EngineerTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/EngineerTutorial.cs index 87188c524..a458bb670 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/EngineerTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/EngineerTutorial.cs @@ -370,9 +370,9 @@ namespace Barotrauma.Tutorials } else if (IsSelectedItem(engineer_brokenJunctionBox) && repairableJunctionBoxComponent.CurrentFixer == null) { - if (repairableJunctionBoxComponent.RepairButton.Frame.FlashTimer <= 0) + if (repairableJunctionBoxComponent.RepairButton.FlashTimer <= 0) { - repairableJunctionBoxComponent.RepairButton.Frame.Flash(); + repairableJunctionBoxComponent.RepairButton.Flash(); } } yield return null; diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/MechanicTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/MechanicTutorial.cs index db5d5f16f..4f58acb60 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/MechanicTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/MechanicTutorial.cs @@ -416,9 +416,9 @@ namespace Barotrauma.Tutorials if (mechanic_deconstructor.InputContainer.Inventory.FindItemByIdentifier("oxygentank") != null && !mechanic_deconstructor.IsActive) { - if (mechanic_deconstructor.ActivateButton.Frame.FlashTimer <= 0) + if (mechanic_deconstructor.ActivateButton.FlashTimer <= 0) { - mechanic_deconstructor.ActivateButton.Frame.Flash(highlightColor, 1.5f, false); + mechanic_deconstructor.ActivateButton.Flash(highlightColor, 1.5f, false); } } } @@ -452,9 +452,9 @@ namespace Barotrauma.Tutorials } else if (mechanic_fabricator.InputContainer.Inventory.FindItemByIdentifier("aluminium") != null && mechanic_fabricator.InputContainer.Inventory.FindItemByIdentifier("sodium") != null && !mechanic_fabricator.IsActive) { - if (mechanic_fabricator.ActivateButton.Frame.FlashTimer <= 0) + if (mechanic_fabricator.ActivateButton.FlashTimer <= 0) { - mechanic_fabricator.ActivateButton.Frame.Flash(highlightColor, 1.5f, false); + mechanic_fabricator.ActivateButton.Flash(highlightColor, 1.5f, false); } } else if (mechanic.Inventory.FindItemByIdentifier("aluminium") != null || mechanic.Inventory.FindItemByIdentifier("sodium") != null) @@ -544,9 +544,9 @@ namespace Barotrauma.Tutorials } else if (IsSelectedItem(mechanic_brokenPump.Item) && repairablePumpComponent.CurrentFixer == null) { - if (repairablePumpComponent.RepairButton.Frame.FlashTimer <= 0) + if (repairablePumpComponent.RepairButton.FlashTimer <= 0) { - repairablePumpComponent.RepairButton.Frame.Flash(); + repairablePumpComponent.RepairButton.Flash(); } } } diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameSession.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameSession.cs index 81b5040f3..6816e6f26 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameSession.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameSession.cs @@ -18,6 +18,11 @@ namespace Barotrauma private bool ToggleInfoFrame() { + if (GameMain.NetworkMember != null && GameMain.NetLobbyScreen != null) + { + if (GameMain.NetLobbyScreen.HeadSelectionList != null) { GameMain.NetLobbyScreen.HeadSelectionList.Visible = false; } + if (GameMain.NetLobbyScreen.JobSelectionFrame != null) { GameMain.NetLobbyScreen.JobSelectionFrame.Visible = false; } + } if (infoFrame == null) { CreateInfoFrame(); @@ -37,7 +42,7 @@ namespace Barotrauma infoFrame = new GUIButton(new RectTransform(Vector2.One, GUI.Canvas), style: "GUIBackgroundBlocker"); - var innerFrame = new GUIFrame(new RectTransform(new Vector2(0.3f, 0.35f), infoFrame.RectTransform, Anchor.Center) { MinSize = new Point(width, height) }); + var innerFrame = new GUIFrame(new RectTransform(new Vector2(0.5f, 0.35f), infoFrame.RectTransform, Anchor.Center) { MinSize = new Point(width, height), RelativeOffset = new Vector2(0.0f, 0.033f) }); var paddedFrame = new GUIFrame(new RectTransform(new Vector2(0.95f, 0.9f), innerFrame.RectTransform, Anchor.Center), style: null); var buttonArea = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.08f), paddedFrame.RectTransform), isHorizontal: true) @@ -144,6 +149,12 @@ namespace Barotrauma if (GUI.DisableHUD) return; GameMode?.AddToGUIUpdateList(); infoFrame?.AddToGUIUpdateList(); + + if (GameMain.NetworkMember != null) + { + GameMain.NetLobbyScreen?.HeadSelectionList?.AddToGUIUpdateList(); + GameMain.NetLobbyScreen?.JobSelectionFrame?.AddToGUIUpdateList(); + } } partial void UpdateProjSpecific(float deltaTime) @@ -163,7 +174,24 @@ namespace Barotrauma ToggleInfoFrame(); } - infoFrame?.UpdateManually(deltaTime); + if (GameMain.NetworkMember != null) + { + if (GameMain.NetLobbyScreen?.HeadSelectionList != null) + { + if (PlayerInput.LeftButtonDown() && !GUI.IsMouseOn(GameMain.NetLobbyScreen.HeadSelectionList)) + { + if (GameMain.NetLobbyScreen.HeadSelectionList != null) { GameMain.NetLobbyScreen.HeadSelectionList.Visible = false; } + } + } + if (GameMain.NetLobbyScreen?.JobSelectionFrame != null) + { + if (PlayerInput.LeftButtonDown() && !GUI.IsMouseOn(GameMain.NetLobbyScreen.JobSelectionFrame)) + { + GameMain.NetLobbyScreen.JobList.Deselect(); + if (GameMain.NetLobbyScreen.JobSelectionFrame != null) { GameMain.NetLobbyScreen.JobSelectionFrame.Visible = false; } + } + } + } } public void Draw(SpriteBatch spriteBatch) @@ -171,7 +199,7 @@ namespace Barotrauma if (GUI.DisableHUD) return; GameMode?.Draw(spriteBatch); - infoFrame?.DrawManually(spriteBatch); + //infoFrame?.DrawManually(spriteBatch); } } } diff --git a/Barotrauma/BarotraumaClient/Source/GameSettings.cs b/Barotrauma/BarotraumaClient/Source/GameSettings.cs index b4b7e2a49..064f183c0 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSettings.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSettings.cs @@ -152,8 +152,7 @@ namespace Barotrauma var languageDD = new GUIDropDown(new RectTransform(new Vector2(1.0f, 0.045f), generalLayoutGroup.RectTransform)); foreach (string language in TextManager.AvailableLanguages) { - //TODO: display the name of the language in the target language? - languageDD.AddItem(language, language); + languageDD.AddItem(TextManager.GetTranslatedLanguageName(language), language); } languageDD.SelectItem(TextManager.Language); languageDD.OnSelected = (guiComponent, obj) => @@ -356,7 +355,7 @@ namespace Barotrauma }; lightScrollBar.OnMoved(lightScrollBar, lightScrollBar.BarScroll); - new GUITickBox(new RectTransform(tickBoxScale, rightColumn.RectTransform, scaleBasis: ScaleBasis.BothHeight), TextManager.Get("SpecularLighting")) + /*new GUITickBox(new RectTransform(tickBoxScale, rightColumn.RectTransform, scaleBasis: ScaleBasis.BothHeight), TextManager.Get("SpecularLighting")) { ToolTip = TextManager.Get("SpecularLightingToolTip"), Selected = SpecularityEnabled, @@ -366,7 +365,7 @@ namespace Barotrauma UnsavedSettings = true; return true; } - }; + };*/ new GUITickBox(new RectTransform(tickBoxScale, rightColumn.RectTransform, scaleBasis: ScaleBasis.BothHeight), TextManager.Get("ChromaticAberration")) { @@ -508,8 +507,8 @@ namespace Barotrauma new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), voipSettings.RectTransform), TextManager.Get("VoiceChat")); - IList deviceNames = Alc.GetStringList((IntPtr)null, Alc.CaptureDeviceSpecifier); - foreach (string name in deviceNames) + CaptureDeviceNames = Alc.GetStringList((IntPtr)null, Alc.CaptureDeviceSpecifier); + foreach (string name in CaptureDeviceNames) { DebugConsole.NewMessage(name + " " + name.Length.ToString(), Color.Lime); } @@ -524,19 +523,19 @@ namespace Barotrauma return true; }; - if (string.IsNullOrWhiteSpace(VoiceCaptureDevice) || !(deviceNames?.Contains(VoiceCaptureDevice) ?? false)) + if (string.IsNullOrWhiteSpace(VoiceCaptureDevice) || !(CaptureDeviceNames?.Contains(VoiceCaptureDevice) ?? false)) { - VoiceCaptureDevice = deviceNames?.Count > 0 ? deviceNames[0] : null; + VoiceCaptureDevice = CaptureDeviceNames?.Count > 0 ? CaptureDeviceNames[0] : null; } if (string.IsNullOrWhiteSpace(VoiceCaptureDevice)) { VoiceSetting = VoiceMode.Disabled; } #if (!OSX) - var deviceList = new GUIDropDown(new RectTransform(new Vector2(1.0f, 0.15f), voipSettings.RectTransform), TrimAudioDeviceName(VoiceCaptureDevice), deviceNames.Count); - if (deviceNames?.Count > 0) + var deviceList = new GUIDropDown(new RectTransform(new Vector2(1.0f, 0.15f), voipSettings.RectTransform), TrimAudioDeviceName(VoiceCaptureDevice), CaptureDeviceNames.Count); + if (CaptureDeviceNames?.Count > 0) { - foreach (string name in deviceNames) + foreach (string name in CaptureDeviceNames) { deviceList.AddItem(TrimAudioDeviceName(name), name); } @@ -571,12 +570,12 @@ namespace Barotrauma ToolTip = TextManager.Get("RefreshDefaultDeviceToolTip"), OnClicked = (bt, userdata) => { - deviceNames = Alc.GetStringList((IntPtr)null, Alc.CaptureDeviceSpecifier); - if (deviceNames?.Count > 0) + CaptureDeviceNames = Alc.GetStringList((IntPtr)null, Alc.CaptureDeviceSpecifier); + if (CaptureDeviceNames?.Count > 0) { - if (VoiceCaptureDevice == deviceNames[0]) return true; + if (VoiceCaptureDevice == CaptureDeviceNames[0]) return true; - VoipCapture.ChangeCaptureDevice(deviceNames[0]); + VoipCapture.ChangeCaptureDevice(CaptureDeviceNames[0]); currentDeviceTextBlock.Text = TextManager.AddPunctuation(':', TextManager.Get("CurrentDevice"), TrimAudioDeviceName(VoiceCaptureDevice)); currentDeviceTextBlock.Flash(Color.Blue); } @@ -598,12 +597,12 @@ namespace Barotrauma for (int i = 0; i < 3; i++) { string langStr = "VoiceMode." + ((VoiceMode)i).ToString(); - var tick = new GUITickBox(new RectTransform(tickBoxScale / 0.4f, voipSettings.RectTransform, scaleBasis: ScaleBasis.BothHeight), TextManager.Get(langStr)) + var tick = new GUITickBox(new RectTransform(tickBoxScale / 0.4f, voipSettings.RectTransform, scaleBasis: ScaleBasis.BothHeight), TextManager.Get(langStr), style: "GUIRadioButton") { ToolTip = TextManager.Get(langStr + "ToolTip") }; - voiceMode.AddRadioButton((VoiceMode)i, tick); + voiceMode.AddRadioButton(i, tick); } var micVolumeText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), voipSettings.RectTransform), TextManager.Get("MicrophoneVolume")); @@ -611,10 +610,10 @@ namespace Barotrauma barSize: 0.05f) { UserData = micVolumeText, - BarScroll = (float)Math.Sqrt(MathUtils.InverseLerp(0.2f, 5.0f, MicrophoneVolume)), + BarScroll = (float)Math.Sqrt(MathUtils.InverseLerp(0.2f, MaxMicrophoneVolume, MicrophoneVolume)), OnMoved = (scrollBar, scroll) => { - MicrophoneVolume = MathHelper.Lerp(0.2f, 10.0f, scroll * scroll); + MicrophoneVolume = MathHelper.Lerp(0.2f, MaxMicrophoneVolume, scroll * scroll); MicrophoneVolume = (float)Math.Round(MicrophoneVolume, 1); ChangeSliderText(scrollBar, MicrophoneVolume); scrollBar.Step = 0.05f; @@ -667,7 +666,7 @@ namespace Barotrauma return true; }; - voiceMode.OnSelect = (GUIRadioButtonGroup rbg, Enum value) => + voiceMode.OnSelect = (GUIRadioButtonGroup rbg, int? value) => { if (rbg.Selected != null && rbg.Selected.Equals(value)) return; try @@ -708,7 +707,7 @@ namespace Barotrauma VoiceSetting = VoiceMode.Disabled; } }; - voiceMode.Selected = VoiceSetting; + voiceMode.Selected = (int)VoiceSetting; if (string.IsNullOrWhiteSpace(VoiceCaptureDevice)) { voiceMode.Enabled = false; @@ -1157,7 +1156,7 @@ namespace Barotrauma { ApplySettings(); if (Screen.Selected != GameMain.MainMenuScreen) GUI.SettingsMenuOpen = false; - if (contentPackageSelectionDirty) + if (contentPackageSelectionDirty || ContentPackage.List.Any(cp => cp.NeedsRestart)) { new GUIMessageBox(TextManager.Get("RestartRequiredLabel"), TextManager.Get("RestartRequiredGeneric")); } diff --git a/Barotrauma/BarotraumaClient/Source/Items/CharacterInventory.cs b/Barotrauma/BarotraumaClient/Source/Items/CharacterInventory.cs index 4f2a5eb2d..c8f6b7e9d 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/CharacterInventory.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/CharacterInventory.cs @@ -718,11 +718,11 @@ namespace Barotrauma if (item.ParentInventory != this) { - //in another inventory -> attempt to place in the character's inventory - if (item.ParentInventory.Locked || item.ParentInventory == null) + if (item.ParentInventory == null || item.ParentInventory.Locked) { return QuickUseAction.None; } + //in another inventory -> attempt to place in the character's inventory else if (allowInventorySwap) { if (item.Container == null || character.Inventory.FindIndex(item.Container) == -1) // Not a subinventory in the character's inventory diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/ItemContainer.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/ItemContainer.cs index 5fafa9498..8f1972c6d 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/ItemContainer.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/ItemContainer.cs @@ -64,6 +64,10 @@ namespace Barotrauma.Items.Components [Serialize(null, false, description: "An optional text displayed above the item's inventory.")] public string UILabel { get; set; } + [Serialize(true, false, description: "Should an indicator displaying the state of the contained items be displayed on this item's inventory slot. "+ + "If this item can only contain one item, the indicator will display the condition of the contained item, otherwise it will indicate how full the item is.")] + public bool ShowContainedStateIndicator { get; set; } + [Serialize(false, false, description: "If enabled, the condition of this item is displayed in the indicator that would normally show the state of the contained items." + " May be useful for items such as ammo boxes and magazines that spawn projectiles as needed," + " and use the condition to determine how many projectiles can be spawned in total.")] diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Controller.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Controller.cs index e4547a6c2..f6ffb5e1d 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Controller.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Controller.cs @@ -38,7 +38,7 @@ namespace Barotrauma.Items.Components private void ToggleCrewArea(bool value, bool storeOriginalState) { - var crewManager = GameMain.GameSession.CrewManager; + var crewManager = GameMain.GameSession?.CrewManager; if (crewManager == null) { return; } if (storeOriginalState) @@ -50,7 +50,7 @@ namespace Barotrauma.Items.Components private void ToggleChatBox(bool value, bool storeOriginalState) { - var crewManager = GameMain.GameSession.CrewManager; + var crewManager = GameMain.GameSession?.CrewManager; if (crewManager == null) { return; } if (crewManager.IsSinglePlayer) diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/MiniMap.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/MiniMap.cs index b9f7fc697..1ccba72ca 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/MiniMap.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/MiniMap.cs @@ -114,7 +114,7 @@ namespace Barotrauma.Items.Components private void DrawHUDFront(SpriteBatch spriteBatch, GUICustomComponent container) { - if (voltage < minVoltage) + if (Voltage < MinVoltage) { Vector2 textSize = GUI.Font.MeasureString(noPowerTip); Vector2 textPos = GuiFrame.Rect.Center.ToVector2(); @@ -164,7 +164,7 @@ namespace Barotrauma.Items.Components } } - if (voltage < minVoltage) + if (Voltage < MinVoltage) { return; } diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Pump.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Pump.cs index 59be09f8d..6b7797bb0 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Pump.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Pump.cs @@ -128,6 +128,7 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); if (pumpSpeedSlider != null) { pumpSpeedSlider.BarScroll = (flowPercentage + 100.0f) / 200.0f; diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Reactor.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Reactor.cs index b64362833..5d725464e 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Reactor.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Reactor.cs @@ -290,6 +290,7 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); turbineOutputScrollBar.BarScroll = targetTurbineOutput / 100.0f; fissionRateScrollBar.BarScroll = targetFissionRate / 100.0f; var itemContainer = item.GetComponent(); @@ -604,14 +605,15 @@ namespace Barotrauma.Items.Components protected override void RemoveComponentSpecific() { - graphLine.Remove(); - fissionRateMeter.Remove(); - turbineOutputMeter.Remove(); - meterPointer.Remove(); - sectorSprite.Remove(); - tempMeterFrame.Remove(); - tempMeterBar.Remove(); - tempRangeIndicator.Remove(); + base.RemoveComponentSpecific(); + graphLine?.Remove(); + fissionRateMeter?.Remove(); + turbineOutputMeter?.Remove(); + meterPointer?.Remove(); + sectorSprite?.Remove(); + tempMeterFrame?.Remove(); + tempMeterBar?.Remove(); + tempRangeIndicator?.Remove(); } public void ClientWrite(IWriteMessage msg, object[] extraData = null) diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Sonar.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Sonar.cs index 330ef05df..e85555c7b 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Sonar.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Sonar.cs @@ -54,7 +54,7 @@ namespace Barotrauma.Items.Components //float = strength of the disruption, between 0-1 List> disruptedDirections = new List>(); - private static Color[] blipColorGradient = + private static readonly Color[] blipColorGradient = { Color.TransparentBlack, new Color(0, 50, 160), @@ -162,9 +162,9 @@ namespace Barotrauma.Items.Components signalWarningText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), paddedControlContainer.RectTransform), "", Color.Orange, textAlignment: Alignment.Center); GUIRadioButtonGroup sonarMode = new GUIRadioButtonGroup(); - sonarMode.AddRadioButton(Mode.Active, activeTickBox); - sonarMode.AddRadioButton(Mode.Passive, passiveTickBox); - sonarMode.Selected = Mode.Passive; + sonarMode.AddRadioButton((int)Mode.Active, activeTickBox); + sonarMode.AddRadioButton((int)Mode.Passive, passiveTickBox); + sonarMode.Selected = (int)Mode.Passive; GuiFrame.CanBeFocused = false; @@ -226,6 +226,7 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); zoomSlider.BarScroll = MathUtils.InverseLerp(MinZoom, MaxZoom, zoom); //make the sonarView customcomponent render the steering view so it gets drawn in front of the sonar item.GetComponent()?.AttachToSonarHUD(sonarView); @@ -434,7 +435,7 @@ namespace Barotrauma.Items.Components if (distSqr > t.SoundRange * t.SoundRange * 2) { continue; } float dist = (float)Math.Sqrt(distSqr); - if (dist > prevPassivePingRadius * Range && dist <= passivePingRadius * Range) + if (dist > prevPassivePingRadius * Range && dist <= passivePingRadius * Range && Rand.Int(sonarBlips.Count) < 500) { Ping(t.WorldPosition, transducerCenter, Math.Min(t.SoundRange, range * 0.5f) * displayScale, 0, displayScale, Math.Min(t.SoundRange, range * 0.5f), @@ -675,14 +676,14 @@ namespace Barotrauma.Items.Components } else if (startOutside) { - if (MathUtils.GetLineCircleIntersections(Vector2.Zero, DisplayRadius, end, start, true, out Vector2? intersection1, out Vector2? intersection2) == 1) + if (MathUtils.GetLineCircleIntersections(Vector2.Zero, DisplayRadius, end, start, true, out Vector2? intersection1, out _) == 1) { DrawLineSprite(spriteBatch, center + intersection1.Value, center + end, color, width: width); } } else if (endOutside) { - if (MathUtils.GetLineCircleIntersections(Vector2.Zero, DisplayRadius, start, end, true, out Vector2? intersection1, out Vector2? intersection2) == 1) + if (MathUtils.GetLineCircleIntersections(Vector2.Zero, DisplayRadius, start, end, true, out Vector2? intersection1, out _) == 1) { DrawLineSprite(spriteBatch, center + start, center + intersection1.Value, color, width: width); } @@ -750,7 +751,7 @@ namespace Barotrauma.Items.Components { size.Y = 0.0f; } - GUI.DrawLine(spriteBatch, center + offset - size, center + offset + size, Color.LightGreen, width: (int)(zoom * 2.5f)); + GUI.DrawLine(spriteBatch, center + offset - size, center + offset + size, Color.LightGreen * signalStrength, width: (int)(zoom * 2.5f)); } } @@ -769,8 +770,6 @@ namespace Barotrauma.Items.Components Vector2 targetPortDiff = (steering.DockingTarget.Item.WorldPosition - transducerCenter) * scale; Vector2 targetPortPos = new Vector2(targetPortDiff.X, -targetPortDiff.Y); - Vector2 midPos = (sourcePortPos + targetPortPos) / 2.0f; - System.Diagnostics.Debug.Assert(steering.ActiveDockingSource.IsHorizontal == steering.DockingTarget.IsHorizontal); Vector2 diff = steering.DockingTarget.Item.WorldPosition - steering.ActiveDockingSource.Item.WorldPosition; float dist = diff.Length(); @@ -851,7 +850,6 @@ namespace Barotrauma.Items.Components private void UpdateDisruptions(Vector2 pingSource, float worldPingRadius, float worldPrevPingRadius) { float worldPingRadiusSqr = worldPingRadius * worldPingRadius; - float worldPrevPingRadiusSqr = worldPrevPingRadius * worldPrevPingRadius; disruptedDirections.Clear(); if (Level.Loaded == null) { return; } diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Steering.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Steering.cs index 595592103..f0dc6be87 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Steering.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Steering.cs @@ -159,9 +159,9 @@ namespace Barotrauma.Items.Components }; GUIRadioButtonGroup modes = new GUIRadioButtonGroup(); - modes.AddRadioButton(Mode.AutoPilot, autopilotTickBox); - modes.AddRadioButton(Mode.Manual, manualTickBox); - modes.Selected = Mode.Manual; + modes.AddRadioButton((int)Mode.AutoPilot, autopilotTickBox); + modes.AddRadioButton((int)Mode.Manual, manualTickBox); + modes.Selected = (int)Mode.Manual; var autoPilotControls = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.6f), paddedControlContainer.RectTransform), "InnerFrame"); var paddedAutoPilotControls = new GUILayoutGroup(new RectTransform(new Vector2(0.8f), autoPilotControls.RectTransform, Anchor.Center)) @@ -171,7 +171,7 @@ namespace Barotrauma.Items.Components }; maintainPosTickBox = new GUITickBox(new RectTransform(new Vector2(0.2f, 0.2f), paddedAutoPilotControls.RectTransform), - TextManager.Get("SteeringMaintainPos"), font: GUI.SmallFont) + TextManager.Get("SteeringMaintainPos"), font: GUI.SmallFont, style: "GUIRadioButton") { Enabled = false, Selected = maintainPos, @@ -208,7 +208,7 @@ namespace Barotrauma.Items.Components levelStartTickBox = new GUITickBox(new RectTransform(new Vector2(0.2f, 0.2f), paddedAutoPilotControls.RectTransform), GameMain.GameSession?.StartLocation == null ? "" : ToolBox.LimitString(GameMain.GameSession.StartLocation.Name, 20), - font: GUI.SmallFont) + font: GUI.SmallFont, style: "GUIRadioButton") { Enabled = false, Selected = levelStartSelected, @@ -235,7 +235,7 @@ namespace Barotrauma.Items.Components levelEndTickBox = new GUITickBox(new RectTransform(new Vector2(0.2f, 0.2f), paddedAutoPilotControls.RectTransform), GameMain.GameSession?.EndLocation == null ? "" : ToolBox.LimitString(GameMain.GameSession.EndLocation.Name, 20), - font: GUI.SmallFont) + font: GUI.SmallFont, style: "GUIRadioButton") { Enabled = false, Selected = levelEndSelected, @@ -263,11 +263,11 @@ namespace Barotrauma.Items.Components autoPilotControlsDisabler = new GUIFrame(new RectTransform(Vector2.One, autoPilotControls.RectTransform), "InnerFrame"); GUIRadioButtonGroup destinations = new GUIRadioButtonGroup(); - destinations.AddRadioButton(Destination.MaintainPos, maintainPosTickBox); - destinations.AddRadioButton(Destination.LevelStart, levelStartTickBox); - destinations.AddRadioButton(Destination.LevelEnd, levelEndTickBox); - destinations.Selected = maintainPos ? Destination.MaintainPos : - levelStartSelected ? Destination.LevelStart : Destination.LevelEnd; + destinations.AddRadioButton((int)Destination.MaintainPos, maintainPosTickBox); + destinations.AddRadioButton((int)Destination.LevelStart, levelStartTickBox); + destinations.AddRadioButton((int)Destination.LevelEnd, levelEndTickBox); + destinations.Selected = (int)(maintainPos ? Destination.MaintainPos : + levelStartSelected ? Destination.LevelStart : Destination.LevelEnd); string steeringVelX = TextManager.Get("SteeringVelocityX"); string steeringVelY = TextManager.Get("SteeringVelocityY"); @@ -442,7 +442,7 @@ namespace Barotrauma.Items.Components int x = rect.X; int y = rect.Y; - if (voltage < minVoltage && currPowerConsumption > 0.0f) return; + if (Voltage < MinVoltage) { return; } Rectangle velRect = new Rectangle(x + 20, y + 20, width - 40, height - 40); Vector2 displaySubPos = (-sonar.DisplayOffset * sonar.Zoom) / sonar.Range * sonar.DisplayRadius * sonar.Zoom; @@ -649,7 +649,7 @@ namespace Barotrauma.Items.Components autoPilotControlsDisabler.Visible = !AutoPilot; - if (voltage < minVoltage && currPowerConsumption > 0.0f) + if (Voltage < MinVoltage) { tipContainer.Visible = true; tipContainer.Text = noPowerTip; @@ -819,6 +819,7 @@ namespace Barotrauma.Items.Components protected override void RemoveComponentSpecific() { + base.RemoveComponentSpecific(); maintainPosIndicator?.Remove(); maintainPosOriginIndicator?.Remove(); steeringIndicator?.Remove(); diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Power/PowerContainer.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Power/PowerContainer.cs index 3c2f9a3e2..cb6f22c5b 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Power/PowerContainer.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Power/PowerContainer.cs @@ -80,6 +80,7 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); if (rechargeSpeedSlider != null) { rechargeSpeedSlider.BarScroll = rechargeSpeed / MaxRechargeSpeed; diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Power/PowerTransfer.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Power/PowerTransfer.cs index 272dfe94f..78abdac83 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Power/PowerTransfer.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Power/PowerTransfer.cs @@ -1,5 +1,6 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; +using System; using System.Xml.Linq; namespace Barotrauma.Items.Components @@ -46,19 +47,26 @@ namespace Barotrauma.Items.Components new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.2f), textContainer.RectTransform), "", textColor: Color.LightGreen) { ToolTip = TextManager.Get("PowerTransferTipPower"), - TextGetter = () => { return powerStr.Replace("[power]", ((int)(-currPowerConsumption)).ToString()); } + TextGetter = () => { return powerStr.Replace("[power]", ((int)Math.Round(-currPowerConsumption)).ToString()); } }; new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), textContainer.RectTransform), TextManager.Get("PowerTransferLoadLabel"), font: GUI.LargeFont) { ToolTip = TextManager.Get("PowerTransferTipLoad") + }; string loadStr = TextManager.Get("PowerTransferLoad"); new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.2f), textContainer.RectTransform), "", textColor: Color.LightBlue) { ToolTip = TextManager.Get("PowerTransferTipLoad"), - TextGetter = () => { return loadStr.Replace("[load]", ((int)(powerLoad)).ToString()); } + TextGetter = () => + { + return loadStr.Replace("[load]", + this is RelayComponent relay ? + ((int)Math.Round(relay.DisplayLoad)).ToString() : + ((int)Math.Round(powerLoad)).ToString()); + } }; } diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/Wire.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/Wire.cs index 0f47fbbf6..cddda1212 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/Wire.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/Wire.cs @@ -5,6 +5,7 @@ using Microsoft.Xna.Framework.Input; using System; using System.Collections.Generic; using System.Linq; +using System.Xml.Linq; namespace Barotrauma.Items.Components { @@ -12,32 +13,34 @@ namespace Barotrauma.Items.Components { partial class WireSection { - public void Draw(SpriteBatch spriteBatch, Color color, Vector2 offset, float depth, float width = 0.3f) + public void Draw(SpriteBatch spriteBatch, Wire wire, Color color, Vector2 offset, float depth, float width = 0.3f) { - spriteBatch.Draw(wireSprite.Texture, + spriteBatch.Draw(wire.wireSprite.Texture, new Vector2(start.X + offset.X, -(start.Y + offset.Y)), null, color, -angle, - new Vector2(0.0f, wireSprite.size.Y / 2.0f), - new Vector2(length / wireSprite.Texture.Width, width), + new Vector2(0.0f, wire.wireSprite.size.Y / 2.0f), + new Vector2(length / wire.wireSprite.Texture.Width, width), SpriteEffects.None, depth); } - public static void Draw(SpriteBatch spriteBatch, Vector2 start, Vector2 end, Color color, float depth, float width = 0.3f) + public static void Draw(SpriteBatch spriteBatch, Wire wire, Vector2 start, Vector2 end, Color color, float depth, float width = 0.3f) { start.Y = -start.Y; end.Y = -end.Y; - - spriteBatch.Draw(wireSprite.Texture, + + spriteBatch.Draw(wire.wireSprite.Texture, start, null, color, MathUtils.VectorToAngle(end - start), - new Vector2(0.0f, wireSprite.size.Y / 2.0f), - new Vector2((Vector2.Distance(start, end)) / wireSprite.Texture.Width, width), + new Vector2(0.0f, wire.wireSprite.size.Y / 2.0f), + new Vector2((Vector2.Distance(start, end)) / wire.wireSprite.Texture.Width, width), SpriteEffects.None, depth); } } - private static Sprite wireSprite; + private static Sprite defaultWireSprite; + private Sprite overrideSprite; + private Sprite wireSprite; private static Wire draggingWire; private static int? selectedNodeIndex; @@ -48,6 +51,28 @@ namespace Barotrauma.Items.Components get { return sectionExtents; } } + partial void InitProjSpecific(XElement element) + { + if (defaultWireSprite == null) + { + defaultWireSprite = new Sprite("Content/Items/wireHorizontal.png", new Vector2(0.5f, 0.5f)) + { + Depth = 0.85f + }; + } + + foreach (XElement subElement in element.Elements()) + { + if (subElement.Name.ToString().ToLowerInvariant() == "wiresprite") + { + overrideSprite = new Sprite(subElement); + break; + } + } + + wireSprite = overrideSprite ?? defaultWireSprite; + } + public void Draw(SpriteBatch spriteBatch, bool editing, float itemDepth = -1) { if (sections.Count == 0 && !IsActive || Hidden) @@ -75,20 +100,20 @@ namespace Barotrauma.Items.Components { foreach (WireSection section in sections) { - section.Draw(spriteBatch, Color.Gold, drawOffset, depth + 0.00001f, 0.7f); + section.Draw(spriteBatch, this, Color.Gold, drawOffset, depth + 0.00001f, 0.7f); } } else if (item.IsSelected) { foreach (WireSection section in sections) { - section.Draw(spriteBatch, Color.Red, drawOffset, depth + 0.00001f, 0.7f); + section.Draw(spriteBatch, this, Color.Red, drawOffset, depth + 0.00001f, 0.7f); } } foreach (WireSection section in sections) { - section.Draw(spriteBatch, item.Color, drawOffset, depth, 0.3f); + section.Draw(spriteBatch, this, item.Color, drawOffset, depth, 0.3f); } if (nodes.Count > 0) @@ -101,7 +126,8 @@ namespace Barotrauma.Items.Components if (IsActive && Vector2.Distance(newNodePos, nodes[nodes.Count - 1]) > nodeDistance) { WireSection.Draw( - spriteBatch, + spriteBatch, + this, new Vector2(nodes[nodes.Count - 1].X, nodes[nodes.Count - 1].Y) + drawOffset, new Vector2(newNodePos.X, newNodePos.Y) + drawOffset, item.Color * 0.5f, @@ -141,12 +167,12 @@ namespace Barotrauma.Items.Components Vector2 endPos = start + new Vector2((float)Math.Sin(angle), -(float)Math.Cos(angle)) * 50.0f; WireSection.Draw( - spriteBatch, + spriteBatch, this, start, endPos, Color.Orange, depth + 0.00001f, 0.2f); WireSection.Draw( - spriteBatch, + spriteBatch, this, start, start + (endPos - start) * 0.7f, item.Color, depth, 0.3f); } diff --git a/Barotrauma/BarotraumaClient/Source/Items/Inventory.cs b/Barotrauma/BarotraumaClient/Source/Items/Inventory.cs index 2ca75ce47..9f5425e5b 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Inventory.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Inventory.cs @@ -993,7 +993,7 @@ namespace Barotrauma Color.Lerp(Color.Red, Color.Green, item.Condition / item.MaxCondition) * 0.8f, true); } - if (itemContainer != null) + if (itemContainer != null && itemContainer.ShowContainedStateIndicator) { float containedState = 0.0f; if (itemContainer.ShowConditionInContainedStateIndicator) @@ -1156,7 +1156,7 @@ namespace Barotrauma private void ApplyReceivedState() { - if (receivedItemIDs == null) return; + if (receivedItemIDs == null || (Owner != null && Owner.Removed)) { return; } for (int i = 0; i < capacity; i++) { @@ -1171,7 +1171,7 @@ namespace Barotrauma { if (receivedItemIDs[i] > 0) { - if (!(Entity.FindEntityByID(receivedItemIDs[i]) is Item item) || Items[i] == item) continue; + if (!(Entity.FindEntityByID(receivedItemIDs[i]) is Item item) || Items[i] == item) { continue; } TryPutItem(item, i, true, true, null, false); for (int j = 0; j < capacity; j++) diff --git a/Barotrauma/BarotraumaClient/Source/Items/Item.cs b/Barotrauma/BarotraumaClient/Source/Items/Item.cs index 13a582b24..7af86c154 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Item.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Item.cs @@ -19,7 +19,7 @@ namespace Barotrauma private readonly List positionBuffer = new List(); - private List activeHUDs = new List(); + private readonly List activeHUDs = new List(); public IEnumerable ActiveHUDs => activeHUDs; @@ -230,9 +230,6 @@ namespace Barotrauma if (body == null) { - bool flipHorizontal = (SpriteEffects & SpriteEffects.FlipHorizontally) != 0; - bool flipVertical = (SpriteEffects & SpriteEffects.FlipVertically) != 0; - if (prefab.ResizeHorizontal || prefab.ResizeVertical) { activeSprite.DrawTiled(spriteBatch, new Vector2(DrawPosition.X - rect.Width / 2, -(DrawPosition.Y + rect.Height / 2)), new Vector2(rect.Width, rect.Height), color: color, @@ -570,7 +567,7 @@ namespace Barotrauma } else { - if (ic.requiredItems.Count == 0 && SerializableProperty.GetProperties(ic).Count == 0) continue; + if (ic.requiredItems.Count == 0 && ic.DisabledRequiredItems.Count == 0 && SerializableProperty.GetProperties(ic).Count == 0) continue; } var componentEditor = new SerializableEntityEditor(listBox.Content.RectTransform, ic, inGame, showName: !inGame); @@ -582,37 +579,44 @@ namespace Barotrauma continue; } + List requiredItems = new List(); foreach (var kvp in ic.requiredItems) { foreach (RelatedItem relatedItem in kvp.Value) { - var textBlock = new GUITextBlock(new RectTransform(new Point(editingHUD.Rect.Width, heightScaled)), - relatedItem.Type.ToString() + " required", font: GUI.SmallFont) - { - Padding = new Vector4(10.0f, 0.0f, 10.0f, 0.0f) - }; - componentEditor.AddCustomContent(textBlock, 1); - - GUITextBox namesBox = new GUITextBox(new RectTransform(new Vector2(0.5f, 1.0f), textBlock.RectTransform, Anchor.CenterRight)) - { - Font = GUI.SmallFont, - Text = relatedItem.JoinedIdentifiers - }; - - namesBox.OnDeselected += (textBox, key) => - { - relatedItem.JoinedIdentifiers = textBox.Text; - textBox.Text = relatedItem.JoinedIdentifiers; - }; - - namesBox.OnEnterPressed += (textBox, text) => - { - relatedItem.JoinedIdentifiers = text; - textBox.Text = relatedItem.JoinedIdentifiers; - return true; - }; + requiredItems.Add(relatedItem); } } + requiredItems.AddRange(ic.DisabledRequiredItems); + + foreach (RelatedItem relatedItem in requiredItems) + { + var textBlock = new GUITextBlock(new RectTransform(new Point(editingHUD.Rect.Width, heightScaled)), + relatedItem.Type.ToString() + " required", font: GUI.SmallFont) + { + Padding = new Vector4(10.0f, 0.0f, 10.0f, 0.0f) + }; + componentEditor.AddCustomContent(textBlock, 1); + + GUITextBox namesBox = new GUITextBox(new RectTransform(new Vector2(0.5f, 1.0f), textBlock.RectTransform, Anchor.CenterRight)) + { + Font = GUI.SmallFont, + Text = relatedItem.JoinedIdentifiers + }; + + namesBox.OnDeselected += (textBox, key) => + { + relatedItem.JoinedIdentifiers = textBox.Text; + textBox.Text = relatedItem.JoinedIdentifiers; + }; + + namesBox.OnEnterPressed += (textBox, text) => + { + relatedItem.JoinedIdentifiers = text; + textBox.Text = relatedItem.JoinedIdentifiers; + return true; + }; + } ic.CreateEditingHUD(componentEditor); componentEditor.Recalculate(); @@ -782,7 +786,7 @@ namespace Barotrauma } } - List texts = new List(); + readonly List texts = new List(); public List GetHUDTexts(Character character) { texts.Clear(); diff --git a/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs b/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs index 97146d94a..40acaf548 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs @@ -216,7 +216,7 @@ namespace Barotrauma.Lights if (GameMain.Config.SpecularityEnabled) { - UpdateSpecularMap(graphics, spriteBatch, spriteBatchTransform, cam, backgroundObstructor); + //UpdateSpecularMap(graphics, spriteBatch, spriteBatchTransform, cam, backgroundObstructor); } graphics.SetRenderTarget(LightMap); @@ -302,19 +302,38 @@ namespace Barotrauma.Lights //draw characters to obstruct the highlighted items/characters and light sprites //--------------------------------------------------------------------------------------------------- - spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend, transformMatrix: spriteBatchTransform); + + spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, effect: SolidColorEffect, transformMatrix: spriteBatchTransform); foreach (Character character in Character.CharacterList) { if (character.CurrentHull == null || !character.Enabled) continue; - if (Character.Controlled?.FocusedCharacter == character) continue; + if (Character.Controlled?.FocusedCharacter == character) continue; foreach (Limb limb in character.AnimController.Limbs) { + if (limb.DeformSprite != null) continue; limb.Draw(spriteBatch, cam, Color.Black); } } spriteBatch.End(); - graphics.BlendState = BlendState.Additive; + DeformableSprite.Effect.CurrentTechnique = DeformableSprite.Effect.Techniques["DeformShaderSolidColor"]; + DeformableSprite.Effect.Parameters["solidColor"].SetValue(Color.Black.ToVector4()); + DeformableSprite.Effect.CurrentTechnique.Passes[0].Apply(); + spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, transformMatrix: spriteBatchTransform); + foreach (Character character in Character.CharacterList) + { + if (character.CurrentHull == null || !character.Enabled) continue; + if (Character.Controlled?.FocusedCharacter == character) continue; + foreach (Limb limb in character.AnimController.Limbs) + { + if (limb.DeformSprite == null) continue; + limb.Draw(spriteBatch, cam, Color.Black); + } + } + spriteBatch.End(); + DeformableSprite.Effect.CurrentTechnique = DeformableSprite.Effect.Techniques["DeformShader"]; + graphics.BlendState = BlendState.Additive; + //draw the actual light volumes, additive particles, hull ambient lights and the halo around the player //--------------------------------------------------------------------------------------------------- spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.Additive, transformMatrix: spriteBatchTransform); @@ -372,10 +391,10 @@ namespace Barotrauma.Lights if (GameMain.Config.SpecularityEnabled) { - spriteBatch.Begin(blendState: CustomBlendStates.Multiplicative); + /*spriteBatch.Begin(blendState: CustomBlendStates.Multiplicative); spriteBatch.Draw(SpecularMap, Vector2.Zero, Color.White); //spriteBatch.Draw(SpecularMap, Vector2.Zero, Color.White); - spriteBatch.End(); + spriteBatch.End();*/ } //draw the actual light volumes, additive particles, hull ambient lights and the halo around the player diff --git a/Barotrauma/BarotraumaClient/Source/Map/Map/Map.cs b/Barotrauma/BarotraumaClient/Source/Map/Map/Map.cs index 270dfe590..e62c283e7 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Map/Map.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Map/Map.cs @@ -47,6 +47,7 @@ namespace Barotrauma private Vector2 drawOffset; private Vector2 drawOffsetNoise; + private float subReticleAnimState; private float targetReticleAnimState; private Vector2 subReticlePosition; @@ -57,6 +58,9 @@ namespace Barotrauma private MapTile[,] mapTiles; private bool messageBoxOpen; + + public Vector2 CenterOffset; + #if DEBUG private GUIComponent editor; @@ -316,7 +320,7 @@ namespace Barotrauma hudOpenState = Math.Min(hudOpenState + deltaTime, 0.75f + (float)Math.Sin(Timing.TotalTime * 3.0f) * 0.25f); - Vector2 rectCenter = new Vector2(rect.Center.X, rect.Center.Y); + Vector2 rectCenter = new Vector2(rect.Center.X, rect.Center.Y) + CenterOffset; float closestDist = 0.0f; highlightedLocation = null; @@ -327,7 +331,7 @@ namespace Barotrauma Location location = Locations[i]; Vector2 pos = rectCenter + (location.MapPosition + drawOffset) * zoom; - if (!rect.Contains(pos)) continue; + if (!rect.Contains(pos)) { continue; } float iconScale = MapGenerationParams.Instance.LocationIconSize / location.Type.Sprite.size.X; @@ -348,28 +352,6 @@ namespace Barotrauma } } - foreach (LocationConnection connection in connections) - { - if (highlightedLocation != CurrentLocation && - connection.Locations.Contains(highlightedLocation) && connection.Locations.Contains(CurrentLocation)) - { - if (PlayerInput.LeftButtonClicked() && - SelectedLocation != highlightedLocation && highlightedLocation != null) - { - //clients aren't allowed to select the location without a permission - if (GameMain.Client == null || GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign)) - { - SelectedConnection = connection; - SelectedLocation = highlightedLocation; - targetReticleAnimState = 0.0f; - - OnLocationSelected?.Invoke(SelectedLocation, SelectedConnection); - GameMain.Client?.SendCampaignState(); - } - } - } - } - if (GUI.KeyboardDispatcher.Subscriber == null) { float moveSpeed = 1000.0f; @@ -383,6 +365,28 @@ namespace Barotrauma if (GUI.MouseOn == mapContainer) { + foreach (LocationConnection connection in connections) + { + if (highlightedLocation != CurrentLocation && + connection.Locations.Contains(highlightedLocation) && connection.Locations.Contains(CurrentLocation)) + { + if (PlayerInput.LeftButtonClicked() && + SelectedLocation != highlightedLocation && highlightedLocation != null) + { + //clients aren't allowed to select the location without a permission + if (GameMain.Client == null || GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign)) + { + SelectedConnection = connection; + SelectedLocation = highlightedLocation; + targetReticleAnimState = 0.0f; + + OnLocationSelected?.Invoke(SelectedLocation, SelectedConnection); + GameMain.Client?.SendCampaignState(); + } + } + } + } + zoom += PlayerInput.ScrollWheelSpeed / 1000.0f; zoom = MathHelper.Clamp(zoom, 1.0f, 4.0f); @@ -425,12 +429,12 @@ namespace Barotrauma Vector2 viewOffset = drawOffset + drawOffsetNoise; - Vector2 rectCenter = new Vector2(rect.Center.X, rect.Center.Y); + Vector2 rectCenter = new Vector2(rect.Center.X, rect.Center.Y) + CenterOffset; Rectangle prevScissorRect = GameMain.Instance.GraphicsDevice.ScissorRectangle; spriteBatch.End(); spriteBatch.GraphicsDevice.ScissorRectangle = Rectangle.Intersect(prevScissorRect, rect); - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); for (int x = 0; x < mapTiles.GetLength(0); x++) { @@ -662,15 +666,15 @@ namespace Barotrauma Vector2 size = GUI.LargeFont.MeasureString(location.Name); GUI.Style.GetComponentStyle("OuterGlow").Sprites[GUIComponent.ComponentState.None][0].Draw( spriteBatch, new Rectangle((int)pos.X - 30, (int)pos.Y, (int)size.X + 60, (int)(size.Y + 25 * GUI.Scale)), Color.Black * hudOpenState * 0.7f); - GUI.DrawString(spriteBatch, pos, + GUI.DrawString(spriteBatch, pos, location.Name, Color.White * hudOpenState * 1.5f, font: GUI.LargeFont); - GUI.DrawString(spriteBatch, pos + Vector2.UnitY * 25 * GUI.Scale, + GUI.DrawString(spriteBatch, pos + Vector2.UnitY * 25 * GUI.Scale, location.Type.Name, Color.White * hudOpenState * 1.5f); } - - GameMain.Instance.GraphicsDevice.ScissorRectangle = prevScissorRect; + spriteBatch.End(); - spriteBatch.Begin(SpriteSortMode.Deferred); + GameMain.Instance.GraphicsDevice.ScissorRectangle = prevScissorRect; + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); } private IEnumerable WaitForMessageBoxClosed(GUIMessageBox box) @@ -687,11 +691,13 @@ namespace Barotrauma private void DrawDecorativeHUD(SpriteBatch spriteBatch, Rectangle rect) { spriteBatch.End(); - spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.Additive, null, null, GameMain.ScissorTestEnable); - + spriteBatch.Begin(SpriteSortMode.Deferred, blendState: BlendState.Additive, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); + + Vector2 rectCenter = rect.Center.ToVector2() + CenterOffset; + if (generationParams.ShowOverlay) { - Vector2 mapCenter = rect.Center.ToVector2() + (new Vector2(size, size) / 2 + drawOffset + drawOffsetNoise) * zoom; + Vector2 mapCenter = rectCenter + (new Vector2(size, size) / 2 + drawOffset + drawOffsetNoise) * zoom; Vector2 centerDiff = CurrentLocation.MapPosition - new Vector2(size) / 2; int currentZone = (int)Math.Floor((centerDiff.Length() / (size * 0.5f) * generationParams.DifficultyZones)); for (int i = 0; i < generationParams.DifficultyZones; i++) @@ -754,21 +760,21 @@ namespace Barotrauma //reticles generationParams.ReticleLarge.Draw(spriteBatch, (int)(subReticleAnimState * generationParams.ReticleLarge.FrameCount), - rect.Center.ToVector2() + (subReticlePosition + drawOffset - drawOffsetNoise * 2) * zoom, Color.White, + rectCenter + (subReticlePosition + drawOffset - drawOffsetNoise * 2) * zoom, Color.White, generationParams.ReticleLarge.Origin, 0, Vector2.One * (float)Math.Sqrt(zoom) * 0.4f); generationParams.ReticleMedium.Draw(spriteBatch, (int)(subReticleAnimState * generationParams.ReticleMedium.FrameCount), - rect.Center.ToVector2() + (subReticlePosition + drawOffset - drawOffsetNoise) * zoom, Color.White, + rectCenter + (subReticlePosition + drawOffset - drawOffsetNoise) * zoom, Color.White, generationParams.ReticleMedium.Origin, 0, new Vector2(1.0f, 0.7f) * (float)Math.Sqrt(zoom) * 0.4f); if (SelectedLocation != null) { generationParams.ReticleSmall.Draw(spriteBatch, (int)(targetReticleAnimState * generationParams.ReticleSmall.FrameCount), - rect.Center.ToVector2() + (SelectedLocation.MapPosition + drawOffset + drawOffsetNoise * 2) * zoom, Color.White, + rectCenter + (SelectedLocation.MapPosition + drawOffset + drawOffsetNoise * 2) * zoom, Color.White, generationParams.ReticleSmall.Origin, 0, new Vector2(1.0f, 0.7f) * (float)Math.Sqrt(zoom) * 0.4f); } spriteBatch.End(); - spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); } private void UpdateMapAnim(MapAnim anim, float deltaTime) @@ -788,8 +794,6 @@ namespace Barotrauma anim.StartPos = (anim.StartLocation == null) ? -drawOffset : anim.StartLocation.MapPosition; - - anim.Timer = Math.Min(anim.Timer + deltaTime, anim.Duration); float t = anim.Duration <= 0.0f ? 1.0f : Math.Max(anim.Timer / anim.Duration, 0.0f); drawOffset = -Vector2.SmoothStep(anim.StartPos.Value, anim.EndLocation.MapPosition, t); diff --git a/Barotrauma/BarotraumaClient/Source/Map/MapEntity.cs b/Barotrauma/BarotraumaClient/Source/Map/MapEntity.cs index c0edd053d..3d0e1b5d5 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/MapEntity.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/MapEntity.cs @@ -91,9 +91,7 @@ namespace Barotrauma } public virtual void Draw(SpriteBatch spriteBatch, bool editing, bool back = true) { } - - public virtual void DrawDamage(SpriteBatch spriteBatch, Effect damageEffect, bool editing) { } - + /// /// Update the selection logic in submarine editor /// diff --git a/Barotrauma/BarotraumaClient/Source/Map/Structure.cs b/Barotrauma/BarotraumaClient/Source/Map/Structure.cs index b4f2bf2d4..8af490237 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Structure.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Structure.cs @@ -170,11 +170,18 @@ namespace Barotrauma Draw(spriteBatch, editing, back, null); } - public override void DrawDamage(SpriteBatch spriteBatch, Effect damageEffect, bool editing) + public void DrawDamage(SpriteBatch spriteBatch, Effect damageEffect, bool editing) { Draw(spriteBatch, editing, false, damageEffect); } + public float GetDrawDepth() + { + float depth = SpriteDepthOverrideIsSet ? SpriteOverrideDepth : prefab.sprite.Depth; + depth -= (ID % 255) * 0.000001f; + return depth; + } + private void Draw(SpriteBatch spriteBatch, bool editing, bool back = true, Effect damageEffect = null) { if (prefab.sprite == null) return; @@ -202,8 +209,7 @@ namespace Barotrauma Vector2 drawOffset = Submarine == null ? Vector2.Zero : Submarine.DrawPosition; - float depth = SpriteDepthOverrideIsSet ? SpriteOverrideDepth : prefab.sprite.Depth; - depth -= (ID % 255) * 0.000001f; + float depth = GetDrawDepth(); Vector2 textureOffset = this.textureOffset; if (FlippedX) textureOffset.X = -textureOffset.X; @@ -247,7 +253,7 @@ namespace Barotrauma color: color, textureScale: TextureScale * Scale, startOffset: backGroundOffset, - depth: Math.Max(Prefab.BackgroundSprite.Depth, depth + 0.000001f)); + depth: Math.Max(Prefab.BackgroundSprite.Depth + (ID % 255) * 0.000001f, depth + 0.000001f)); if (UseDropShadow) { diff --git a/Barotrauma/BarotraumaClient/Source/Map/Submarine.cs b/Barotrauma/BarotraumaClient/Source/Map/Submarine.cs index 9d859adf5..043255668 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Submarine.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Submarine.cs @@ -228,20 +228,38 @@ namespace Barotrauma public static float DamageEffectCutoff; public static Color DamageEffectColor; + private static readonly List depthSortedDamageable = new List(); public static void DrawDamageable(SpriteBatch spriteBatch, Effect damageEffect, bool editing = false) { var entitiesToRender = !editing && visibleEntities != null ? visibleEntities : MapEntity.mapEntityList; + depthSortedDamageable.Clear(); + + //insertion sort according to draw depth foreach (MapEntity e in entitiesToRender) { - if (e.DrawDamageEffect) - e.DrawDamage(spriteBatch, damageEffect, editing); + if (e is Structure structure && structure.DrawDamageEffect) + { + float drawDepth = structure.GetDrawDepth(); + int i = 0; + while (i < depthSortedDamageable.Count) + { + float otherDrawDepth = depthSortedDamageable[i].GetDrawDepth(); + if (otherDrawDepth < drawDepth) { break; } + i++; + } + depthSortedDamageable.Insert(i, structure); + } + } + + foreach (Structure s in depthSortedDamageable) + { + s.DrawDamage(spriteBatch, damageEffect, editing); } if (damageEffect != null) { damageEffect.Parameters["aCutoff"].SetValue(0.0f); damageEffect.Parameters["cCutoff"].SetValue(0.0f); - DamageEffectCutoff = 0.0f; } } @@ -274,18 +292,6 @@ namespace Barotrauma return MainSub.SaveAs(filePath, previewImage); } - public void CreatePreviewWindow(GUIMessageBox messageBox) - { - var background = new GUIButton(new RectTransform(Vector2.One, messageBox.RectTransform), style: "GUIBackgroundBlocker") - { - OnClicked = (btn, userdata) => { if (GUI.MouseOn == btn || GUI.MouseOn == btn.TextBlock) messageBox.Close(); return true; } - }; - background.RectTransform.SetAsFirstChild(); - - var holder = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.85f), messageBox.Content.RectTransform), style: null); - CreatePreviewWindow(holder); - } - public void CreatePreviewWindow(GUIComponent parent) { var upperPart = new GUILayoutGroup(new RectTransform(new Vector2(1, 0.5f), parent.RectTransform, Anchor.Center, Pivot.BottomCenter)); @@ -297,7 +303,7 @@ namespace Barotrauma if (PreviewImage == null) { - new GUITextBlock(new RectTransform(new Vector2(1.0f, 1), upperPart.RectTransform), TextManager.Get("SubPreviewImageNotFound")); + new GUITextBlock(new RectTransform(new Vector2(1.0f, 1), upperPart.RectTransform), TextManager.Get(SavedSubmarines.Contains(this) ? "SubPreviewImageNotFound" : "SubNotDownloaded")); } else { @@ -310,49 +316,54 @@ namespace Barotrauma new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), Name, font: GUI.LargeFont, wrap: true) { ForceUpperCase = true, CanBeFocused = false }; + float leftPanelWidth = 0.6f; + float rightPanelWidth = 0.4f / leftPanelWidth; + + ScalableFont font = descriptionBox.Rect.Width < 350 ? GUI.SmallFont : GUI.Font; + Vector2 realWorldDimensions = Dimensions * Physics.DisplayToRealWorldRatio; if (realWorldDimensions != Vector2.Zero) { string dimensionsStr = TextManager.GetWithVariables("DimensionsFormat", new string[2] { "[width]", "[height]" }, new string[2] { ((int)realWorldDimensions.X).ToString(), ((int)realWorldDimensions.Y).ToString() }); - var dimensionsText = new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), - TextManager.Get("Dimensions"), textAlignment: Alignment.TopLeft, font: GUI.Font, wrap: true) + var dimensionsText = new GUITextBlock(new RectTransform(new Vector2(leftPanelWidth, 0), descriptionBox.Content.RectTransform), + TextManager.Get("Dimensions"), textAlignment: Alignment.TopLeft, font: font, wrap: true) { CanBeFocused = false }; - new GUITextBlock(new RectTransform(new Vector2(0.45f, 0.0f), dimensionsText.RectTransform, Anchor.TopRight), - dimensionsStr, textAlignment: Alignment.TopLeft, font: GUI.Font, wrap: true) + new GUITextBlock(new RectTransform(new Vector2(rightPanelWidth, 0.0f), dimensionsText.RectTransform, Anchor.TopRight, Pivot.TopLeft), + dimensionsStr, textAlignment: Alignment.TopLeft, font: font, wrap: true) { CanBeFocused = false }; dimensionsText.RectTransform.MinSize = new Point(0, dimensionsText.Children.First().Rect.Height); } if (RecommendedCrewSizeMax > 0) { - var crewSizeText = new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), - TextManager.Get("RecommendedCrewSize"), textAlignment: Alignment.TopLeft, font: GUI.Font, wrap: true) + var crewSizeText = new GUITextBlock(new RectTransform(new Vector2(leftPanelWidth, 0), descriptionBox.Content.RectTransform), + TextManager.Get("RecommendedCrewSize"), textAlignment: Alignment.TopLeft, font: font, wrap: true) { CanBeFocused = false }; - new GUITextBlock(new RectTransform(new Vector2(0.45f, 0.0f), crewSizeText.RectTransform, Anchor.TopRight), - RecommendedCrewSizeMin + " - " + RecommendedCrewSizeMax, textAlignment: Alignment.TopLeft, font: GUI.Font, wrap: true) + new GUITextBlock(new RectTransform(new Vector2(rightPanelWidth, 0.0f), crewSizeText.RectTransform, Anchor.TopRight, Pivot.TopLeft), + RecommendedCrewSizeMin + " - " + RecommendedCrewSizeMax, textAlignment: Alignment.TopLeft, font: font, wrap: true) { CanBeFocused = false }; crewSizeText.RectTransform.MinSize = new Point(0, crewSizeText.Children.First().Rect.Height); } if (!string.IsNullOrEmpty(RecommendedCrewExperience)) { - var crewExperienceText = new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), - TextManager.Get("RecommendedCrewExperience"), textAlignment: Alignment.TopLeft, font: GUI.Font, wrap: true) + var crewExperienceText = new GUITextBlock(new RectTransform(new Vector2(leftPanelWidth, 0), descriptionBox.Content.RectTransform), + TextManager.Get("RecommendedCrewExperience"), textAlignment: Alignment.TopLeft, font: font, wrap: true) { CanBeFocused = false }; - new GUITextBlock(new RectTransform(new Vector2(0.45f, 0.0f), crewExperienceText.RectTransform, Anchor.TopRight), - TextManager.Get(RecommendedCrewExperience), textAlignment: Alignment.TopLeft, font: GUI.Font, wrap: true) + new GUITextBlock(new RectTransform(new Vector2(rightPanelWidth, 0.0f), crewExperienceText.RectTransform, Anchor.TopRight, Pivot.TopLeft), + TextManager.Get(RecommendedCrewExperience), textAlignment: Alignment.TopLeft, font: font, wrap: true) { CanBeFocused = false }; crewExperienceText.RectTransform.MinSize = new Point(0, crewExperienceText.Children.First().Rect.Height); } if (RequiredContentPackages.Any()) { - var contentPackagesText = new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), - TextManager.Get("RequiredContentPackages"), textAlignment: Alignment.TopLeft, font: GUI.Font) + var contentPackagesText = new GUITextBlock(new RectTransform(new Vector2(leftPanelWidth, 0), descriptionBox.Content.RectTransform), + TextManager.Get("RequiredContentPackages"), textAlignment: Alignment.TopLeft, font: font) { CanBeFocused = false }; - new GUITextBlock(new RectTransform(new Vector2(0.45f, 0.0f), contentPackagesText.RectTransform, Anchor.TopRight), - string.Join(", ", RequiredContentPackages), textAlignment: Alignment.TopLeft, font: GUI.Font, wrap: true) + new GUITextBlock(new RectTransform(new Vector2(rightPanelWidth, 0.0f), contentPackagesText.RectTransform, Anchor.TopRight, Pivot.TopLeft), + string.Join(", ", RequiredContentPackages), textAlignment: Alignment.TopLeft, font: font, wrap: true) { CanBeFocused = false }; contentPackagesText.RectTransform.MinSize = new Point(0, contentPackagesText.Children.First().Rect.Height); } @@ -362,13 +373,13 @@ namespace Barotrauma //space new GUIFrame(new RectTransform(new Vector2(1.0f, 0.05f), descriptionBox.Content.RectTransform), style: null); - if (Description.Length != 0) + if (!string.IsNullOrEmpty(Description)) { new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), TextManager.Get("SaveSubDialogDescription", fallBackTag: "WorkshopItemDescription"), font: GUI.Font, wrap: true) { CanBeFocused = false, ForceUpperCase = true }; } - new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), Description, font: GUI.Font, wrap: true) + new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), Description, font: font, wrap: true) { CanBeFocused = false }; diff --git a/Barotrauma/BarotraumaClient/Source/Media/Video.cs b/Barotrauma/BarotraumaClient/Source/Media/Video.cs index feaba702d..bcc56603e 100644 --- a/Barotrauma/BarotraumaClient/Source/Media/Video.cs +++ b/Barotrauma/BarotraumaClient/Source/Media/Video.cs @@ -108,7 +108,13 @@ namespace Barotrauma.Media public uint Width { get; private set; } public uint Height { get; private set; } - public Video(GraphicsDevice graphicsDevice,SoundManager soundManager,string filename,uint width,uint height) + public float AudioGain + { + get { return sound == null ? 0.0f : sound.BaseGain; } + set { if (sound != null) { sound.BaseGain = value; } } + } + + public Video(GraphicsDevice graphicsDevice, SoundManager soundManager, string filename, uint width, uint height) { Init(); diff --git a/Barotrauma/BarotraumaClient/Source/Networking/Client.cs b/Barotrauma/BarotraumaClient/Source/Networking/Client.cs index 2d6617091..ae9a597bc 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/Client.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/Client.cs @@ -9,6 +9,7 @@ namespace Barotrauma.Networking struct TempClient { public string Name; + public string PreferredJob; public UInt16 NameID; public UInt64 SteamID; public byte ID; diff --git a/Barotrauma/BarotraumaClient/Source/Networking/EntitySpawner.cs b/Barotrauma/BarotraumaClient/Source/Networking/EntitySpawner.cs index d414da6a2..9ab68965f 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/EntitySpawner.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/EntitySpawner.cs @@ -31,7 +31,7 @@ namespace Barotrauma Item.ReadSpawnData(message, true); break; case (byte)SpawnableType.Character: - Character.ReadSpawnData(message, true); + Character.ReadSpawnData(message); break; default: DebugConsole.ThrowError("Received invalid entity spawn message (unknown spawnable type)"); diff --git a/Barotrauma/BarotraumaClient/Source/Networking/FileTransfer/FileReceiver.cs b/Barotrauma/BarotraumaClient/Source/Networking/FileTransfer/FileReceiver.cs index 662795f19..e7a50fc84 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/FileTransfer/FileReceiver.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/FileTransfer/FileReceiver.cs @@ -164,8 +164,8 @@ namespace Barotrauma.Networking private Dictionary downloadFolders = new Dictionary() { - { FileTransferType.Submarine, "Submarines/Downloaded" }, - { FileTransferType.CampaignSave, "Data/Saves/Multiplayer" } + { FileTransferType.Submarine, SaveUtil.SubmarineDownloadFolder }, + { FileTransferType.CampaignSave, SaveUtil.CampaignDownloadFolder } }; public List ActiveTransfers diff --git a/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs b/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs index 83fdc588f..43c3b637f 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs @@ -29,8 +29,14 @@ namespace Barotrauma.Networking public void SetName(string value) { + value = value.Replace(":", "").Replace(";", ""); if (string.IsNullOrEmpty(value)) { return; } - name = value.Replace(":", "").Replace(";", ""); + name = value; + nameId++; + } + + public void ForceNameAndJobUpdate() + { nameId++; } @@ -265,9 +271,9 @@ namespace Barotrauma.Networking private void ConnectToServer(object endpoint, string hostName) { chatBox.InputBox.Enabled = false; - if (GameMain.NetLobbyScreen?.TextBox != null) + if (GameMain.NetLobbyScreen?.ChatInput != null) { - GameMain.NetLobbyScreen.TextBox.Enabled = false; + GameMain.NetLobbyScreen.ChatInput.Enabled = false; } serverName = hostName; @@ -334,7 +340,7 @@ namespace Barotrauma.Networking { SteamManager.Instance.User.ClearRichPresence(); SteamManager.Instance.User.SetRichPresence("status", "Playing on " + serverName); - SteamManager.Instance.User.SetRichPresence("connect", "-connect \"" + serverName.Replace("\"","\\\"") + "\" " + serverEndpoint); + SteamManager.Instance.User.SetRichPresence("connect", "-connect \"" + serverName.Replace("\"", "\\\"") + "\" " + serverEndpoint); } canStart = true; @@ -348,9 +354,9 @@ namespace Barotrauma.Networking } chatBox.InputBox.Enabled = true; - if (GameMain.NetLobbyScreen?.TextBox != null) + if (GameMain.NetLobbyScreen?.ChatInput != null) { - GameMain.NetLobbyScreen.TextBox.Enabled = true; + GameMain.NetLobbyScreen.ChatInput.Enabled = true; } }; clientPeer.OnRequestPassword = (int salt, int retries) => @@ -370,9 +376,9 @@ namespace Barotrauma.Networking DebugConsole.ThrowError("Couldn't connect to " + endpoint.ToString() + ". Error message: " + e.Message); Disconnect(); chatBox.InputBox.Enabled = true; - if (GameMain.NetLobbyScreen?.TextBox != null) + if (GameMain.NetLobbyScreen?.ChatInput != null) { - GameMain.NetLobbyScreen.TextBox.Enabled = true; + GameMain.NetLobbyScreen.ChatInput.Enabled = true; } GameMain.ServerListScreen.Select(); return; @@ -630,11 +636,14 @@ namespace Barotrauma.Networking if (IsServerOwner && connected && !connectCancelled) { - if (GameMain.ServerChildProcess?.HasExited ?? true) + if (GameMain.WindowActive) { - Disconnect(); - var msgBox = new GUIMessageBox(TextManager.Get("ConnectionLost"), TextManager.Get("ServerProcessClosed")); - msgBox.Buttons[0].OnClicked += ReturnToPreviousMenu; + if (GameMain.ServerChildProcess?.HasExited ?? true) + { + Disconnect(); + var msgBox = new GUIMessageBox(TextManager.Get("ConnectionLost"), TextManager.Get("ServerProcessClosed")); + msgBox.Buttons[0].OnClicked += ReturnToPreviousMenu; + } } } @@ -747,7 +756,7 @@ namespace Barotrauma.Networking { saveFiles.Add(inc.ReadString()); } - GameMain.NetLobbyScreen.CampaignSetupUI = MultiPlayerCampaign.StartCampaignSetup(serverSubmarines, saveFiles); + MultiPlayerCampaign.StartCampaignSetup(saveFiles); break; case ServerPacketHeader.PERMISSIONS: ReadPermissions(inc); @@ -768,7 +777,12 @@ namespace Barotrauma.Networking SteamAchievementManager.CheatsEnabled = cheatsEnabled; if (cheatsEnabled) { - new GUIMessageBox(TextManager.Get("CheatsEnabledTitle"), TextManager.Get("CheatsEnabledDescription")); + var cheatMessageBox = new GUIMessageBox(TextManager.Get("CheatsEnabledTitle"), TextManager.Get("CheatsEnabledDescription")); + cheatMessageBox.Buttons[0].OnClicked += (btn, userdata) => + { + DebugConsole.TextBox.Select(); + return true; + }; } } break; @@ -778,6 +792,9 @@ namespace Barotrauma.Networking case ServerPacketHeader.TRAITOR_MESSAGE: ReadTraitorMessage(inc); break; + case ServerPacketHeader.MISSION: + GameMain.GameSession.Mission?.ClientRead(inc); + break; } } @@ -958,16 +975,13 @@ namespace Barotrauma.Networking switch(messageType) { case TraitorMessageType.Objective: var isTraitor = !string.IsNullOrEmpty(message); + SpawnAsTraitor = isTraitor; + TraitorFirstObjective = message; if (Character != null) { Character.IsTraitor = isTraitor; Character.TraitorCurrentObjective = message; } - else - { - SpawnAsTraitor = isTraitor; - TraitorFirstObjective = message; - } break; case TraitorMessageType.Console: GameMain.Client.AddChatMessage(ChatMessage.Create("", message, ChatMessageType.Console, null)); @@ -1153,6 +1167,21 @@ namespace Barotrauma.Networking GameMain.NetLobbyScreen.SelectedSub.MD5Hash?.Hash != subHash) { string errorMsg = "Failed to select submarine \"" + subName + "\" (hash: " + subHash + ")."; + if (GameMain.NetLobbyScreen.SelectedSub == null) + { + errorMsg += "\n" + "SelectedSub is null"; + } + else + { + if (GameMain.NetLobbyScreen.SelectedSub.Name != subName) + { + errorMsg += "\n" + "Name mismatch: " + GameMain.NetLobbyScreen.SelectedSub.Name + " != " + subName; + } + if (GameMain.NetLobbyScreen.SelectedSub.MD5Hash?.Hash != subHash) + { + errorMsg += "\n" + "Hash mismatch: " + GameMain.NetLobbyScreen.SelectedSub.MD5Hash?.Hash + " != " + subHash; + } + } DebugConsole.ThrowError(errorMsg); GameAnalyticsManager.AddErrorEventOnce("GameClient.StartGame:FailedToSelectSub" + subName, GameAnalyticsSDK.Net.EGAErrorSeverity.Error, errorMsg); CoroutineManager.StartCoroutine(EndGame("")); @@ -1316,6 +1345,7 @@ namespace Barotrauma.Networking UInt64 steamId = inc.ReadUInt64(); UInt16 nameId = inc.ReadUInt16(); string name = inc.ReadString(); + string preferredJob = inc.ReadString(); UInt16 characterID = inc.ReadUInt16(); bool muted = inc.ReadBoolean(); bool allowKicking = inc.ReadBoolean(); @@ -1327,6 +1357,7 @@ namespace Barotrauma.Networking NameID = nameId, SteamID = steamId, Name = name, + PreferredJob = preferredJob, CharacterID = characterID, Muted = muted, AllowKicking = allowKicking @@ -1353,9 +1384,11 @@ namespace Barotrauma.Networking GameMain.NetLobbyScreen.AddPlayer(existingClient); } existingClient.NameID = tc.NameID; + existingClient.PreferredJob = tc.PreferredJob; existingClient.Character = null; existingClient.Muted = tc.Muted; existingClient.AllowKicking = tc.AllowKicking; + GameMain.NetLobbyScreen.SetPlayerNameAndJobPreference(existingClient); if (tc.CharacterID > 0) { existingClient.Character = Entity.FindEntityByID(tc.CharacterID) as Character; @@ -1443,7 +1476,7 @@ namespace Barotrauma.Networking bool allowSpectating = inc.ReadBoolean(); YesNoMaybe traitorsEnabled = (YesNoMaybe)inc.ReadRangedInteger(0, 2); - int missionTypeIndex = inc.ReadRangedInteger(0, Enum.GetValues(typeof(MissionType)).Length - 1); + MissionType missionType = (MissionType)inc.ReadRangedInteger(0, (int)MissionType.All); int modeIndex = inc.ReadByte(); string levelSeed = inc.ReadString(); @@ -1461,7 +1494,11 @@ namespace Barotrauma.Networking ReadWriteMessage settingsBuf = new ReadWriteMessage(); settingsBuf.Write(settingsData, 0, settingsLen); settingsBuf.BitPosition = 0; serverSettings.ClientRead(settingsBuf); - + if (!IsServerOwner) + { + ServerInfo info = GameMain.ServerListScreen.UpdateServerInfoWithServerSettings(serverEndpoint, serverSettings); + GameMain.ServerListScreen.AddToRecentServers(info); + } GameMain.NetLobbyScreen.LastUpdateID = updateID; @@ -1475,7 +1512,7 @@ namespace Barotrauma.Networking GameMain.NetLobbyScreen.TrySelectSub(selectShuttleName, selectShuttleHash, GameMain.NetLobbyScreen.ShuttleList.ListBox); GameMain.NetLobbyScreen.SetTraitorsEnabled(traitorsEnabled); - GameMain.NetLobbyScreen.SetMissionType(missionTypeIndex); + GameMain.NetLobbyScreen.SetMissionType(missionType); if (!allowModeVoting) GameMain.NetLobbyScreen.SelectMode(modeIndex); @@ -1649,6 +1686,15 @@ namespace Barotrauma.Networking outmsg.Write(LastClientListUpdateID); outmsg.Write(nameId); outmsg.Write(name); + var jobPreferences = GameMain.NetLobbyScreen.JobPreferences; + if (jobPreferences.Count > 0) + { + outmsg.Write(jobPreferences[0].First.Identifier); + } + else + { + outmsg.Write(""); + } var campaign = GameMain.GameSession?.GameMode as MultiPlayerCampaign; if (campaign == null || campaign.LastSaveID == 0) @@ -1722,7 +1768,7 @@ namespace Barotrauma.Networking public void SendChatMessage(ChatMessage msg) { - if (clientPeer.ServerConnection == null) return; + if (clientPeer?.ServerConnection == null) { return; } lastQueueChatMsgID++; msg.NetStateID = lastQueueChatMsgID; chatMsgQueue.Add(msg); @@ -1730,7 +1776,7 @@ namespace Barotrauma.Networking public void SendChatMessage(string message, ChatMessageType type = ChatMessageType.Default) { - if (clientPeer.ServerConnection == null) return; + if (clientPeer?.ServerConnection == null) { return; } ChatMessage chatMessage = ChatMessage.Create( gameStarted && myCharacter != null ? myCharacter.Name : name, @@ -1809,19 +1855,6 @@ namespace Barotrauma.Networking subElement.GetChild().TextColor = new Color(subElement.GetChild().TextColor, 1.0f); subElement.UserData = newSub; subElement.ToolTip = newSub.Description; - - GUIButton infoButton = subElement.GetChild(); - if (infoButton == null) - { - int buttonSize = (int)(subElement.Rect.Height * 0.8f); - infoButton = new GUIButton(new RectTransform(new Point(buttonSize), subElement.RectTransform, Anchor.CenterLeft) { AbsoluteOffset = new Point((int)(buttonSize * 0.2f), 0) }, "?"); - } - infoButton.UserData = newSub; - infoButton.OnClicked = (component, userdata) => - { - ((Submarine)userdata).CreatePreviewWindow(new GUIMessageBox("", "", new Vector2(0.25f, 0.25f), new Point(500, 400))); - return true; - }; } if (GameMain.NetLobbyScreen.FailedSelectedSub != null && @@ -1850,9 +1883,12 @@ namespace Barotrauma.Networking string subPath = Path.Combine(SaveUtil.TempPath, gameSessionDoc.Root.GetAttributeString("submarine", "")) + ".sub"; GameMain.GameSession.Submarine = new Submarine(subPath, ""); } - SaveUtil.LoadGame(GameMain.GameSession.SavePath, GameMain.GameSession); GameMain.GameSession?.Submarine?.CheckSubsLeftBehind(); + if (GameMain.GameSession?.Submarine?.Name != null) + { + GameMain.NetLobbyScreen.TryDisplayCampaignSubmarine(GameMain.GameSession.Submarine); + } campaign.LastSaveID = campaign.PendingSaveID; DebugConsole.Log("Campaign save received, save ID " + campaign.LastSaveID); @@ -1940,6 +1976,8 @@ namespace Barotrauma.Networking GameMain.ServerChildProcess = null; } + characterInfo?.Remove(); + VoipClient?.Dispose(); VoipClient = null; GameMain.Client = null; @@ -1963,7 +2001,8 @@ namespace Barotrauma.Networking msg.Write((byte)count); for (int i = 0; i < count; i++) { - msg.Write(jobPreferences[i].Identifier); + msg.Write(jobPreferences[i].First.Identifier); + msg.Write((byte)jobPreferences[i].Second); } } @@ -2137,6 +2176,8 @@ namespace Barotrauma.Networking public void SetupNewCampaign(Submarine sub, string saveName, string mapSeed) { + GameMain.NetLobbyScreen.CampaignSetupFrame.Visible = false; + saveName = Path.GetFileNameWithoutExtension(saveName); IWriteMessage msg = new WriteOnlyMessage(); @@ -2149,12 +2190,12 @@ namespace Barotrauma.Networking msg.Write(sub.MD5Hash.Hash); clientPeer.Send(msg, DeliveryMethod.Reliable); - - GameMain.NetLobbyScreen.CampaignSetupUI = null; } public void SetupLoadCampaign(string saveName) { + GameMain.NetLobbyScreen.CampaignSetupFrame.Visible = false; + IWriteMessage msg = new WriteOnlyMessage(); msg.Write((byte)ClientPacketHeader.CAMPAIGN_SETUP_INFO); @@ -2162,8 +2203,6 @@ namespace Barotrauma.Networking msg.Write(saveName); clientPeer.Send(msg, DeliveryMethod.Reliable); - - GameMain.NetLobbyScreen.CampaignSetupUI = null; } /// @@ -2278,7 +2317,11 @@ namespace Barotrauma.Networking SendChatMessage(message); - textBox.Deselect(); + if (textBox.DeselectAfterMessage) + { + textBox.Deselect(); + } + textBox.Text = ""; return true; @@ -2292,6 +2335,7 @@ namespace Barotrauma.Networking Screen.Selected == GameMain.GameScreen) { inGameHUD.AddToGUIUpdateList(); + GameMain.NetLobbyScreen.FileTransferFrame?.AddToGUIUpdateList(); } } @@ -2305,7 +2349,7 @@ namespace Barotrauma.Networking } else if (Screen.Selected == GameMain.NetLobbyScreen) { - msgBox = GameMain.NetLobbyScreen.TextBox; + msgBox = GameMain.NetLobbyScreen.ChatInput; } if (gameStarted && Screen.Selected == GameMain.GameScreen) @@ -2358,46 +2402,26 @@ namespace Barotrauma.Networking public virtual void Draw(Microsoft.Xna.Framework.Graphics.SpriteBatch spriteBatch) { if (GUI.DisableHUD || GUI.DisableUpperHUD) return; - + if (fileReceiver != null && fileReceiver.ActiveTransfers.Count > 0) { - Vector2 downloadBarSize = new Vector2(250, 35) * GUI.Scale; - Vector2 pos = new Vector2(GameMain.NetLobbyScreen.InfoFrame.Rect.X, GameMain.GraphicsHeight - downloadBarSize.Y - 5); - - GUI.DrawRectangle(spriteBatch, new Rectangle( - (int)pos.X, - (int)pos.Y, - (int)(fileReceiver.ActiveTransfers.Count * (downloadBarSize.X + 10)), - (int)downloadBarSize.Y), - Color.Black * 0.8f, true); - - for (int i = 0; i < fileReceiver.ActiveTransfers.Count; i++) - { - var transfer = fileReceiver.ActiveTransfers[i]; - - GUI.DrawString(spriteBatch, - pos, - ToolBox.LimitString(TextManager.GetWithVariable("DownloadingFile", "[filename]", transfer.FileName), GUI.SmallFont, (int)downloadBarSize.X), - Color.White, null, 0, GUI.SmallFont); - GUI.DrawProgressBar(spriteBatch, new Vector2(pos.X, -pos.Y - downloadBarSize.Y / 2), new Vector2(downloadBarSize.X * 0.7f, downloadBarSize.Y / 2), transfer.Progress, Color.Green); - GUI.DrawString(spriteBatch, pos + new Vector2(5, downloadBarSize.Y / 2), - MathUtils.GetBytesReadable((long)transfer.Received) + " / " + MathUtils.GetBytesReadable((long)transfer.FileSize), - Color.White, null, 0, GUI.SmallFont); - - if (GUI.DrawButton(spriteBatch, new Rectangle( - (int)(pos.X + downloadBarSize.X * 0.7f), (int)(pos.Y + downloadBarSize.Y / 2), - (int)(downloadBarSize.X * 0.3f), (int)(downloadBarSize.Y / 2)), - TextManager.Get("Cancel"), new Color(0.47f, 0.13f, 0.15f, 0.08f))) - { - CancelFileTransfer(transfer); - fileReceiver.StopTransfer(transfer); - } - - pos.X += (downloadBarSize.X + 10); - } + var transfer = fileReceiver.ActiveTransfers.First(); + GameMain.NetLobbyScreen.FileTransferFrame.Visible = true; + GameMain.NetLobbyScreen.FileTransferTitle.Text = + ToolBox.LimitString( + TextManager.GetWithVariable("DownloadingFile", "[filename]", transfer.FileName), + GameMain.NetLobbyScreen.FileTransferTitle.Font, + GameMain.NetLobbyScreen.FileTransferTitle.Rect.Width); + GameMain.NetLobbyScreen.FileTransferProgressBar.BarSize = transfer.Progress; + GameMain.NetLobbyScreen.FileTransferProgressText.Text = + MathUtils.GetBytesReadable((long)transfer.Received) + " / " + MathUtils.GetBytesReadable((long)transfer.FileSize); } - - if (!gameStarted || Screen.Selected != GameMain.GameScreen) return; + else + { + GameMain.NetLobbyScreen.FileTransferFrame.Visible = false; + } + + if (!gameStarted || Screen.Selected != GameMain.GameScreen) { return; } inGameHUD.DrawManually(spriteBatch); diff --git a/Barotrauma/BarotraumaClient/Source/Networking/Primitives/Peers/LidgrenClientPeer.cs b/Barotrauma/BarotraumaClient/Source/Networking/Primitives/Peers/LidgrenClientPeer.cs index 8835b49e9..a6ea2ced9 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/Primitives/Peers/LidgrenClientPeer.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/Primitives/Peers/LidgrenClientPeer.cs @@ -169,7 +169,7 @@ namespace Barotrauma.Networking outMsg.Write(GameMain.Version.ToString()); - IEnumerable mpContentPackages = GameMain.SelectedPackages.Where(cp => cp.HasMultiplayerIncompatibleContent); + IEnumerable mpContentPackages = GameMain.SelectedPackages.Where(cp => cp.HasMultiplayerIncompatibleContent && !cp.NeedsRestart); outMsg.WriteVariableInt32(mpContentPackages.Count()); foreach (ContentPackage contentPackage in mpContentPackages) { diff --git a/Barotrauma/BarotraumaClient/Source/Networking/Primitives/Peers/SteamP2PClientPeer.cs b/Barotrauma/BarotraumaClient/Source/Networking/Primitives/Peers/SteamP2PClientPeer.cs index ea4376fef..7e6736a07 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/Primitives/Peers/SteamP2PClientPeer.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/Primitives/Peers/SteamP2PClientPeer.cs @@ -202,7 +202,7 @@ namespace Barotrauma.Networking outMsg.Write(GameMain.Version.ToString()); - IEnumerable mpContentPackages = GameMain.SelectedPackages.Where(cp => cp.HasMultiplayerIncompatibleContent); + IEnumerable mpContentPackages = GameMain.SelectedPackages.Where(cp => cp.HasMultiplayerIncompatibleContent && !cp.NeedsRestart); outMsg.WriteVariableUInt32((UInt32)mpContentPackages.Count()); foreach (ContentPackage contentPackage in mpContentPackages) { diff --git a/Barotrauma/BarotraumaClient/Source/Networking/ServerInfo.cs b/Barotrauma/BarotraumaClient/Source/Networking/ServerInfo.cs index 167bb9e89..33beeb8f4 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/ServerInfo.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/ServerInfo.cs @@ -3,6 +3,8 @@ using Microsoft.Xna.Framework; using System; using System.Collections.Generic; using System.Linq; +using System.Net; +using System.Xml.Linq; namespace Barotrauma.Networking { @@ -10,8 +12,11 @@ namespace Barotrauma.Networking { public string IP; public string Port; + public string QueryPort; public UInt64 LobbyID; + public UInt64 OwnerID; + public bool OwnerVerified; public string ServerName; public string ServerMessage; @@ -30,12 +35,22 @@ namespace Barotrauma.Networking public SelectionMode? SubSelectionMode; public bool? AllowSpectating; public bool? VoipEnabled; + public bool? KarmaEnabled; + public bool? FriendlyFireEnabled; public bool? AllowRespawn; public YesNoMaybe? TraitorsEnabled; public string GameMode; + public PlayStyle? PlayStyle; + + public bool Recent; + public bool Favorite; public bool? RespondedToSteamQuery = null; + public Facepunch.Steamworks.SteamFriend SteamFriend; + public Facepunch.Steamworks.ISteamMatchmakingPingResponse MatchmakingPingResponse; + public int? PingHQuery; + public string GameVersion; public List ContentPackageNames { @@ -85,59 +100,100 @@ namespace Barotrauma.Networking if (frame == null) return; - var previewContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 1.0f), frame.RectTransform, Anchor.Center)) + var previewContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), frame.RectTransform, Anchor.Center)) { Stretch = true }; - var columnContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.5f), previewContainer.RectTransform)) + var titleContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.035f), previewContainer.RectTransform), true) + { + Color = Color.White * 0.2f + }; + + var title = new GUITextBlock(new RectTransform(new Vector2(0.9f, 0.0f), titleContainer.RectTransform, Anchor.CenterLeft), ServerName, font: GUI.LargeFont) + { + ToolTip = ServerName + }; + title.Text = ToolBox.LimitString(title.Text, title.Font, title.Rect.Width); + + title.Padding = new Vector4(10, 0, 0, 10); + + GUITickBox favoriteTickBox = new GUITickBox(new RectTransform(new Vector2(0.9f, 0.85f), titleContainer.RectTransform, Anchor.CenterRight, scaleBasis: ScaleBasis.BothHeight) { RelativeOffset = new Vector2(0.0f, 0.1f) }, "", null, "GUIServerListFavoriteTickBox") + { + Selected = Favorite, + ToolTip = TextManager.Get(Favorite ? "removefromfavorites" : "addtofavorites"), + OnSelected = (tickbox) => + { + if (tickbox.Selected) + { + GameMain.ServerListScreen.AddToFavoriteServers(this); + } + else + { + GameMain.ServerListScreen.RemoveFromFavoriteServers(this); + } + tickbox.ToolTip = TextManager.Get(tickbox.Selected ? "removefromfavorites" : "addtofavorites"); + return true; + } + }; + + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), previewContainer.RectTransform), + TextManager.AddPunctuation(':', TextManager.Get("ServerListVersion"), string.IsNullOrEmpty(GameVersion) ? TextManager.Get("Unknown") : GameVersion)); + + PlayStyle playStyle = PlayStyle ?? Networking.PlayStyle.Serious; + + Sprite playStyleBannerSprite = GameMain.ServerListScreen.PlayStyleBanners[(int)playStyle]; + float playStyleBannerAspectRatio = playStyleBannerSprite.SourceRect.Width / (playStyleBannerSprite.SourceRect.Height * 0.65f); + var playStyleBanner = new GUIImage(new RectTransform(new Vector2(1.0f, 1.0f / playStyleBannerAspectRatio), previewContainer.RectTransform, Anchor.TopCenter, scaleBasis: ScaleBasis.BothWidth), + playStyleBannerSprite, null, true); + + var playStyleName = new GUITextBlock(new RectTransform(new Vector2(0.15f, 0.0f), playStyleBanner.RectTransform) { RelativeOffset = new Vector2(0.01f, 0.06f) }, + TextManager.AddPunctuation(':', TextManager.Get("serverplaystyle"), TextManager.Get("servertag."+ playStyle)), textColor: Color.White, + font: GUI.SmallFont, textAlignment: Alignment.Center, + color: GameMain.ServerListScreen.PlayStyleColors[(int)playStyle], style: "GUISlopedHeader"); + playStyleName.RectTransform.NonScaledSize = (playStyleName.Font.MeasureString(playStyleName.Text) + new Vector2(20, 5) * GUI.Scale).ToPoint(); + playStyleName.RectTransform.IsFixedSize = true; + + + var columnContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.45f), previewContainer.RectTransform), isHorizontal: true) + { + Stretch = true + }; + + // Left column ------------------------------------------------------------------------------- + var leftColumnHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.75f, 1.0f), columnContainer.RectTransform), childAnchor: Anchor.Center) + { + Stretch = true + }; + + var leftColumn = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 1.0f), leftColumnHolder.RectTransform)) { Stretch = true }; float elementHeight = 0.075f; - var title = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), columnContainer.RectTransform), ServerName, font: GUI.LargeFont); - title.Text = ToolBox.LimitString(title.Text, title.Font, title.Rect.Width); + // Spacing + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.025f), leftColumn.RectTransform), style: null); - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), columnContainer.RectTransform), - TextManager.AddPunctuation(':', TextManager.Get("ServerListVersion"), string.IsNullOrEmpty(GameVersion) ? TextManager.Get("Unknown") : GameVersion)); + var serverMsg = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.3f), leftColumn.RectTransform)) { ScrollBarVisible = true }; + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), serverMsg.Content.RectTransform), ServerMessage, font: GUI.SmallFont, wrap: true) { CanBeFocused = false }; - // left column ----------------------------------------------------------------------------- - - //new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), columnLeft.RectTransform), IP + ":" + Port); - - var serverMsg = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.5f), columnContainer.RectTransform)) { ScrollBarVisible = true }; - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), serverMsg.Content.RectTransform), ServerMessage, wrap: true) { CanBeFocused = false }; - - // right column ----------------------------------------------------------------------------- - - /*var playerCount = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), columnRight.RectTransform), TextManager.Get("ServerListPlayers")); - new GUITextBlock(new RectTransform(Vector2.One, playerCount.RectTransform), PlayerCount + "/" + MaxPlayers, textAlignment: Alignment.Right); - - - new GUITickBox(new RectTransform(new Vector2(1, elementHeight), columnRight.RectTransform), "Round running") - { - Selected = GameStarted, - CanBeFocused = false - };*/ - - var gameMode = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), columnContainer.RectTransform), TextManager.Get("GameMode")); + var gameMode = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), leftColumn.RectTransform), TextManager.Get("GameMode")); new GUITextBlock(new RectTransform(Vector2.One, gameMode.RectTransform), TextManager.Get(string.IsNullOrEmpty(GameMode) ? "Unknown" : "GameMode." + GameMode, returnNull: true) ?? GameMode, textAlignment: Alignment.Right); - var traitors = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), columnContainer.RectTransform), TextManager.Get("Traitors")); + /*var traitors = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), bodyContainer.RectTransform), TextManager.Get("Traitors")); + new GUITextBlock(new RectTransform(Vector2.One, traitors.RectTransform), TextManager.Get(!TraitorsEnabled.HasValue ? "Unknown" : TraitorsEnabled.Value.ToString()), textAlignment: Alignment.Right);*/ - new GUITextBlock(new RectTransform(Vector2.One, traitors.RectTransform), TextManager.Get(!TraitorsEnabled.HasValue ? "Unknown" : TraitorsEnabled.Value.ToString()), textAlignment: Alignment.Right); - - var subSelection = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), columnContainer.RectTransform), TextManager.Get("ServerListSubSelection")); + var subSelection = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), leftColumn.RectTransform), TextManager.Get("ServerListSubSelection")); new GUITextBlock(new RectTransform(Vector2.One, subSelection.RectTransform), TextManager.Get(!SubSelectionMode.HasValue ? "Unknown" : SubSelectionMode.Value.ToString()), textAlignment: Alignment.Right); - var modeSelection = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), columnContainer.RectTransform), TextManager.Get("ServerListModeSelection")); + var modeSelection = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), leftColumn.RectTransform), TextManager.Get("ServerListModeSelection")); new GUITextBlock(new RectTransform(Vector2.One, modeSelection.RectTransform), TextManager.Get(!ModeSelectionMode.HasValue ? "Unknown" : ModeSelectionMode.Value.ToString()), textAlignment: Alignment.Right); - var allowSpectating = new GUITickBox(new RectTransform(new Vector2(1, elementHeight), columnContainer.RectTransform), TextManager.Get("ServerListAllowSpectating")) + var allowSpectating = new GUITickBox(new RectTransform(new Vector2(1, elementHeight), leftColumn.RectTransform), TextManager.Get("ServerListAllowSpectating")) { CanBeFocused = false }; @@ -146,7 +202,7 @@ namespace Barotrauma.Networking else allowSpectating.Selected = AllowSpectating.Value; - var allowRespawn = new GUITickBox(new RectTransform(new Vector2(1, elementHeight), columnContainer.RectTransform), TextManager.Get("ServerSettingsAllowRespawning")) + var allowRespawn = new GUITickBox(new RectTransform(new Vector2(1, elementHeight), leftColumn.RectTransform), TextManager.Get("ServerSettingsAllowRespawning")) { CanBeFocused = false }; @@ -155,16 +211,16 @@ namespace Barotrauma.Networking else allowRespawn.Selected = AllowRespawn.Value; - var voipEnabledTickBox = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), columnContainer.RectTransform), TextManager.Get("serversettingsvoicechatenabled")) + /*var voipEnabledTickBox = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), bodyContainer.RectTransform), TextManager.Get("serversettingsvoicechatenabled")) { CanBeFocused = false }; if (!VoipEnabled.HasValue) new GUITextBlock(new RectTransform(new Vector2(0.8f, 0.8f), voipEnabledTickBox.Box.RectTransform, Anchor.Center), "?", textAlignment: Alignment.Center); else - voipEnabledTickBox.Selected = VoipEnabled.Value; + voipEnabledTickBox.Selected = VoipEnabled.Value;*/ - var usingWhiteList = new GUITickBox(new RectTransform(new Vector2(1, elementHeight), columnContainer.RectTransform), TextManager.Get("ServerListUsingWhitelist")) + var usingWhiteList = new GUITickBox(new RectTransform(new Vector2(1, elementHeight), leftColumn.RectTransform), TextManager.Get("ServerListUsingWhitelist")) { CanBeFocused = false }; @@ -174,15 +230,15 @@ namespace Barotrauma.Networking usingWhiteList.Selected = UsingWhiteList.Value; - columnContainer.RectTransform.SizeChanged += () => + leftColumn.RectTransform.SizeChanged += () => { - GUITextBlock.AutoScaleAndNormalize(allowSpectating.TextBlock, allowRespawn.TextBlock, voipEnabledTickBox.TextBlock, usingWhiteList.TextBlock); + GUITextBlock.AutoScaleAndNormalize(allowSpectating.TextBlock, allowRespawn.TextBlock, usingWhiteList.TextBlock); }; - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), columnContainer.RectTransform), + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), leftColumn.RectTransform), TextManager.Get("ServerListContentPackages")); - var contentPackageList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.3f), columnContainer.RectTransform)) { ScrollBarVisible = true }; + var contentPackageList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.2f), leftColumn.RectTransform)) { ScrollBarVisible = true }; if (ContentPackageNames.Count == 0) { new GUITextBlock(new RectTransform(Vector2.One, contentPackageList.Content.RectTransform), TextManager.Get("Unknown"), textAlignment: Alignment.Center) @@ -231,7 +287,7 @@ namespace Barotrauma.Networking } if (availableWorkshopUrls.Count > 0) { - var workshopBtn = new GUIButton(new RectTransform(new Vector2(1.0f, 0.1f), columnContainer.RectTransform), TextManager.Get("ServerListSubscribeMissingPackages")) + var workshopBtn = new GUIButton(new RectTransform(new Vector2(1.0f, 0.1f), leftColumn.RectTransform), TextManager.Get("ServerListSubscribeMissingPackages")) { ToolTip = TextManager.Get(SteamManager.IsInitialized ? "ServerListSubscribeMissingPackagesTooltip" : "ServerListSubscribeMissingPackagesTooltipNoSteam"), Enabled = SteamManager.IsInitialized, @@ -246,12 +302,237 @@ namespace Barotrauma.Networking } } + // Spacing + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform), style: null); + + // Right column ------------------------------------------------------------------------------ + + var rightColumnBackground = new GUIFrame(new RectTransform(new Vector2(0.2f, 1.0f), columnContainer.RectTransform), style: null) + { + Color = Color.Black * 0.25f + }; + + var rightColumn = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 1.0f), rightColumnBackground.RectTransform, Anchor.Center)); + + // playstyle tags ----------------------------------------------------------------------------- + + var playStyleTags = GetPlayStyleTags(); + foreach (string tag in playStyleTags) + { + if (!GameMain.ServerListScreen.PlayStyleIcons.ContainsKey(tag)) { continue; } + + new GUIImage(new RectTransform(Vector2.One, rightColumn.RectTransform, scaleBasis: ScaleBasis.BothWidth), + GameMain.ServerListScreen.PlayStyleIcons[tag], scaleToFit: true) + { + ToolTip = TextManager.Get("servertagdescription." + tag), + Color = GameMain.ServerListScreen.PlayStyleIconColors[tag] + }; + } + + + /*var playerCount = new GUITextBlock(new RectTransform(new Vector2(1.0f, elementHeight), columnRight.RectTransform), TextManager.Get("ServerListPlayers")); + new GUITextBlock(new RectTransform(Vector2.One, playerCount.RectTransform), PlayerCount + "/" + MaxPlayers, textAlignment: Alignment.Right); + + + new GUITickBox(new RectTransform(new Vector2(1, elementHeight), columnRight.RectTransform), "Round running") + { + Selected = GameStarted, + CanBeFocused = false + };*/ + + // ----------------------------------------------------------------------------- - foreach (GUIComponent c in columnContainer.Children) + foreach (GUIComponent c in leftColumn.Children) { if (c is GUITextBlock textBlock) textBlock.Padding = Vector4.Zero; } } + + public IEnumerable GetPlayStyleTags() + { + List tags = new List(); + if (KarmaEnabled.HasValue) + { + tags.Add(KarmaEnabled.Value ? "karma.true" : "karma.false"); + } + if (TraitorsEnabled.HasValue) + { + tags.Add(TraitorsEnabled.Value == YesNoMaybe.Maybe ? + "traitors.maybe" : + (TraitorsEnabled.Value == YesNoMaybe.Yes ? "traitors.true" : "traitors.false")); + } + if (VoipEnabled.HasValue) + { + tags.Add(VoipEnabled.Value ? "voip.true" : "voip.false"); + } + if (FriendlyFireEnabled.HasValue) + { + tags.Add(FriendlyFireEnabled.Value ? "friendlyfire.true" : "friendlyfire.false"); + } + if (ContentPackageNames.Count > 0) + { + tags.Add(ContentPackageNames.Count > 1 || ContentPackageNames[0] != GameMain.VanillaContent?.Name ? "modded.true" : "modded.false"); + } + return tags; + } + + public static ServerInfo FromXElement(XElement element) + { + ServerInfo info = new ServerInfo() + { + ServerName = element.GetAttributeString("ServerName", ""), + ServerMessage = element.GetAttributeString("ServerMessage", ""), + IP = element.GetAttributeString("IP", ""), + Port = element.GetAttributeString("Port", ""), + QueryPort = element.GetAttributeString("QueryPort", ""), + OwnerID = element.GetAttributeSteamID("OwnerID",0) + }; + + info.RespondedToSteamQuery = null; + + info.GameMode = element.GetAttributeString("GameMode", ""); + info.GameVersion = element.GetAttributeString("GameVersion", ""); + info.MaxPlayers = element.GetAttributeInt("MaxPlayers", 0); + + if (Enum.TryParse(element.GetAttributeString("PlayStyle", ""), out PlayStyle playStyleTemp)) { info.PlayStyle = playStyleTemp; } + if (bool.TryParse(element.GetAttributeString("UsingWhiteList", ""), out bool whitelistTemp)) { info.UsingWhiteList = whitelistTemp; } + if (Enum.TryParse(element.GetAttributeString("TraitorsEnabled", ""), out YesNoMaybe traitorsTemp)) { info.TraitorsEnabled = traitorsTemp; } + if (Enum.TryParse(element.GetAttributeString("SubSelectionMode", ""), out SelectionMode subSelectionTemp)) { info.SubSelectionMode = subSelectionTemp; } + if (Enum.TryParse(element.GetAttributeString("ModeSelectionMode", ""), out SelectionMode modeSelectionTemp)) { info.ModeSelectionMode = subSelectionTemp; } + if (bool.TryParse(element.GetAttributeString("VoipEnabled", ""), out bool voipTemp)) { info.VoipEnabled = voipTemp; } + if (bool.TryParse(element.GetAttributeString("KarmaEnabled", ""), out bool karmaTemp)) { info.KarmaEnabled = karmaTemp; } + if (bool.TryParse(element.GetAttributeString("FriendlyFireEnabled", ""), out bool friendlyFireTemp)) { info.FriendlyFireEnabled = friendlyFireTemp; } + + info.HasPassword = element.GetAttributeBool("HasPassword", false); + + return info; + } + + public void QueryLiveInfo(Action onServerRulesReceived) + { + if (!SteamManager.IsInitialized) { return; } + + if (int.TryParse(QueryPort, out _)) + { + if (PingHQuery != null) + { + SteamManager.Instance.ServerList.CancelHQuery(PingHQuery.Value); + PingHQuery = null; + } + + MatchmakingPingResponse = new Facepunch.Steamworks.ISteamMatchmakingPingResponse( + SteamManager.Instance.Client, + (server) => + { + ServerName = server.Name; + RespondedToSteamQuery = true; + PlayerCount = server.Players; + MaxPlayers = server.MaxPlayers; + HasPassword = server.Passworded; + PingChecked = true; + Ping = server.Ping; + LobbyID = 0; + server.FetchRules(); + server.OnReceivedRules += (bool received) => { SteamManager.OnReceivedRules(server, this, received); onServerRulesReceived?.Invoke(this); }; + }, + () => + { + RespondedToSteamQuery = false; + }); + + PingHQuery = SteamManager.Instance.ServerList.HQueryPing(MatchmakingPingResponse, IPAddress.Parse(IP), int.Parse(QueryPort)); + } + else if (OwnerID != 0) + { + if (SteamFriend == null) + { + SteamFriend = SteamManager.Instance.Friends.Get(OwnerID); + } + if (LobbyID == 0) + { + SteamFriend.Refresh(); + if (SteamFriend.IsPlayingThisGame && SteamFriend.ServerLobbyId != 0) + { + LobbyID = SteamFriend.ServerLobbyId; + SteamManager.Instance.LobbyList.SetManualLobbyDataCallback(LobbyID, (lobby) => + { + SteamManager.Instance.LobbyList.SetManualLobbyDataCallback(LobbyID, null); + + if (string.IsNullOrWhiteSpace(lobby.GetData("haspassword"))) { return; } + bool.TryParse(lobby.GetData("haspassword"), out bool hasPassword); + int.TryParse(lobby.GetData("playercount"), out int currPlayers); + int.TryParse(lobby.GetData("maxplayernum"), out int maxPlayers); + //UInt64.TryParse(lobby.GetData("connectsteamid"), out ulong connectSteamId); + string ip = lobby.GetData("hostipaddress"); + UInt64 ownerId = SteamManager.SteamIDStringToUInt64(lobby.GetData("lobbyowner")); + + if (OwnerID != ownerId) { return; } + + if (string.IsNullOrWhiteSpace(ip)) { ip = ""; } + + ServerName = lobby.Name; + Port = ""; + QueryPort = ""; + IP = ip; + PlayerCount = currPlayers; + MaxPlayers = maxPlayers; + HasPassword = hasPassword; + RespondedToSteamQuery = true; + LobbyID = lobby.LobbyID; + OwnerID = ownerId; + PingChecked = false; + OwnerVerified = true; + SteamManager.AssignLobbyDataToServerInfo(lobby, this); + + onServerRulesReceived?.Invoke(this); + }); + SteamManager.Instance.LobbyList.RequestLobbyData(LobbyID); + } + else + { + RespondedToSteamQuery = false; + } + } + } + } + + public XElement ToXElement() + { + if (OwnerID == 0 && string.IsNullOrEmpty(Port)) + { + return null; //can't save this one since it's not set up correctly + } + + XElement element = new XElement("ServerInfo"); + + element.SetAttributeValue("ServerName", ServerName); + element.SetAttributeValue("ServerMessage", ServerMessage); + if (OwnerID == 0) + { + element.SetAttributeValue("IP", IP); + element.SetAttributeValue("Port", Port); + element.SetAttributeValue("QueryPort", QueryPort); + } + else + { + element.SetAttributeValue("OwnerID", SteamManager.SteamIDUInt64ToString(OwnerID)); + } + + element.SetAttributeValue("GameMode", GameMode ?? ""); + element.SetAttributeValue("GameVersion", GameVersion ?? ""); + element.SetAttributeValue("MaxPlayers", MaxPlayers); + if (PlayStyle.HasValue) { element.SetAttributeValue("PlayStyle", PlayStyle.Value.ToString()); } + if (UsingWhiteList.HasValue) { element.SetAttributeValue("UsingWhiteList", UsingWhiteList.Value.ToString()); } + if (TraitorsEnabled.HasValue) { element.SetAttributeValue("TraitorsEnabled", TraitorsEnabled.Value.ToString()); } + if (SubSelectionMode.HasValue) { element.SetAttributeValue("SubSelectionMode", SubSelectionMode.Value.ToString()); } + if (ModeSelectionMode.HasValue) { element.SetAttributeValue("ModeSelectionMode", ModeSelectionMode.Value.ToString()); } + if (VoipEnabled.HasValue) { element.SetAttributeValue("VoipEnabled", VoipEnabled.Value.ToString()); } + if (KarmaEnabled.HasValue) { element.SetAttributeValue("KarmaEnabled", KarmaEnabled.Value.ToString()); } + if (FriendlyFireEnabled.HasValue) { element.SetAttributeValue("FriendlyFireEnabled", FriendlyFireEnabled.Value.ToString()); } + element.SetAttributeValue("HasPassword", HasPassword.ToString()); + + return element; + } } } diff --git a/Barotrauma/BarotraumaClient/Source/Networking/ServerLog.cs b/Barotrauma/BarotraumaClient/Source/Networking/ServerLog.cs index da33bf8b0..dc9601c26 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/ServerLog.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/ServerLog.cs @@ -67,7 +67,10 @@ namespace Barotrauma.Networking y += 20; } - GUITextBlock.AutoScaleAndNormalize(tickBoxes.Select(t => t.TextBlock)); + tickBoxes.Last().TextBlock.RectTransform.SizeChanged += () => + { + GUITextBlock.AutoScaleAndNormalize(tickBoxes.Select(t => t.TextBlock)); + }; var currLines = lines.ToList(); @@ -81,26 +84,76 @@ namespace Barotrauma.Networking if (listBox.BarScroll == 0.0f || listBox.BarScroll == 1.0f) listBox.BarScroll = 1.0f; - GUIButton closeButton = new GUIButton(new RectTransform(new Vector2(0.25f, 0.05f), innerFrame.RectTransform, Anchor.BottomRight) { RelativeOffset = new Vector2(0.02f, 0.03f) }, TextManager.Get("Close")); - closeButton.OnClicked = (button, userData) => + GUIButton closeButton = new GUIButton(new RectTransform(new Vector2(0.25f, 0.05f), innerFrame.RectTransform, Anchor.BottomRight) { RelativeOffset = new Vector2(0.02f, 0.03f) }, TextManager.Get("Close")) { - LogFrame = null; - return true; + OnClicked = (button, userData) => + { + LogFrame = null; + return true; + } }; msgFilter = ""; } + public void AssignLogFrame(GUIListBox inListBox, GUIComponent tickBoxContainer, GUITextBox searchBox) + { + searchBox.OnTextChanged += (textBox, text) => + { + msgFilter = text; + FilterMessages(); + return true; + }; + + tickBoxContainer.ClearChildren(); + + List tickBoxes = new List(); + foreach (MessageType msgType in Enum.GetValues(typeof(MessageType))) + { + var tickBox = new GUITickBox(new RectTransform(new Point(tickBoxContainer.Rect.Width, 16), tickBoxContainer.RectTransform), TextManager.Get("ServerLog." + messageTypeName[(int)msgType]), font: GUI.SmallFont) + { + Selected = true, + TextColor = messageColor[(int)msgType], + OnSelected = (GUITickBox tb) => + { + msgTypeHidden[(int)msgType] = !tb.Selected; + FilterMessages(); + return true; + } + }; + tickBox.Selected = !msgTypeHidden[(int)msgType]; + tickBoxes.Add(tickBox); + } + tickBoxes.Last().TextBlock.RectTransform.SizeChanged += () => + { + GUITextBlock.AutoScaleAndNormalize(tickBoxes.Select(t => t.TextBlock)); + }; + + inListBox.ClearChildren(); + listBox = inListBox; + + var currLines = lines.ToList(); + foreach (LogMessage line in currLines) + { + AddLine(line); + } + FilterMessages(); + + listBox.UpdateScrollBarSize(); + } + private void AddLine(LogMessage line) { float prevSize = listBox.BarSize; - var textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), listBox.Content.RectTransform), - line.Text, wrap: true, font: GUI.SmallFont); - textBlock.TextColor = messageColor[(int)line.Type]; - textBlock.Visible = !msgTypeHidden[(int)line.Type]; - textBlock.CanBeFocused = false; - textBlock.UserData = line; + var textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), listBox.Content.RectTransform), + line.Text, wrap: true, font: GUI.SmallFont) + { + TextColor = messageColor[(int)line.Type], + Visible = !msgTypeHidden[(int)line.Type], + CanBeFocused = false, + UserData = line + }; if ((prevSize == 1.0f && listBox.BarScroll == 0.0f) || (prevSize < 1.0f && listBox.BarScroll == 1.0f)) listBox.BarScroll = 1.0f; } diff --git a/Barotrauma/BarotraumaClient/Source/Networking/ServerSettings.cs b/Barotrauma/BarotraumaClient/Source/Networking/ServerSettings.cs index bf9e4b337..da1301026 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/ServerSettings.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/ServerSettings.cs @@ -52,7 +52,7 @@ namespace Barotrauma.Networking scrollBar.BarScrollValue = (float)value; } } - else if (GUIComponent is GUIRadioButtonGroup radioButtonGroup) radioButtonGroup.Selected = (Enum)value; + else if (GUIComponent is GUIRadioButtonGroup radioButtonGroup) radioButtonGroup.Selected = (int)value; else if (GUIComponent is GUIDropDown dropdown) dropdown.SelectItem(value); else if (GUIComponent is GUINumberInput numInput) { @@ -147,7 +147,7 @@ namespace Barotrauma.Networking } } - public void ClientAdminWrite(NetFlags dataToSend, int missionType = 0, float? levelDifficulty = null, bool? autoRestart = null, int traitorSetting = 0, int botCount = 0, int botSpawnMode = 0, bool? useRespawnShuttle = null) + public void ClientAdminWrite(NetFlags dataToSend, int? missionTypeOr = null, int? missionTypeAnd = null, float? levelDifficulty = null, bool? autoRestart = null, int traitorSetting = 0, int botCount = 0, int botSpawnMode = 0, bool? useRespawnShuttle = null) { if (!GameMain.Client.HasPermission(Networking.ClientPermissions.ManageSettings)) return; @@ -200,7 +200,8 @@ namespace Barotrauma.Networking if (dataToSend.HasFlag(NetFlags.Misc)) { - outMsg.Write((byte)(missionType + 1)); + outMsg.WriteRangedInteger(missionTypeOr ?? (int)Barotrauma.MissionType.None, 0, (int)Barotrauma.MissionType.All); + outMsg.WriteRangedInteger(missionTypeAnd ?? (int)Barotrauma.MissionType.All, 0, (int)Barotrauma.MissionType.All); outMsg.Write((byte)(traitorSetting + 1)); outMsg.Write((byte)(botCount + 1)); outMsg.Write((byte)(botSpawnMode + 1)); @@ -330,7 +331,30 @@ namespace Barotrauma.Networking }; //*********************************************** - + + // Play Style Selection + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), serverTab.RectTransform), TextManager.Get("ServerSettingsPlayStyle")); + var playStyleSelection = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.16f), serverTab.RectTransform)) + { + AutoHideScrollBar = true, + UseGridLayout = true + }; + + List playStyleTickBoxes = new List(); + GUIRadioButtonGroup selectionPlayStyle = new GUIRadioButtonGroup(); + foreach (PlayStyle playStyle in Enum.GetValues(typeof(PlayStyle))) + { + var selectionTick = new GUITickBox(new RectTransform(new Vector2(0.32f, 0.49f), playStyleSelection.Content.RectTransform), TextManager.Get("servertag." + playStyle), font: GUI.SmallFont, style: "GUIRadioButton") + { + ToolTip = TextManager.Get("servertagdescription." + playStyle) + }; + selectionPlayStyle.AddRadioButton((int)playStyle, selectionTick); + playStyleTickBoxes.Add(selectionTick); + } + GetPropertyData("PlayStyle").AssignGUIComponent(selectionPlayStyle); + GUITextBlock.AutoScaleAndNormalize(playStyleTickBoxes.Select(t => t.TextBlock)); + + // Sub Selection new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), serverTab.RectTransform), TextManager.Get("ServerSettingsSubSelection")); var selectionFrame = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), serverTab.RectTransform), isHorizontal: true) { @@ -341,12 +365,13 @@ namespace Barotrauma.Networking GUIRadioButtonGroup selectionMode = new GUIRadioButtonGroup(); for (int i = 0; i < 3; i++) { - var selectionTick = new GUITickBox(new RectTransform(new Vector2(0.3f, 1.0f), selectionFrame.RectTransform), TextManager.Get(((SelectionMode)i).ToString()), font: GUI.SmallFont); - selectionMode.AddRadioButton((SelectionMode)i, selectionTick); + var selectionTick = new GUITickBox(new RectTransform(new Vector2(0.3f, 1.0f), selectionFrame.RectTransform), TextManager.Get(((SelectionMode)i).ToString()), font: GUI.SmallFont, style: "GUIRadioButton"); + selectionMode.AddRadioButton(i, selectionTick); } DebugConsole.NewMessage(SubSelectionMode.ToString(), Color.White); GetPropertyData("SubSelectionMode").AssignGUIComponent(selectionMode); + // Mode Selection new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), serverTab.RectTransform), TextManager.Get("ServerSettingsModeSelection")); selectionFrame = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), serverTab.RectTransform), isHorizontal: true) { @@ -357,8 +382,8 @@ namespace Barotrauma.Networking selectionMode = new GUIRadioButtonGroup(); for (int i = 0; i < 3; i++) { - var selectionTick = new GUITickBox(new RectTransform(new Vector2(0.3f, 1.0f), selectionFrame.RectTransform), TextManager.Get(((SelectionMode)i).ToString()), font: GUI.SmallFont); - selectionMode.AddRadioButton((SelectionMode)i, selectionTick); + var selectionTick = new GUITickBox(new RectTransform(new Vector2(0.3f, 1.0f), selectionFrame.RectTransform), TextManager.Get(((SelectionMode)i).ToString()), font: GUI.SmallFont, style: "GUIRadioButton"); + selectionMode.AddRadioButton(i, selectionTick); } GetPropertyData("ModeSelectionMode").AssignGUIComponent(selectionMode); @@ -715,6 +740,18 @@ namespace Barotrauma.Networking RelativeSpacing = 0.02f }; + var allowFriendlyFire = new GUITickBox(new RectTransform(new Vector2(1.0f, 0.05f), antigriefingTab.RectTransform), + TextManager.Get("ServerSettingsAllowFriendlyFire")); + GetPropertyData("AllowFriendlyFire").AssignGUIComponent(allowFriendlyFire); + + var allowRewiring = new GUITickBox(new RectTransform(new Vector2(1.0f, 0.05f), antigriefingTab.RectTransform), + TextManager.Get("ServerSettingsAllowRewiring")); + GetPropertyData("AllowRewiring").AssignGUIComponent(allowRewiring); + + var allowDisguises = new GUITickBox(new RectTransform(new Vector2(1.0f, 0.05f), antigriefingTab.RectTransform), + TextManager.Get("ServerSettingsAllowDisguises")); + GetPropertyData("AllowDisguises").AssignGUIComponent(allowDisguises); + var voteKickBox = new GUITickBox(new RectTransform(new Vector2(1.0f, 0.05f), antigriefingTab.RectTransform), TextManager.Get("ServerSettingsAllowVoteKick")); GetPropertyData("AllowVoteKick").AssignGUIComponent(voteKickBox); diff --git a/Barotrauma/BarotraumaClient/Source/Networking/SteamManager.cs b/Barotrauma/BarotraumaClient/Source/Networking/SteamManager.cs index ca17ec9db..f34de749d 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/SteamManager.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/SteamManager.cs @@ -20,6 +20,8 @@ namespace Barotrauma.Steam public Facepunch.Steamworks.Auth Auth => client?.Auth; public Facepunch.Steamworks.Lobby Lobby => client?.Lobby; public Facepunch.Steamworks.LobbyList LobbyList => client?.LobbyList; + public Facepunch.Steamworks.ServerList ServerList => client?.ServerList; + public Facepunch.Steamworks.Client Client => client; private SteamManager() { @@ -75,7 +77,8 @@ namespace Barotrauma.Steam Joining, Joined } - private static UInt64 lobbyID = 0; + + public static UInt64 LobbyID { get; private set; } = 0; private static LobbyState lobbyState = LobbyState.NotConnected; private static string lobbyIP = ""; private static Thread lobbyIPRetrievalThread; @@ -167,7 +170,7 @@ namespace Barotrauma.Steam lobbyIPRetrievalThread.Start(); lobbyState = LobbyState.Owner; - lobbyID = instance.client.Lobby.CurrentLobby; + LobbyID = instance.client.Lobby.CurrentLobby; UpdateLobby(serverSettings); }; if (lobbyState != LobbyState.NotConnected) { return; } @@ -192,16 +195,16 @@ namespace Barotrauma.Steam { return; } - + var contentPackages = GameMain.Config.SelectedContentPackages.Where(cp => cp.HasMultiplayerIncompatibleContent); - + instance.client.Lobby.Name = serverSettings.ServerName; - instance.client.Lobby.Owner = Steam.SteamManager.GetSteamID(); - instance.client.Lobby.MaxMembers = serverSettings.MaxPlayers+10; - instance.client.Lobby.CurrentLobbyData.SetData("playercount", (GameMain.Client?.ConnectedClients?.Count??0).ToString()); + instance.client.Lobby.Owner = GetSteamID(); + instance.client.Lobby.MaxMembers = serverSettings.MaxPlayers + 10; + instance.client.Lobby.CurrentLobbyData.SetData("playercount", (GameMain.Client?.ConnectedClients?.Count ?? 0).ToString()); instance.client.Lobby.CurrentLobbyData.SetData("maxplayernum", serverSettings.MaxPlayers.ToString()); instance.client.Lobby.CurrentLobbyData.SetData("hostipaddress", lobbyIP); - //instance.client.Lobby.CurrentLobbyData.SetData("connectsteamid", Steam.SteamManager.GetSteamID().ToString()); + instance.client.Lobby.CurrentLobbyData.SetData("lobbyowner", SteamIDUInt64ToString(GetSteamID())); instance.client.Lobby.CurrentLobbyData.SetData("haspassword", serverSettings.HasPassword.ToString()); instance.client.Lobby.CurrentLobbyData.SetData("message", serverSettings.ServerMessageText); @@ -216,9 +219,12 @@ namespace Barotrauma.Steam instance.client.Lobby.CurrentLobbyData.SetData("voicechatenabled", serverSettings.VoiceChatEnabled.ToString()); instance.client.Lobby.CurrentLobbyData.SetData("allowspectating", serverSettings.AllowSpectating.ToString()); instance.client.Lobby.CurrentLobbyData.SetData("allowrespawn", serverSettings.AllowRespawn.ToString()); + instance.client.Lobby.CurrentLobbyData.SetData("karmaenabled", serverSettings.KarmaEnabled.ToString()); + instance.client.Lobby.CurrentLobbyData.SetData("friendlyfireenabled", serverSettings.AllowFriendlyFire.ToString()); instance.client.Lobby.CurrentLobbyData.SetData("traitors", serverSettings.TraitorsEnabled.ToString()); instance.client.Lobby.CurrentLobbyData.SetData("gamestarted", GameMain.Client.GameStarted.ToString()); - instance.client.Lobby.CurrentLobbyData.SetData("gamemode", GameMain.NetLobbyScreen?.SelectedMode?.Identifier??""); + instance.client.Lobby.CurrentLobbyData.SetData("playstyle", serverSettings.PlayStyle.ToString()); + instance.client.Lobby.CurrentLobbyData.SetData("gamemode", GameMain.NetLobbyScreen?.SelectedMode?.Identifier ?? ""); DebugConsole.Log("Lobby updated!"); } @@ -232,7 +238,7 @@ namespace Barotrauma.Steam lobbyIPRetrievalThread = null; instance.client.Lobby.Leave(); - lobbyID = 0; + LobbyID = 0; lobbyIP = ""; lobbyState = LobbyState.NotConnected; @@ -242,7 +248,7 @@ namespace Barotrauma.Steam public static void JoinLobby(UInt64 id, bool joinServer) { if (instance.client.Lobby.CurrentLobby == id) { return; } - if (lobbyID == id) { return; } + if (LobbyID == id) { return; } instance.client.Lobby.OnLobbyJoined = (success) => { try @@ -253,7 +259,7 @@ namespace Barotrauma.Steam return; } lobbyState = LobbyState.Joined; - lobbyID = instance.client.Lobby.CurrentLobby; + LobbyID = instance.client.Lobby.CurrentLobby; if (joinServer) { GameMain.Instance.ConnectLobby = 0; @@ -267,7 +273,7 @@ namespace Barotrauma.Steam } }; lobbyState = LobbyState.Joining; - lobbyID = id; + LobbyID = id; instance.client.Lobby.Join(id); } @@ -314,9 +320,11 @@ namespace Barotrauma.Steam query.OnUpdate = () => { UpdateServerQuery(query, onServerFound, onServerRulesReceived, includeUnresponsive: true); }; query.OnFinished = onFinished; +#if !DEBUG var localQuery = instance.client.ServerList.Local(filter); localQuery.OnUpdate = () => { UpdateServerQuery(localQuery, onServerFound, onServerRulesReceived, includeUnresponsive: true); }; localQuery.OnFinished = onFinished; +#endif instance.client.LobbyList.OnLobbiesUpdated = () => { UpdateLobbyQuery(onServerFound, onServerRulesReceived, onFinished); }; instance.client.LobbyList.Refresh(); @@ -382,6 +390,7 @@ namespace Barotrauma.Steam bool.TryParse(lobby.GetData("haspassword"), out bool hasPassword); int.TryParse(lobby.GetData("playercount"), out int currPlayers); int.TryParse(lobby.GetData("maxplayernum"), out int maxPlayers); + UInt64 ownerId = SteamIDStringToUInt64(lobby.GetData("lobbyowner")); //UInt64.TryParse(lobby.GetData("connectsteamid"), out ulong connectSteamId); string ip = lobby.GetData("hostipaddress"); if (string.IsNullOrWhiteSpace(ip)) { ip = ""; } @@ -390,41 +399,17 @@ namespace Barotrauma.Steam { ServerName = lobby.Name, Port = "", + QueryPort = "", IP = ip, PlayerCount = currPlayers, MaxPlayers = maxPlayers, HasPassword = hasPassword, RespondedToSteamQuery = true, - LobbyID = lobby.LobbyID + LobbyID = lobby.LobbyID, + OwnerID = ownerId }; serverInfo.PingChecked = false; - serverInfo.ServerMessage = lobby.GetData("message"); - serverInfo.GameVersion = lobby.GetData("version"); - - serverInfo.ContentPackageNames.AddRange(lobby.GetData("contentpackage").Split(',')); - serverInfo.ContentPackageHashes.AddRange(lobby.GetData("contentpackagehash").Split(',')); - serverInfo.ContentPackageWorkshopUrls.AddRange(lobby.GetData("contentpackageurl").Split(',')); - - serverInfo.UsingWhiteList = lobby.GetData("usingwhitelist") == "True"; - SelectionMode selectionMode; - if (Enum.TryParse(lobby.GetData("modeselectionmode"), out selectionMode)) serverInfo.ModeSelectionMode = selectionMode; - if (Enum.TryParse(lobby.GetData("subselectionmode"), out selectionMode)) serverInfo.SubSelectionMode = selectionMode; - - serverInfo.AllowSpectating = lobby.GetData("allowspectating") == "True"; - serverInfo.AllowRespawn = lobby.GetData("allowrespawn") == "True"; - serverInfo.VoipEnabled = lobby.GetData("voicechatenabled") == "True"; - if (Enum.TryParse(lobby.GetData("traitors"), out YesNoMaybe traitorsEnabled)) serverInfo.TraitorsEnabled = traitorsEnabled; - - serverInfo.GameStarted = lobby.GetData("gamestarted") == "True"; - serverInfo.GameMode = lobby.GetData("gamemode"); - - if (serverInfo.ContentPackageNames.Count != serverInfo.ContentPackageHashes.Count || - serverInfo.ContentPackageHashes.Count != serverInfo.ContentPackageWorkshopUrls.Count) - { - //invalid contentpackage info - serverInfo.ContentPackageNames.Clear(); - serverInfo.ContentPackageHashes.Clear(); - } + AssignLobbyDataToServerInfo(lobby, serverInfo); onServerFound(serverInfo); //onServerRulesReceived(serverInfo); @@ -433,6 +418,47 @@ namespace Barotrauma.Steam onFinished(); } + public static void AssignLobbyDataToServerInfo(LobbyList.Lobby lobby, ServerInfo serverInfo) + { + serverInfo.ServerMessage = lobby.GetData("message"); + serverInfo.GameVersion = lobby.GetData("version"); + + serverInfo.ContentPackageNames.AddRange(lobby.GetData("contentpackage").Split(',')); + serverInfo.ContentPackageHashes.AddRange(lobby.GetData("contentpackagehash").Split(',')); + serverInfo.ContentPackageWorkshopUrls.AddRange(lobby.GetData("contentpackageurl").Split(',')); + + serverInfo.UsingWhiteList = getLobbyBool("usingwhitelist"); + SelectionMode selectionMode; + if (Enum.TryParse(lobby.GetData("modeselectionmode"), out selectionMode)) { serverInfo.ModeSelectionMode = selectionMode; } + if (Enum.TryParse(lobby.GetData("subselectionmode"), out selectionMode)) { serverInfo.SubSelectionMode = selectionMode; } + + serverInfo.AllowSpectating = getLobbyBool("allowspectating"); + serverInfo.AllowRespawn = getLobbyBool("allowrespawn"); + serverInfo.VoipEnabled = getLobbyBool("voicechatenabled"); + serverInfo.KarmaEnabled = getLobbyBool("karmaenabled"); + serverInfo.FriendlyFireEnabled = getLobbyBool("friendlyfireenabled"); + if (Enum.TryParse(lobby.GetData("traitors"), out YesNoMaybe traitorsEnabled)) { serverInfo.TraitorsEnabled = traitorsEnabled; } + + serverInfo.GameStarted = lobby.GetData("gamestarted") == "True"; + serverInfo.GameMode = lobby.GetData("gamemode"); + if (Enum.TryParse(lobby.GetData("playstyle"), out PlayStyle playStyle)) serverInfo.PlayStyle = playStyle; + + if (serverInfo.ContentPackageNames.Count != serverInfo.ContentPackageHashes.Count || + serverInfo.ContentPackageHashes.Count != serverInfo.ContentPackageWorkshopUrls.Count) + { + //invalid contentpackage info + serverInfo.ContentPackageNames.Clear(); + serverInfo.ContentPackageHashes.Clear(); + } + + bool? getLobbyBool(string key) + { + string data = lobby.GetData(key); + if (string.IsNullOrEmpty(data)) { return null; } + return data == "True" || data == "true"; + } + } + private static void UpdateServerQuery(ServerList.Request query, Action onServerFound, Action onServerRulesReceived, bool includeUnresponsive) { IEnumerable servers = includeUnresponsive ? @@ -459,6 +485,7 @@ namespace Barotrauma.Steam { ServerName = s.Name, Port = s.ConnectionPort.ToString(), + QueryPort = s.QueryPort.ToString(), IP = s.Address.ToString(), PlayerCount = s.Players, MaxPlayers = s.MaxPlayers, @@ -472,60 +499,72 @@ namespace Barotrauma.Steam { s.FetchRules(); } - s.OnReceivedRules += (bool rulesReceived) => - { - if (!rulesReceived || s.Rules == null) { return; } - - if (s.Rules.ContainsKey("message")) serverInfo.ServerMessage = s.Rules["message"]; - if (s.Rules.ContainsKey("version")) serverInfo.GameVersion = s.Rules["version"]; - - if (s.Rules.ContainsKey("playercount")) - { - if (int.TryParse(s.Rules["playercount"], out int playerCount)) serverInfo.PlayerCount = playerCount; - } - - if (s.Rules.ContainsKey("contentpackage")) serverInfo.ContentPackageNames.AddRange(s.Rules["contentpackage"].Split(',')); - if (s.Rules.ContainsKey("contentpackagehash")) serverInfo.ContentPackageHashes.AddRange(s.Rules["contentpackagehash"].Split(',')); - if (s.Rules.ContainsKey("contentpackageurl")) serverInfo.ContentPackageWorkshopUrls.AddRange(s.Rules["contentpackageurl"].Split(',')); - - if (s.Rules.ContainsKey("usingwhitelist")) serverInfo.UsingWhiteList = s.Rules["usingwhitelist"] == "True"; - if (s.Rules.ContainsKey("modeselectionmode")) - { - if (Enum.TryParse(s.Rules["modeselectionmode"], out SelectionMode selectionMode)) serverInfo.ModeSelectionMode = selectionMode; - } - if (s.Rules.ContainsKey("subselectionmode")) - { - if (Enum.TryParse(s.Rules["subselectionmode"], out SelectionMode selectionMode)) serverInfo.SubSelectionMode = selectionMode; - } - if (s.Rules.ContainsKey("allowspectating")) serverInfo.AllowSpectating = s.Rules["allowspectating"] == "True"; - if (s.Rules.ContainsKey("allowrespawn")) serverInfo.AllowRespawn = s.Rules["allowrespawn"] == "True"; - if (s.Rules.ContainsKey("voicechatenabled")) serverInfo.VoipEnabled = s.Rules["voicechatenabled"] == "True"; - if (s.Rules.ContainsKey("traitors")) - { - if (Enum.TryParse(s.Rules["traitors"], out YesNoMaybe traitorsEnabled)) serverInfo.TraitorsEnabled = traitorsEnabled; - } - - if (s.Rules.ContainsKey("gamestarted")) serverInfo.GameStarted = s.Rules["gamestarted"] == "True"; - - if (s.Rules.ContainsKey("gamemode")) - { - serverInfo.GameMode = s.Rules["gamemode"]; - } - if (serverInfo.ContentPackageNames.Count != serverInfo.ContentPackageHashes.Count || - serverInfo.ContentPackageHashes.Count != serverInfo.ContentPackageWorkshopUrls.Count) - { - //invalid contentpackage info - serverInfo.ContentPackageNames.Clear(); - serverInfo.ContentPackageHashes.Clear(); - } - onServerRulesReceived(serverInfo); - }; + s.OnReceivedRules += (bool received) => { OnReceivedRules(s, serverInfo, received); onServerRulesReceived(serverInfo); }; onServerFound(serverInfo); } query.Responded.Clear(); } + public static void OnReceivedRules(ServerList.Server s, ServerInfo serverInfo, bool rulesReceived) + { + if (!rulesReceived || s.Rules == null) { return; } + + if (s.Rules.ContainsKey("message")) serverInfo.ServerMessage = s.Rules["message"]; + if (s.Rules.ContainsKey("version")) serverInfo.GameVersion = s.Rules["version"]; + + if (s.Rules.ContainsKey("playercount")) + { + if (int.TryParse(s.Rules["playercount"], out int playerCount)) serverInfo.PlayerCount = playerCount; + } + + serverInfo.ContentPackageNames.Clear(); + serverInfo.ContentPackageHashes.Clear(); + serverInfo.ContentPackageWorkshopUrls.Clear(); + if (s.Rules.ContainsKey("contentpackage")) serverInfo.ContentPackageNames.AddRange(s.Rules["contentpackage"].Split(',')); + if (s.Rules.ContainsKey("contentpackagehash")) serverInfo.ContentPackageHashes.AddRange(s.Rules["contentpackagehash"].Split(',')); + if (s.Rules.ContainsKey("contentpackageurl")) serverInfo.ContentPackageWorkshopUrls.AddRange(s.Rules["contentpackageurl"].Split(',')); + + if (s.Rules.ContainsKey("usingwhitelist")) serverInfo.UsingWhiteList = s.Rules["usingwhitelist"] == "True"; + if (s.Rules.ContainsKey("modeselectionmode")) + { + if (Enum.TryParse(s.Rules["modeselectionmode"], out SelectionMode selectionMode)) serverInfo.ModeSelectionMode = selectionMode; + } + if (s.Rules.ContainsKey("subselectionmode")) + { + if (Enum.TryParse(s.Rules["subselectionmode"], out SelectionMode selectionMode)) serverInfo.SubSelectionMode = selectionMode; + } + if (s.Rules.ContainsKey("allowspectating")) serverInfo.AllowSpectating = s.Rules["allowspectating"] == "True"; + if (s.Rules.ContainsKey("allowrespawn")) serverInfo.AllowRespawn = s.Rules["allowrespawn"] == "True"; + if (s.Rules.ContainsKey("voicechatenabled")) serverInfo.VoipEnabled = s.Rules["voicechatenabled"] == "True"; + if (s.Rules.ContainsKey("karmaenabled")) serverInfo.KarmaEnabled = s.Rules["karmaenabled"] == "True"; + if (s.Rules.ContainsKey("friendlyfireenabled")) serverInfo.FriendlyFireEnabled = s.Rules["friendlyfireenabled"] == "True"; + if (s.Rules.ContainsKey("traitors")) + { + if (Enum.TryParse(s.Rules["traitors"], out YesNoMaybe traitorsEnabled)) serverInfo.TraitorsEnabled = traitorsEnabled; + } + + if (s.Rules.ContainsKey("gamestarted")) serverInfo.GameStarted = s.Rules["gamestarted"] == "True"; + + if (s.Rules.ContainsKey("gamemode")) + { + serverInfo.GameMode = s.Rules["gamemode"]; + } + + if (s.Rules.ContainsKey("playstyle")) + { + if (Enum.TryParse(s.Rules["playstyle"], out PlayStyle playStyle)) serverInfo.PlayStyle = playStyle; + } + + if (serverInfo.ContentPackageNames.Count != serverInfo.ContentPackageHashes.Count || + serverInfo.ContentPackageHashes.Count != serverInfo.ContentPackageWorkshopUrls.Count) + { + //invalid contentpackage info + serverInfo.ContentPackageNames.Clear(); + serverInfo.ContentPackageHashes.Clear(); + } + } + private static bool ValidateServerInfo(ServerList.Server server) { if (string.IsNullOrWhiteSpace(server.Name)) { return false; } diff --git a/Barotrauma/BarotraumaClient/Source/Networking/Voip/VoipCapture.cs b/Barotrauma/BarotraumaClient/Source/Networking/Voip/VoipCapture.cs index a2846cd78..bf506cd08 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/Voip/VoipCapture.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/Voip/VoipCapture.cs @@ -26,7 +26,13 @@ namespace Barotrauma.Networking get; private set; } - + + public double LastAmplitude + { + get; + private set; + } + public float Gain { get { return GameMain.Config?.MicrophoneVolume ?? 1.0f; } @@ -191,6 +197,7 @@ namespace Barotrauma.Networking double dB = Math.Min(20 * Math.Log10(maxAmplitude), 0.0); LastdB = dB; + LastAmplitude = maxAmplitude; bool allowEnqueue = false; if (GameMain.WindowActive) diff --git a/Barotrauma/BarotraumaClient/Source/Networking/Voting.cs b/Barotrauma/BarotraumaClient/Source/Networking/Voting.cs index 3be8cc760..9a4b5b7f9 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/Voting.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/Voting.cs @@ -16,7 +16,7 @@ namespace Barotrauma allowSubVoting = value; GameMain.NetLobbyScreen.SubList.Enabled = value || (GameMain.Client != null && GameMain.Client.HasPermission(ClientPermissions.SelectSub)); - GameMain.NetLobbyScreen.InfoFrame.FindChild("subvotes", true).Visible = value; + GameMain.NetLobbyScreen.Frame.FindChild("subvotes", true).Visible = value; UpdateVoteTexts(null, VoteType.Sub); GameMain.NetLobbyScreen.SubList.Deselect(); @@ -33,7 +33,7 @@ namespace Barotrauma value || (GameMain.Client != null && GameMain.Client.HasPermission(ClientPermissions.SelectMode)); - GameMain.NetLobbyScreen.InfoFrame.FindChild("modevotes", true).Visible = value; + GameMain.NetLobbyScreen.Frame.FindChild("modevotes", true).Visible = value; //gray out modes that can't be voted foreach (GUITextBlock comp in GameMain.NetLobbyScreen.ModeList.Content.Children) diff --git a/Barotrauma/BarotraumaClient/Source/Particles/ParticleEmitter.cs b/Barotrauma/BarotraumaClient/Source/Particles/ParticleEmitter.cs index 34dfcf6b8..9a513ca6f 100644 --- a/Barotrauma/BarotraumaClient/Source/Particles/ParticleEmitter.cs +++ b/Barotrauma/BarotraumaClient/Source/Particles/ParticleEmitter.cs @@ -25,7 +25,7 @@ namespace Barotrauma.Particles public void Emit(float deltaTime, Vector2 position, Hull hullGuess = null, float angle = 0.0f, float particleRotation = 0.0f, float velocityMultiplier = 1.0f, float sizeMultiplier = 1.0f, float amountMultiplier = 1.0f) { emitTimer += deltaTime * amountMultiplier; - burstEmitTimer += deltaTime; + burstEmitTimer -= deltaTime; if (Prefab.ParticlesPerSecond > 0) { @@ -37,9 +37,9 @@ namespace Barotrauma.Particles } } - if (burstEmitTimer < Prefab.EmitInterval) return; - burstEmitTimer = 0.0f; - + if (burstEmitTimer > 0.0f) { return; } + + burstEmitTimer = Prefab.EmitInterval; for (int i = 0; i < Prefab.ParticleAmount * amountMultiplier; i++) { Emit(position, hullGuess, angle, particleRotation, velocityMultiplier, sizeMultiplier); diff --git a/Barotrauma/BarotraumaClient/Source/Program.cs b/Barotrauma/BarotraumaClient/Source/Program.cs index a38405b09..69a08b8ac 100644 --- a/Barotrauma/BarotraumaClient/Source/Program.cs +++ b/Barotrauma/BarotraumaClient/Source/Program.cs @@ -31,10 +31,12 @@ namespace Barotrauma static void Main(string[] args) { GameMain game = null; + string executableDir = ""; #if !DEBUG try { #endif + executableDir = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location); SteamManager.Initialize(); game = new GameMain(args); game.Run(); @@ -45,7 +47,7 @@ namespace Barotrauma { try { - CrashDump(game, "crashreport.log", e); + CrashDump(game, Path.Combine(executableDir,"crashreport.log"), e); } catch (Exception e2) { diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs b/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs index bc4b5ef3a..3de3a82e3 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs @@ -62,25 +62,35 @@ namespace Barotrauma new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform) { MinSize = new Point(0, 20) }, TextManager.Get("MapSeed")); seedBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.05f), leftColumn.RectTransform) { MinSize = new Point(0, 20) }, ToolBox.RandomSeed(8)); - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform) { MinSize = new Point(0, 20) }, TextManager.Get("SelectedSub")); - var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), leftColumn.RectTransform), isHorizontal: true) + if (!isMultiplayer) { - Stretch = true - }; - subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.65f), leftColumn.RectTransform)) { ScrollBarVisible = true }; - - var searchTitle = new GUITextBlock(new RectTransform(new Vector2(0.001f, 1.0f), filterContainer.RectTransform), TextManager.Get("serverlog.filter"), textAlignment: Alignment.CenterLeft, font: GUI.Font); - var searchBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 1.0f), filterContainer.RectTransform, Anchor.CenterRight), font: GUI.Font); - searchBox.OnSelected += (sender, userdata) => { searchTitle.Visible = false; }; - searchBox.OnDeselected += (sender, userdata) => { searchTitle.Visible = true; }; + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform) { MinSize = new Point(0, 20) }, TextManager.Get("SelectedSub")); - searchBox.OnTextChanged += (textBox, text) => { FilterSubs(subList, text); return true; }; - var clearButton = new GUIButton(new RectTransform(new Vector2(0.075f, 1.0f), filterContainer.RectTransform), "x") + var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), leftColumn.RectTransform), isHorizontal: true) + { + Stretch = true + }; + + subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.65f), leftColumn.RectTransform)) { ScrollBarVisible = true }; + + var searchTitle = new GUITextBlock(new RectTransform(new Vector2(0.001f, 1.0f), filterContainer.RectTransform), TextManager.Get("serverlog.filter"), textAlignment: Alignment.CenterLeft, font: GUI.Font); + var searchBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 1.0f), filterContainer.RectTransform, Anchor.CenterRight), font: GUI.Font); + searchBox.OnSelected += (sender, userdata) => { searchTitle.Visible = false; }; + searchBox.OnDeselected += (sender, userdata) => { searchTitle.Visible = true; }; + + searchBox.OnTextChanged += (textBox, text) => { FilterSubs(subList, text); return true; }; + var clearButton = new GUIButton(new RectTransform(new Vector2(0.075f, 1.0f), filterContainer.RectTransform), "x") + { + OnClicked = (btn, userdata) => { searchBox.Text = ""; FilterSubs(subList, ""); searchBox.Flash(Color.White); return true; } + }; + + subList.OnSelected = OnSubSelected; + } + else // Spacing to fix the multiplayer campaign setup layout { - OnClicked = (btn, userdata) => { searchBox.Text = ""; FilterSubs(subList, ""); searchBox.Flash(Color.White); return true; } - }; - - if (!isMultiplayer) { subList.OnSelected = OnSubSelected; } + //spacing + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.25f), leftColumn.RectTransform), style: null); + } // New game right side subPreviewContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.8f), rightColumn.RectTransform)) @@ -103,7 +113,18 @@ namespace Barotrauma return false; } - if (!(subList.SelectedData is Submarine selectedSub)) { return false; } + Submarine selectedSub = null; + + if (!isMultiplayer) + { + if (!(subList.SelectedData is Submarine)) { return false; } + selectedSub = subList.SelectedData as Submarine; + } + else + { + if (GameMain.NetLobbyScreen.SelectedSub == null) { return false; } + selectedSub = GameMain.NetLobbyScreen.SelectedSub; + } if (string.IsNullOrEmpty(selectedSub.MD5Hash.Hash)) { @@ -189,7 +210,7 @@ namespace Barotrauma leftColumn.Recalculate(); rightColumn.Recalculate(); - UpdateSubList(submarines); + if (submarines != null) { UpdateSubList(submarines); } UpdateLoadMenu(saveFiles); } @@ -228,7 +249,8 @@ namespace Barotrauma msgBox.Buttons[0].OnClicked = (btn, userdata) => { - GameMain.NetLobbyScreen.SelectMode(0); + GameMain.NetLobbyScreen.HighlightMode(GameMain.NetLobbyScreen.SelectedModeIndex); + GameMain.NetLobbyScreen.SelectMode(GameMain.NetLobbyScreen.SelectedModeIndex); CoroutineManager.StopCoroutines("WaitForCampaignSetup"); return true; }; diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs b/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs index 12db6795b..e9da97687 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs @@ -12,28 +12,33 @@ namespace Barotrauma { public enum Tab { Map, Crew, Store, Repair } private Tab selectedTab; - private GUIFrame[] tabs; - private GUIFrame topPanel; + private readonly GUIFrame[] tabs; + private readonly GUIFrame topPanel; - private GUIListBox characterList; + private readonly GUIListBox characterList; private MapEntityCategory selectedItemCategory = MapEntityCategory.Equipment; - private GUIListBox myItemList; - private GUIListBox storeItemList; - private GUITextBox searchBox; + private readonly GUIListBox myItemList; + private readonly GUIListBox storeItemList; + private readonly GUITextBox searchBox; - private GUIComponent missionPanel; - private GUIComponent selectedLocationInfo; - private GUIListBox selectedMissionInfo; + private readonly GUIComponent missionPanel; + private readonly GUIComponent selectedLocationInfo; + private readonly GUIListBox selectedMissionInfo; - private GUIButton repairHullsButton, replaceShuttlesButton, repairItemsButton; + private readonly GUIButton repairHullsButton, replaceShuttlesButton, repairItemsButton; private GUIFrame characterPreviewFrame; - private List tabButtons = new List(); - private List itemCategoryButtons = new List(); - private List missionTickBoxes = new List(); + private bool displayMissionPanelInMapTab; + + private readonly List tabButtons = new List(); + private readonly List itemCategoryButtons = new List(); + private readonly List missionTickBoxes = new List(); + private GUIRadioButtonGroup missionRadioButtonGroup = new GUIRadioButtonGroup(); + + private Location selectedLocation; public Action StartRound; public Action OnLocationSelected; @@ -41,12 +46,12 @@ namespace Barotrauma public Level SelectedLevel { get; private set; } public GUIComponent MapContainer { get; private set; } - + public GUIButton StartButton { get; private set; } public CampaignMode Campaign { get; } - public CampaignUI(CampaignMode campaign, GUIFrame container) + public CampaignUI(CampaignMode campaign, GUIComponent container) { this.Campaign = campaign; @@ -99,7 +104,8 @@ namespace Barotrauma new GUITextBlock(new RectTransform(new Vector2(0.8f, 0.9f), tabButton.RectTransform, i == 0 ? Anchor.CenterLeft : Anchor.CenterRight) { RelativeOffset = new Vector2(0.05f, 0.0f) }, TextManager.Get(tab.ToString()), textColor: tabButton.TextColor, font: GUI.LargeFont, textAlignment: Alignment.Center, style: null) { - UserData = "buttontext" + UserData = "buttontext", + Padding = new Vector4(GUI.Scale * 1) }; } else @@ -107,7 +113,8 @@ namespace Barotrauma new GUITextBlock(new RectTransform(new Vector2(0.7f, 0.9f), tabButton.RectTransform, Anchor.Center), TextManager.Get(tab.ToString()), textColor: tabButton.TextColor, font: GUI.LargeFont, textAlignment: Alignment.Center, style: null) { - UserData = "buttontext" + UserData = "buttontext", + Padding = new Vector4(GUI.Scale * 1) }; } @@ -129,6 +136,7 @@ namespace Barotrauma }, color: Color.Black * 0.9f); new GUIFrame(new RectTransform(new Vector2(1.25f, 1.25f), tabs[(int)Tab.Crew].RectTransform, Anchor.Center), style: "OuterGlow", color: Color.Black * 0.7f) { + UserData = "outerglow", CanBeFocused = false }; @@ -174,21 +182,18 @@ namespace Barotrauma }, color: Color.Black * 0.9f); new GUIFrame(new RectTransform(new Vector2(1.25f, 1.25f), tabs[(int)Tab.Store].RectTransform, Anchor.Center), style: "OuterGlow", color: Color.Black * 0.7f) { + UserData = "outerglow", CanBeFocused = false }; - - List itemCategories = Enum.GetValues(typeof(MapEntityCategory)).Cast().ToList(); - //don't show categories with no buyable items - itemCategories.RemoveAll(c => - !MapEntityPrefab.List.Any(ep => ep.Category.HasFlag(c) && (ep is ItemPrefab) && ((ItemPrefab)ep).CanBeBought)); - + var storeContent = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 0.9f), tabs[(int)Tab.Store].RectTransform, Anchor.Center)) { + UserData = "content", Stretch = true, - RelativeSpacing = 0.02f + RelativeSpacing = 0.015f }; - var storeContentTop = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), storeContent.RectTransform), isHorizontal: true, childAnchor: Anchor.CenterLeft) + var storeContentTop = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), storeContent.RectTransform) { MinSize = new Point(0, (int)(30 * GUI.Scale)) }, isHorizontal: true, childAnchor: Anchor.CenterLeft) { Stretch = true }; @@ -197,7 +202,7 @@ namespace Barotrauma { TextGetter = GetMoney }; - var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 0.4f), storeContentTop.RectTransform), isHorizontal: true) + var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 0.4f), storeContentTop.RectTransform) { MinSize = new Point(0, (int)(25 * GUI.Scale)) }, isHorizontal: true) { Stretch = true }; @@ -214,6 +219,7 @@ namespace Barotrauma var storeItemLists = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.8f), storeContent.RectTransform), isHorizontal: true) { + RelativeSpacing = 0.03f, Stretch = true }; myItemList = new GUIListBox(new RectTransform(new Vector2(0.5f, 1.0f), storeItemLists.RectTransform)); @@ -226,6 +232,11 @@ namespace Barotrauma { RelativeSpacing = 0.02f }; + + List itemCategories = Enum.GetValues(typeof(MapEntityCategory)).Cast().ToList(); + //don't show categories with no buyable items + itemCategories.RemoveAll(c => + !MapEntityPrefab.List.Any(ep => ep.Category.HasFlag(c) && (ep is ItemPrefab) && ((ItemPrefab)ep).CanBeBought)); foreach (MapEntityCategory category in itemCategories) { var categoryButton = new GUIButton(new RectTransform(new Point(categoryButtonContainer.Rect.Width), categoryButtonContainer.RectTransform), @@ -268,6 +279,7 @@ namespace Barotrauma }, color: Color.Black * 0.9f); new GUIFrame(new RectTransform(new Vector2(1.25f, 1.25f), tabs[(int)Tab.Repair].RectTransform, Anchor.Center), style: "OuterGlow", color: Color.Black * 0.7f) { + UserData = "outerglow", CanBeFocused = false }; @@ -293,7 +305,7 @@ namespace Barotrauma IgnoreLayoutGroups = true, CanBeFocused = false }; - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.3f), repairHullsHolder.RectTransform), TextManager.Get("RepairAllWalls"), textAlignment: Alignment.Right, font: GUI.LargeFont) + var repairHullsLabel = new GUITextBlock(new RectTransform(new Vector2(0.7f, 0.3f), repairHullsHolder.RectTransform), TextManager.Get("RepairAllWalls"), textAlignment: Alignment.Right, font: GUI.LargeFont) { ForceUpperCase = true }; @@ -338,7 +350,7 @@ namespace Barotrauma IgnoreLayoutGroups = true, CanBeFocused = false }; - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.3f), repairItemsHolder.RectTransform), TextManager.Get("RepairAllItems"), textAlignment: Alignment.Right, font: GUI.LargeFont) + var repairItemsLabel = new GUITextBlock(new RectTransform(new Vector2(0.7f, 0.3f), repairItemsHolder.RectTransform), TextManager.Get("RepairAllItems"), textAlignment: Alignment.Right, font: GUI.LargeFont) { ForceUpperCase = true }; @@ -383,7 +395,7 @@ namespace Barotrauma IgnoreLayoutGroups = true, CanBeFocused = false }; - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.3f), replaceShuttlesHolder.RectTransform), TextManager.Get("ReplaceLostShuttles"), textAlignment: Alignment.Right, font: GUI.LargeFont) + var replaceShuttlesLabel = new GUITextBlock(new RectTransform(new Vector2(0.7f, 0.3f), replaceShuttlesHolder.RectTransform), TextManager.Get("ReplaceLostShuttles"), textAlignment: Alignment.Right, font: GUI.LargeFont) { ForceUpperCase = true }; @@ -422,6 +434,7 @@ namespace Barotrauma { CanBeFocused = false }; + GUITextBlock.AutoScaleAndNormalize(repairHullsLabel, repairItemsLabel, replaceShuttlesLabel); // mission info ------------------------------------------------------------------------- @@ -436,6 +449,7 @@ namespace Barotrauma new GUIFrame(new RectTransform(new Vector2(1.25f, 1.25f), missionPanel.RectTransform, Anchor.Center), style: "OuterGlow", color: Color.Black * 0.7f) { + UserData = "outerglow", CanBeFocused = false }; @@ -443,6 +457,7 @@ namespace Barotrauma { RelativeOffset = new Vector2(0.1f, -0.05f) }, TextManager.Get("Mission"), textAlignment: Alignment.Center, font: GUI.LargeFont, style: "GUISlopedHeader") { + UserData = "missionlabel", AutoScale = true }; var missionPanelContent = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.9f), missionPanel.RectTransform, Anchor.Center)) @@ -460,6 +475,11 @@ namespace Barotrauma { Visible = false }; + new GUIFrame(new RectTransform(new Vector2(1.25f, 1.25f), selectedMissionInfo.RectTransform, Anchor.Center), style: "OuterGlow", color: Color.Black * 0.9f) + { + UserData = "outerglow", + CanBeFocused = false + }; // ------------------------------------------------------------------------- @@ -473,15 +493,57 @@ namespace Barotrauma campaign.Map.OnLocationChanged += (prevLocation, newLocation) => UpdateLocationView(newLocation); campaign.Map.OnMissionSelected += (connection, mission) => { - var selectedTickBox = missionTickBoxes.Find(tb => tb.UserData == mission); - if (selectedTickBox != null) + var selectedTickBox = (missionRadioButtonGroup.UserData as List).FindIndex(m => m == mission); + if (selectedTickBox >= 0) { - selectedTickBox.Selected = true; + missionRadioButtonGroup.Selected = selectedTickBox; } }; campaign.CargoManager.OnItemsChanged += RefreshMyItems; } + public void SetMissionPanelParent(RectTransform parent) + { + missionPanel.RectTransform.Parent = parent; + missionPanel.RectTransform.RelativeOffset = Vector2.Zero; + missionPanel.RectTransform.RelativeSize = Vector2.One; + var outerGlow = missionPanel.GetChildByUserData("outerglow"); + if (outerGlow != null) { outerGlow.Visible = false; } + var label = missionPanel.GetChildByUserData("missionlabel"); + if (label != null) { label.Visible = false; } + + displayMissionPanelInMapTab = true; + + selectedMissionInfo.RectTransform.RelativeOffset = Vector2.Zero; + selectedMissionInfo.RectTransform.SetPosition(Anchor.BottomLeft, Pivot.BottomRight); + } + public void SetMenuPanelParent(RectTransform parent) + { + for (int i = 0; i < tabs.Length; i++) + { + var panel = tabs[i]; + if (panel == null) { continue; } + panel.RectTransform.Parent = parent; + panel.RectTransform.RelativeOffset = Vector2.Zero; + panel.RectTransform.RelativeSize = Vector2.One; + var outerGlow = panel.GetChildByUserData("outerglow"); + if (outerGlow != null) { outerGlow.Visible = false; } + + if (i == (int)Tab.Store) + { + panel.RectTransform.RelativeSize *= new Vector2(1.5f, 1.0f); + panel.RectTransform.SetPosition(Anchor.TopRight); + var content = panel.GetChildByUserData("content"); + if (content != null) { content.RectTransform.RelativeSize = Vector2.One; } + new GUIFrame(new RectTransform(new Vector2(1.107f, 1.0f), panel.RectTransform, Anchor.TopRight), style: null) + { + Color = Color.Black, + CanBeFocused = false + }.SetAsFirstChild(); + } + } + } + private void UpdateLocationView(Location location) { if (location == null) @@ -606,8 +668,14 @@ namespace Barotrauma public void SelectLocation(Location location, LocationConnection connection) { selectedLocationInfo.ClearChildren(); - missionPanel.Visible = location != null; - + //don't select the map panel if the tabs are displayed in the same place as the map, and we're looking at some other tab + if (!displayMissionPanelInMapTab || selectedTab == Tab.Map) + { + SelectTab(Tab.Map); + missionPanel.Visible = location != null; + } + + selectedLocation = location; if (location == null) { return; } var container = selectedLocationInfo; @@ -643,30 +711,43 @@ namespace Barotrauma Mission selectedMission = Campaign.Map.CurrentLocation.SelectedMission != null && availableMissions.Contains(Campaign.Map.CurrentLocation.SelectedMission) ? Campaign.Map.CurrentLocation.SelectedMission : null; missionTickBoxes.Clear(); - foreach (Mission mission in availableMissions) + missionRadioButtonGroup = new GUIRadioButtonGroup { + UserData = availableMissions + }; + + for (int i = 0; i < availableMissions.Count; i++) + { + var mission = availableMissions[i]; var tickBox = new GUITickBox(new RectTransform(new Vector2(0.1f, 0.1f), missionContent.RectTransform) { MaxSize = maxTickBoxSize }, - mission?.Name ?? TextManager.Get("NoMission")) + mission?.Name ?? TextManager.Get("NoMission"), style: "GUIRadioButton") { - UserData = mission, - Enabled = GameMain.Client == null || GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign), - Selected = mission == selectedMission, - OnSelected = (tb) => - { - if (!tb.Selected) { return false; } - RefreshMissionTab(tb.UserData as Mission); - Campaign.Map.OnMissionSelected?.Invoke(connection, mission); - if ((Campaign is MultiPlayerCampaign multiPlayerCampaign) && !multiPlayerCampaign.SuppressStateSending && - GameMain.Client != null && GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign)) - { - GameMain.Client?.SendCampaignState(); - } - return true; - } + Enabled = GameMain.Client == null || GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign) }; missionTickBoxes.Add(tickBox); + missionRadioButtonGroup.AddRadioButton(i, tickBox); } - + + if (GameMain.Client == null || GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign)) + { + missionRadioButtonGroup.OnSelect = (rbg, missionInd) => + { + int ind = missionInd ?? -1; + if (ind < 0) { return; } + var mission = availableMissions[ind]; + if (Campaign.Map.CurrentLocation.SelectedMission == mission) { return; } + if (rbg.Selected == missionInd) { return; } + RefreshMissionTab(mission); + if ((Campaign is MultiPlayerCampaign multiPlayerCampaign) && !multiPlayerCampaign.SuppressStateSending && + GameMain.Client != null && GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign)) + { + GameMain.Client?.SendCampaignState(); + } + }; + } + + missionRadioButtonGroup.Selected = availableMissions.IndexOf(selectedMission); + RefreshMissionTab(selectedMission); StartButton = new GUIButton(new RectTransform(new Vector2(0.3f, 0.7f), missionContent.RectTransform, Anchor.CenterRight), @@ -697,9 +778,10 @@ namespace Barotrauma GameMain.GameSession.Map.CurrentLocation.SelectedMission = selectedMission; - foreach (GUITickBox missionTickBox in missionTickBoxes) + var selectedTickBoxIndex = (missionRadioButtonGroup.UserData as List).FindIndex(m => m == selectedMission); + if (selectedTickBoxIndex >= 0) { - missionTickBox.Selected = missionTickBox.UserData == selectedMission; + missionRadioButtonGroup.Selected = selectedTickBoxIndex; } selectedMissionInfo.ClearChildren(); @@ -734,7 +816,7 @@ namespace Barotrauma } } - private GUIComponent CreateItemFrame(PurchasedItem pi, PriceInfo priceInfo, GUIListBox listBox, int width) + private GUIComponent CreateItemFrame(PurchasedItem pi, PriceInfo priceInfo, GUIListBox listBox) { GUIFrame frame = new GUIFrame(new RectTransform(new Point(listBox.Content.Rect.Width, (int)(GUI.Scale * 50)), listBox.Content.RectTransform), style: "ListBoxElement") { @@ -865,7 +947,7 @@ namespace Barotrauma var itemFrame = myItemList.Content.GetChildByUserData(pi); if (itemFrame == null) { - itemFrame = CreateItemFrame(pi, pi.ItemPrefab.GetPrice(Campaign.Map.CurrentLocation), myItemList, myItemList.Rect.Width); + itemFrame = CreateItemFrame(pi, pi.ItemPrefab.GetPrice(Campaign.Map.CurrentLocation), myItemList); } itemFrame.GetChild(0).GetChild().IntValue = pi.Quantity; existingItemFrames.Add(itemFrame); @@ -894,6 +976,9 @@ namespace Barotrauma tabs[i].Visible = (int)selectedTab == i; } } + + missionPanel.Visible = tab == Tab.Map && selectedLocation != null; + foreach (GUIButton button in tabButtons) { button.Selected = (Tab)button.UserData == tab; @@ -932,7 +1017,6 @@ namespace Barotrauma float prevStoreItemScroll = storeItemList.BarScroll; float prevMyItemScroll = myItemList.BarScroll; - int width = storeItemList.Rect.Width; HashSet existingItemFrames = new HashSet(); foreach (MapEntityPrefab mapEntityPrefab in MapEntityPrefab.List) { @@ -943,7 +1027,7 @@ namespace Barotrauma var itemFrame = myItemList.Content.GetChildByUserData(priceInfo); if (itemFrame == null) { - itemFrame = CreateItemFrame(new PurchasedItem(itemPrefab, 0), priceInfo, storeItemList, width); + itemFrame = CreateItemFrame(new PurchasedItem(itemPrefab, 0), priceInfo, storeItemList); } existingItemFrames.Add(itemFrame); } @@ -1005,7 +1089,7 @@ namespace Barotrauma if (characterPreviewFrame == null || characterPreviewFrame.UserData != characterInfo) { - characterPreviewFrame = new GUIFrame(new RectTransform(new Vector2(0.5f, 0.5f), tabs[(int)selectedTab].RectTransform, Anchor.TopRight, Pivot.TopLeft)) + characterPreviewFrame = new GUIFrame(new RectTransform(new Vector2(0.75f, 0.5f), tabs[(int)selectedTab].RectTransform, Anchor.TopRight, Pivot.TopLeft)) { UserData = characterInfo }; diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditor/CharacterEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditor/CharacterEditorScreen.cs index a30c09a00..873606255 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditor/CharacterEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditor/CharacterEditorScreen.cs @@ -121,6 +121,7 @@ namespace Barotrauma.CharacterEditor ResetVariables(); Submarine.MainSub = new Submarine("Content/AnimEditor.sub"); Submarine.MainSub.Load(unloadPrevious: false, showWarningMessages: false); + Submarine.MainSub.PhysicsBody.Enabled = false; originalWall = new WallGroup(new List(Structure.WallList)); CloneWalls(); CalculateMovementLimits(); @@ -716,13 +717,13 @@ namespace Barotrauma.CharacterEditor limbEditWidgets.Values.ForEach(w => w.Update((float)deltaTime)); animationWidgets.Values.ForEach(w => w.Update((float)deltaTime)); // Handle limb selection - if (editLimbs && PlayerInput.LeftButtonDown() && GUI.MouseOn == null && Widget.selectedWidgets.None()) + if (PlayerInput.LeftButtonDown() && GUI.MouseOn == null && Widget.selectedWidgets.None()) { foreach (Limb limb in character.AnimController.Limbs) { if (limb == null || limb.ActiveSprite == null) { continue; } // Select limbs on ragdoll - if (!spriteSheetRect.Contains(PlayerInput.MousePosition) && MathUtils.RectangleContainsPoint(GetLimbPhysicRect(limb), PlayerInput.MousePosition)) + if (editLimbs && !spriteSheetRect.Contains(PlayerInput.MousePosition) && MathUtils.RectangleContainsPoint(GetLimbPhysicRect(limb), PlayerInput.MousePosition)) { HandleLimbSelection(limb); } @@ -795,7 +796,7 @@ namespace Barotrauma.CharacterEditor } // GUI - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); if (drawDamageModifiers) { foreach (Limb limb in character.AnimController.Limbs) @@ -926,14 +927,14 @@ namespace Barotrauma.CharacterEditor { UpdateOtherLimbs(lastLimb, l => TryUpdateSubParam(l.Params, "spriteorientation", angle)); } - }, circleRadius: 40, widgetSize: 15, rotationOffset: MathHelper.Pi, autoFreeze: false); + }, circleRadius: 40, widgetSize: 15, rotationOffset: MathHelper.Pi, autoFreeze: false, rounding: 10); } else { var topLeft = spriteSheetControls.RectTransform.TopLeft; GUI.DrawString(spriteBatch, new Vector2(topLeft.X + 350 * GUI.xScale, GameMain.GraphicsHeight - 95 * GUI.yScale), GetCharacterEditorTranslation("SpriteSheetOrientation") + ":", Color.White, Color.Gray * 0.5f, 10, GUI.Font); DrawRadialWidget(spriteBatch, new Vector2(topLeft.X + 560 * GUI.xScale, GameMain.GraphicsHeight - 75 * GUI.yScale), RagdollParams.SpritesheetOrientation, string.Empty, Color.White, - angle => TryUpdateRagdollParam("spritesheetorientation", angle), circleRadius: 40, widgetSize: 15, rotationOffset: MathHelper.Pi, autoFreeze: false); + angle => TryUpdateRagdollParam("spritesheetorientation", angle), circleRadius: 40, widgetSize: 15, rotationOffset: MathHelper.Pi, autoFreeze: false, rounding: 10); } } // Debug @@ -1763,7 +1764,7 @@ namespace Barotrauma.CharacterEditor { case AnimationType.Walk: case AnimationType.Run: - if (!ragdollParams.CanEnterSubmarine) { continue; } + if (!ragdollParams.CanWalk) { continue; } break; case AnimationType.SwimSlow: case AnimationType.SwimFast: @@ -1903,7 +1904,7 @@ namespace Barotrauma.CharacterEditor }; Vector2 buttonSize = new Vector2(1, 0.04f); - Vector2 toggleSize = new Vector2(0.03f, 0.03f); + Vector2 toggleSize = new Vector2(1.0f, 0.03f); CreateCharacterSelectionPanel(); CreateMinorModesPanel(toggleSize); @@ -3212,6 +3213,10 @@ namespace Barotrauma.CharacterEditor { CreateCloseButton(emitter.SerializableEntityEditor, () => CharacterParams.RemoveGibEmitter(emitter)); } + foreach (var emitter in CharacterParams.DamageEmitters) + { + CreateCloseButton(emitter.SerializableEntityEditor, () => CharacterParams.RemoveDamageEmitter(emitter)); + } foreach (var sound in CharacterParams.Sounds) { CreateCloseButton(sound.SerializableEntityEditor, () => CharacterParams.RemoveSound(sound)); @@ -3228,6 +3233,7 @@ namespace Barotrauma.CharacterEditor } CreateAddButtonAtLast(mainEditor, () => CharacterParams.AddBloodEmitter(), GetCharacterEditorTranslation("AddBloodEmitter")); CreateAddButtonAtLast(mainEditor, () => CharacterParams.AddGibEmitter(), GetCharacterEditorTranslation("AddGibEmitter")); + CreateAddButtonAtLast(mainEditor, () => CharacterParams.AddDamageEmitter(), GetCharacterEditorTranslation("AddDamageEmitter")); CreateAddButtonAtLast(mainEditor, () => CharacterParams.AddSound(), GetCharacterEditorTranslation("AddSound")); CreateAddButtonAtLast(mainEditor, () => CharacterParams.AddInventory(), GetCharacterEditorTranslation("AddInventory")); } @@ -3590,6 +3596,10 @@ namespace Barotrauma.CharacterEditor private void HandleLimbSelection(Limb limb) { + if (!editLimbs) + { + SetToggle(limbsToggle, true); + } if (!selectedLimbs.Contains(limb)) { if (!Widget.EnableMultiSelect) @@ -4103,7 +4113,7 @@ namespace Barotrauma.CharacterEditor // Fish swim only --> else if (tail != null && fishSwimParams != null) { - float amplitudeMultiplier = 0.5f; + float amplitudeMultiplier = 20; float lengthMultiplier = 20; int points = 1000; float GetAmplitude() => ConvertUnits.ToDisplayUnits(fishSwimParams.WaveAmplitude) * Cam.Zoom / amplitudeMultiplier; @@ -4120,7 +4130,7 @@ namespace Barotrauma.CharacterEditor w.MouseHeld += dTime => { float input = Vector2.Multiply(ConvertUnits.ToSimUnits(PlayerInput.MouseSpeed), GetScreenSpaceForward()).Combine() / Cam.Zoom * lengthMultiplier; - TryUpdateAnimParam("wavelength", MathHelper.Clamp(fishSwimParams.WaveLength - input, 0, 150)); + TryUpdateAnimParam("wavelength", MathHelper.Clamp(fishSwimParams.WaveLength - input, 0, 200)); }; // Additional w.PreDraw += (sp, dTime) => @@ -4138,7 +4148,7 @@ namespace Barotrauma.CharacterEditor w.MouseHeld += dTime => { float input = Vector2.Multiply(ConvertUnits.ToSimUnits(PlayerInput.MouseSpeed), GetScreenSpaceForward().Right()).Combine() * character.AnimController.Dir / Cam.Zoom * amplitudeMultiplier; - TryUpdateAnimParam("waveamplitude", MathHelper.Clamp(fishSwimParams.WaveAmplitude + input, -4, 4)); + TryUpdateAnimParam("waveamplitude", MathHelper.Clamp(fishSwimParams.WaveAmplitude + input, -100, 100)); }; // Additional w.PreDraw += (sp, dTime) => @@ -4407,7 +4417,7 @@ namespace Barotrauma.CharacterEditor DrawJointLimitWidgets(spriteBatch, limb, joint, tformedJointPos, autoFreeze: true, allowPairEditing: true, rotationOffset: limb.Rotation, holdPosition: true); } // Is the direction inversed incorrectly? - Vector2 to = tformedJointPos + VectorExtensions.ForwardFlipped(joint.LimbB.Rotation + MathHelper.ToRadians(-joint.LimbB.Params.GetSpriteOrientation()), 20); + Vector2 to = tformedJointPos + VectorExtensions.ForwardFlipped(joint.LimbB.Rotation - joint.LimbB.Params.GetSpriteOrientation(), 20); GUI.DrawLine(spriteBatch, tformedJointPos, to, Color.Magenta, width: 2); var dotSize = new Vector2(5, 5); var rect = new Rectangle((tformedJointPos - dotSize / 2).ToPoint(), dotSize.ToPoint()); @@ -5010,7 +5020,7 @@ namespace Barotrauma.CharacterEditor private void DrawJointLimitWidgets(SpriteBatch spriteBatch, Limb limb, LimbJoint joint, Vector2 drawPos, bool autoFreeze, bool allowPairEditing, bool holdPosition, float rotationOffset = 0) { - rotationOffset += limb.Params.GetSpriteOrientation(); + rotationOffset -= limb.Params.GetSpriteOrientation(); Color angleColor = joint.UpperLimit - joint.LowerLimit > 0 ? Color.LightGreen * 0.5f : Color.Red; DrawRadialWidget(spriteBatch, drawPos, MathHelper.ToDegrees(joint.UpperLimit), $"{joint.Params.Name}: {GetCharacterEditorTranslation("UpperLimit")}", Color.Cyan, angle => { @@ -5176,7 +5186,7 @@ namespace Barotrauma.CharacterEditor #region Widgets as methods private void DrawRadialWidget(SpriteBatch spriteBatch, Vector2 drawPos, float value, string toolTip, Color color, Action onClick, - float circleRadius = 30, int widgetSize = 10, float rotationOffset = 0, bool clockWise = true, bool displayAngle = true, bool? autoFreeze = null, bool wrapAnglePi = false, bool holdPosition = false) + float circleRadius = 30, int widgetSize = 10, float rotationOffset = 0, bool clockWise = true, bool displayAngle = true, bool? autoFreeze = null, bool wrapAnglePi = false, bool holdPosition = false, int rounding = 1) { var angle = value; if (!MathUtils.IsValid(angle)) @@ -5195,6 +5205,8 @@ namespace Barotrauma.CharacterEditor ? MathUtils.VectorToAngle(d) - MathHelper.PiOver2 + rotationOffset : -MathUtils.VectorToAngle(d) + MathHelper.PiOver2 - rotationOffset; angle = MathHelper.ToDegrees(wrapAnglePi ? MathUtils.WrapAnglePi(newAngle) : MathUtils.WrapAngleTwoPi(newAngle)); + angle = (float)Math.Round(angle / rounding) * rounding; + if (angle >= 360 || angle <= -360) { angle = 0; } if (displayAngle) { GUI.DrawString(spriteBatch, drawPos, angle.FormatZeroDecimal(), Color.Black, backgroundColor: color, font: GUI.SmallFont); diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditor/Wizard.cs b/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditor/Wizard.cs index 872733f3c..b14c551f4 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditor/Wizard.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CharacterEditor/Wizard.cs @@ -15,6 +15,7 @@ namespace Barotrauma.CharacterEditor private string name; private bool isHumanoid; private bool canEnterSubmarine = true; + private bool canWalk; private string texturePath; private string xmlPath; private ContentPackage contentPackage; @@ -37,6 +38,7 @@ namespace Barotrauma.CharacterEditor name = character.SpeciesName; isHumanoid = character.Humanoid; canEnterSubmarine = ragdoll.CanEnterSubmarine; + canWalk = ragdoll.CanWalk; texturePath = ragdoll.Texture; } @@ -165,7 +167,7 @@ namespace Barotrauma.CharacterEditor texturePathElement.Text = TexturePath; } } - for (int i = 0; i < 6; i++) + for (int i = 0; i < 7; i++) { var mainElement = new GUIFrame(new RectTransform(new Point(topGroup.RectTransform.Rect.Width, elementSize), topGroup.RectTransform), style: null, color: Color.Gray * 0.25f); fields.Add(mainElement); @@ -212,6 +214,19 @@ namespace Barotrauma.CharacterEditor } break; case 3: + var lbl = new GUITextBlock(leftElement, GetCharacterEditorTranslation("CanWalk")); + var txt = new GUITickBox(rightElement, string.Empty) + { + Selected = CanWalk, + Enabled = !IsCopy, + OnSelected = (tB) => CanWalk = tB.Selected + }; + if (!txt.Enabled) + { + lbl.TextColor *= 0.6f; + } + break; + case 4: new GUITextBlock(leftElement, GetCharacterEditorTranslation("ConfigFileOutput")); xmlPathElement = new GUITextBox(rightElement, string.Empty) { @@ -224,7 +239,7 @@ namespace Barotrauma.CharacterEditor return true; }; break; - case 4: + case 5: //new GUITextBlock(leftElement, GetCharacterEditorTranslation("TexturePath")); texturePathElement = new GUITextBox(rightElement, string.Empty) { @@ -257,7 +272,7 @@ namespace Barotrauma.CharacterEditor } }; break; - case 5: + case 6: mainElement.RectTransform.NonScaledSize = new Point( mainElement.RectTransform.NonScaledSize.X, mainElement.RectTransform.NonScaledSize.Y * 2); @@ -356,6 +371,7 @@ namespace Barotrauma.CharacterEditor { SourceRagdoll.Texture = TexturePath; SourceRagdoll.CanEnterSubmarine = CanEnterSubmarine; + SourceRagdoll.CanWalk = CanWalk; SourceRagdoll.Serialize(); Wizard.Instance.CreateCharacter(SourceRagdoll.MainElement, SourceCharacter.MainElement, SourceAnimations); } @@ -754,6 +770,7 @@ namespace Barotrauma.CharacterEditor new XAttribute("type", Name), new XAttribute("texture", TexturePath), new XAttribute("canentersubmarine", CanEnterSubmarine), + new XAttribute("canwalk", CanWalk), colliderElements, LimbXElements.Values, JointXElements); @@ -873,6 +890,11 @@ namespace Barotrauma.CharacterEditor get => Instance.canEnterSubmarine; set => Instance.canEnterSubmarine = value; } + public bool CanWalk + { + get => Instance.canWalk; + set => Instance.canWalk = value; + } public ContentPackage ContentPackage { get => Instance.contentPackage; diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CreditsPlayer.cs b/Barotrauma/BarotraumaClient/Source/Screens/CreditsPlayer.cs index 588220be6..7e0cdd03a 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CreditsPlayer.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CreditsPlayer.cs @@ -37,7 +37,7 @@ namespace Barotrauma { GUIComponent.FromXML(subElement, listBox.Content.RectTransform); } - foreach (GUIComponent child in listBox.Children) + foreach (GUIComponent child in listBox.Content.Children) { child.CanBeFocused = false; } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs index 58712b928..4bce025ca 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs @@ -94,7 +94,7 @@ namespace Barotrauma GameMain.PerformanceCounter.AddElapsedTicks("DrawMap", sw.ElapsedTicks); sw.Restart(); - spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, null, GUI.SamplerState, null, GameMain.ScissorTestEnable); if (Character.Controlled != null && cam != null) Character.Controlled.DrawHUD(spriteBatch, cam); diff --git a/Barotrauma/BarotraumaClient/Source/Screens/LevelEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/LevelEditorScreen.cs index bac9172fd..2285b5601 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/LevelEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/LevelEditorScreen.cs @@ -471,7 +471,7 @@ namespace Barotrauma GameMain.SpriteEditorScreen.Draw(deltaTime, graphics, spriteBatch); } - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); GUI.Draw(Cam, spriteBatch); spriteBatch.End(); } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/LobbyScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/LobbyScreen.cs index 3ea6a22fe..06c36a881 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/LobbyScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/LobbyScreen.cs @@ -55,7 +55,7 @@ namespace Barotrauma GUI.DrawBackgroundSprite(spriteBatch, GameMain.GameSession.Map.CurrentLocation.Type.GetPortrait(GameMain.GameSession.Map.CurrentLocation.PortraitId)); - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); GUI.Draw(Cam, spriteBatch); spriteBatch.End(); } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs index 9e03d9234..c41608a1c 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs @@ -1,4 +1,6 @@ -using Barotrauma.Extensions; +//#define TEST_REMOTE_CONTENT + +using Barotrauma.Extensions; using Barotrauma.Networking; using Barotrauma.Tutorials; using Lidgren.Network; @@ -19,27 +21,28 @@ namespace Barotrauma { public enum Tab { NewGame = 1, LoadGame = 2, HostServer = 3, Settings = 4, Tutorials = 5, JoinServer = 6, CharacterEditor = 7, SubmarineEditor = 8, QuickStartDev = 9, SteamWorkshop = 10, Credits = 11, Empty = 12 } - private GUIComponent buttonsParent; + private readonly GUIComponent buttonsParent; private readonly GUIFrame[] menuTabs; - private CampaignSetupUI campaignSetupUI; + private readonly CampaignSetupUI campaignSetupUI; private GUITextBox serverNameBox, /*portBox, queryPortBox,*/ passwordBox, maxPlayersBox; private GUITickBox isPublicBox/*, useUpnpBox*/; + private readonly GUIButton joinServerButton, hostServerButton, steamWorkshopButton; + private readonly GameMain game; - private GUIButton joinServerButton, hostServerButton, steamWorkshopButton; - - private GameMain game; + private GUIImage playstyleBanner; + private GUITextBlock playstyleDescription; private Tab selectedTab; private Sprite backgroundSprite; private Sprite backgroundVignette; - private GUIComponent titleText; + private readonly GUIComponent titleText; - private CreditsPlayer creditsPlayer; + private readonly CreditsPlayer creditsPlayer; #if OSX private bool firstLoadOnMac = true; @@ -70,15 +73,20 @@ namespace Barotrauma RelativeSpacing = 0.02f }; - FetchRemoteContent(Frame.RectTransform); - /*var doc = XMLExtensions.TryLoadXml("Content/UI/MenuTextTest.xml"); +#if TEST_REMOTE_CONTENT + + var doc = XMLExtensions.TryLoadXml("Content/UI/MenuTextTest.xml"); if (doc?.Root != null) { foreach (XElement subElement in doc?.Root.Elements()) { GUIComponent.FromXML(subElement, Frame.RectTransform); } - }*/ + } +#else + FetchRemoteContent(Frame.RectTransform); +#endif + // === CAMPAIGN var campaignHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 1.0f), parent: buttonsParent.RectTransform) { RelativeOffset = new Vector2(0.1f, 0.0f) }, isHorizontal: true); @@ -331,7 +339,7 @@ namespace Barotrauma StartNewGame = StartGame }; - var hostServerScale = new Vector2(0.7f, 0.6f); + var hostServerScale = new Vector2(0.7f, 1.2f); menuTabs[(int)Tab.HostServer] = new GUIFrame(new RectTransform( Vector2.Multiply(relativeSize, hostServerScale), GUI.Canvas, anchor, pivot, minSize.Multiply(hostServerScale), maxSize.Multiply(hostServerScale)) { RelativeOffset = relativeSpacing }); @@ -374,9 +382,9 @@ namespace Barotrauma }; } - #endregion +#endregion - #region Selection +#region Selection public override void Select() { base.Select(); @@ -393,7 +401,7 @@ namespace Barotrauma GameAnalyticsManager.SetCustomDimension01(""); - #if OSX +#if OSX // Hack for adjusting the viewport properly after splash screens on older Macs if (firstLoadOnMac) { @@ -410,7 +418,7 @@ namespace Barotrauma SelectTab(null, Tab.Empty); } - #endif +#endif } public override void Deselect() @@ -482,6 +490,7 @@ namespace Barotrauma GameMain.ServerListScreen.Select(); break; case Tab.HostServer: + SetServerPlayStyle(PlayStyle.Serious); if (!GameMain.Config.CampaignDisclaimerShown) { selectedTab = 0; @@ -661,13 +670,15 @@ namespace Barotrauma { GameMain.Config.SaveNewPlayerConfig(); - if (userData is Tab) SelectTab(button, (Tab)userData); + if (userData is Tab) { SelectTab(button, (Tab)userData); } - if (GameMain.GraphicsWidth != GameMain.Config.GraphicsWidth || GameMain.GraphicsHeight != GameMain.Config.GraphicsHeight) + if (GameMain.GraphicsWidth != GameMain.Config.GraphicsWidth || + GameMain.GraphicsHeight != GameMain.Config.GraphicsHeight || + ContentPackage.List.Any(cp => cp.NeedsRestart)) { new GUIMessageBox( TextManager.Get("RestartRequiredLabel"), - TextManager.Get("RestartRequiredText")); + TextManager.Get("RestartRequiredGeneric")); } return true; @@ -744,6 +755,7 @@ namespace Barotrauma string arguments = "-name \"" + name.Replace("\\", "\\\\").Replace("\"", "\\\"") + "\"" + " -public " + isPublicBox.Selected.ToString() + + " -playstyle " + ((PlayStyle)playstyleBanner.UserData).ToString() + " -password \"" + passwordBox.Text.Replace("\\", "\\\\").Replace("\"", "\\\"") + "\"" + " -maxplayers " + maxPlayersBox.Text; @@ -856,7 +868,7 @@ namespace Barotrauma { DrawBackground(graphics, spriteBatch); - spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, null, GUI.SamplerState, null, GameMain.ScissorTestEnable); GUI.Draw(Cam, spriteBatch); @@ -981,22 +993,79 @@ namespace Barotrauma Alignment textAlignment = Alignment.CenterLeft; Vector2 textFieldSize = new Vector2(0.5f, 1.0f); Vector2 tickBoxSize = new Vector2(0.4f, 0.07f); - var paddedFrame = new GUILayoutGroup(new RectTransform(new Vector2(0.85f, 0.75f), menuTabs[(int)Tab.HostServer].RectTransform, Anchor.TopCenter) { RelativeOffset = new Vector2(0.0f, 0.05f) }) + var paddedFrame = new GUILayoutGroup(new RectTransform(new Vector2(0.85f, 0.8f), menuTabs[(int)Tab.HostServer].RectTransform, Anchor.TopCenter) { RelativeOffset = new Vector2(0.0f, 0.05f) }) { RelativeSpacing = 0.02f, Stretch = true }; GUIComponent parent = paddedFrame; - + new GUITextBlock(new RectTransform(textLabelSize, parent.RectTransform), TextManager.Get("HostServerButton"), textAlignment: Alignment.Center, font: GUI.LargeFont) { ForceUpperCase = true }; + //play style ----------------------------------------------------- + + var playstyleContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.5f), parent.RectTransform), isHorizontal: true, childAnchor: Anchor.CenterLeft) + { + Stretch = true, + Color = Color.Black + //RelativeSpacing = 0.02f + }; + + new GUIButton(new RectTransform(new Vector2(0.05f, 1.0f), playstyleContainer.RectTransform), style: "UIToggleButton") + { + OnClicked = (btn, userdata) => + { + int playStyleIndex = (int)playstyleBanner.UserData - 1; + if (playStyleIndex < 0) { playStyleIndex = Enum.GetValues(typeof(PlayStyle)).Length - 1; } + SetServerPlayStyle((PlayStyle)playStyleIndex); + return true; + } + }.Children.ForEach(c => c.SpriteEffects = SpriteEffects.FlipHorizontally); + + playstyleBanner = new GUIImage(new RectTransform(new Vector2(0.8f, 1.0f), playstyleContainer.RectTransform), style: null, scaleToFit: true) + { + UserData = PlayStyle.Serious + }; + new GUITextBlock(new RectTransform(new Vector2(0.15f, 0.05f), playstyleBanner.RectTransform) { RelativeOffset = new Vector2(0.01f, 0.06f) }, + "playstyle name goes here", font: GUI.SmallFont, textAlignment: Alignment.Center, textColor: Color.White, style: "GUISlopedHeader"); + + new GUIButton(new RectTransform(new Vector2(0.05f, 1.0f), playstyleContainer.RectTransform), style: "UIToggleButton") + { + OnClicked = (btn, userdata) => + { + int playStyleIndex = (int)playstyleBanner.UserData + 1; + if (playStyleIndex >= Enum.GetValues(typeof(PlayStyle)).Length) { playStyleIndex = 0; } + SetServerPlayStyle((PlayStyle)playStyleIndex); + return true; + } + }; + + string longestPlayStyleStr = ""; + foreach (PlayStyle playStyle in Enum.GetValues(typeof(PlayStyle))) + { + string playStyleStr = TextManager.Get("servertagdescription." + playStyle); + if (playStyleStr.Length > longestPlayStyleStr.Length) { longestPlayStyleStr = playStyleStr; } + } + + playstyleDescription = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), playstyleBanner.RectTransform, Anchor.BottomCenter), + "playstyle description goes here", style: null, wrap: true) + { + Color = Color.Black * 0.8f, + TextColor = Color.White + }; + playstyleDescription.Padding = Vector4.One * 10.0f * GUI.Scale; + playstyleDescription.CalculateHeightFromText(padding: (int)(15 * GUI.Scale)); + playstyleDescription.RectTransform.MinSize = new Point(0, playstyleDescription.Rect.Height); + + //other settings ----------------------------------------------------- + var label = new GUITextBlock(new RectTransform(textLabelSize, parent.RectTransform), TextManager.Get("ServerName"), textAlignment: textAlignment); serverNameBox = new GUITextBox(new RectTransform(textFieldSize, label.RectTransform, Anchor.CenterRight), textAlignment: textAlignment) { MaxTextLength = NetConfig.ServerNameMaxLength, OverflowClip = true }; - + /* TODO: allow lidgren servers from client? label = new GUITextBlock(new RectTransform(textLabelSize, parent.RectTransform), TextManager.Get("ServerPort"), textAlignment: textAlignment); portBox = new GUITextBox(new RectTransform(textFieldSize, label.RectTransform, Anchor.CenterRight), textAlignment: textAlignment) @@ -1064,7 +1133,21 @@ namespace Barotrauma OnClicked = HostServerClicked }; } - #endregion + + private void SetServerPlayStyle(PlayStyle playStyle) + { + playstyleBanner.Sprite = GameMain.ServerListScreen.PlayStyleBanners[(int)playStyle]; + playstyleBanner.UserData = playStyle; + + var nameText = playstyleBanner.GetChild(); + nameText.Text = TextManager.AddPunctuation(':', TextManager.Get("serverplaystyle"), TextManager.Get("servertag." + playStyle)); + nameText.Color = GameMain.ServerListScreen.PlayStyleColors[(int)playStyle]; + nameText.RectTransform.NonScaledSize = (nameText.Font.MeasureString(nameText.Text) + new Vector2(25, 10) * GUI.Scale).ToPoint(); + + playstyleDescription.Text = TextManager.Get("servertagdescription." + playStyle); + playstyleDescription.CalculateHeightFromText(padding: (int)(15 * GUI.Scale)); + } +#endregion private void FetchRemoteContent(RectTransform parent) { diff --git a/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs index bc8f6711e..39f80d712 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs @@ -4,79 +4,95 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using System; using System.Collections.Generic; +using System.IO; using System.Linq; +using System.Xml.Linq; namespace Barotrauma { partial class NetLobbyScreen : Screen { - private GUIFrame infoFrame, chatFrame, playerListFrame; + private readonly List characterSprites = new List(); + private readonly List jobPreferenceSprites = new List(); + + private GUIFrame infoFrame, modeFrame; private GUIFrame myCharacterFrame; - private GUIListBox playerList; - private GUIListBox subList, modeList, chatBox; - public GUIListBox ChatBox + private GUIListBox subList, modeList; + + private GUIListBox chatBox, playerList; + private GUIListBox serverLogBox, serverLogFilterTicks; + + private GUITextBox chatInput; + private GUITextBox serverLogFilter; + public GUITextBox ChatInput { get { - return chatBox; + return chatInput; } } - private GUIScrollBar levelDifficultyScrollBar; + private readonly GUIImage micIcon; - private GUIButton[] traitorProbabilityButtons; - private GUITextBlock traitorProbabilityText; + private readonly GUIScrollBar levelDifficultyScrollBar; - private GUIButton[] botCountButtons; - private GUITextBlock botCountText; + private readonly GUIButton[] traitorProbabilityButtons; + private readonly GUITextBlock traitorProbabilityText; - private GUIButton[] botSpawnModeButtons; - private GUITextBlock botSpawnModeText; + private readonly GUIButton[] botCountButtons; + private readonly GUITextBlock botCountText; - private GUIButton[] missionTypeButtons; - private GUIComponent missionTypeContainer; + private readonly GUIButton[] botSpawnModeButtons; + private readonly GUITextBlock botSpawnModeText; - private GUIListBox jobList; + public readonly GUIFrame MissionTypeFrame; + public readonly GUIFrame CampaignSetupFrame; - private GUITextBox textBox, seedBox; - public GUITextBox TextBox - { - get - { - return textBox; - } - } + private readonly GUITickBox[] missionTypeTickBoxes; + private readonly GUIListBox missionTypeList; + + public GUITextBox SeedBox { - get - { - return seedBox; - } + get; private set; } - private GUIFrame defaultModeContainer, campaignContainer; - private GUIButton campaignViewButton, spectateButton; + private readonly GUIComponent gameModeContainer, campaignContainer; + private readonly GUIButton gameModeViewButton, campaignViewButton, spectateButton; + private readonly GUILayoutGroup roundControlsHolder; public GUIButton SettingsButton { get; private set; } - private GUITickBox playYourself; + private readonly GUITickBox spectateBox; - private GUIFrame playerInfoContainer; + private readonly GUIFrame playerInfoContainer; private GUIButton jobInfoFrame; private GUIButton playerFrame; - private GUITickBox autoRestartBox; + private readonly GUIComponent subPreviewContainer; + + private readonly GUITickBox autoRestartBox; + private readonly GUITextBlock autoRestartText; private GUIDropDown shuttleList; private GUITickBox shuttleTickBox; private CampaignUI campaignUI; - public GUIComponent CampaignSetupUI; private Sprite backgroundSprite; - private GUIButton faceSelectionLeft; - private GUIButton faceSelectionRight; + private GUIButton jobPreferencesButton; + private GUIButton appearanceButton; + + private GUIFrame characterInfoFrame; + private GUIFrame appearanceFrame; + + public GUIListBox HeadSelectionList; + public GUIFrame JobSelectionFrame; + + public GUIListBox JobList; + + private Rectangle[] voipSheetRects; private float autoRestartTimer; @@ -90,9 +106,15 @@ namespace Barotrauma } //elements that can only be used by the host - private List clientDisabledElements = new List(); + private readonly List clientDisabledElements = new List(); //elements that aren't shown client-side - private List clientHiddenElements = new List(); + private readonly List clientHiddenElements = new List(); + + public GUIComponent FileTransferFrame { get; private set; } + public GUITextBlock FileTransferTitle { get; private set; } + public GUIProgressBar FileTransferProgressBar { get; private set; } + public GUITextBlock FileTransferProgressText { get; private set; } + private bool AllowSubSelection { @@ -108,20 +130,22 @@ namespace Barotrauma get; private set; } - - + public GUITextBox ServerMessage { get; private set; } - - public GUIButton ShowLogButton + + public GUILayoutGroup LogButtons { get; private set; } + private GUIButton showChatButton; + private GUIButton showLogButton; + public GUIListBox SubList { get { return subList; } @@ -136,10 +160,28 @@ namespace Barotrauma { get { return modeList; } } + + private int selectedModeIndex; public int SelectedModeIndex + { + get { return selectedModeIndex; } + set + { + if (HighlightedModeIndex == selectedModeIndex) + { + modeList.Select(value); + } + selectedModeIndex = value; + } + } + + public int HighlightedModeIndex { get { return modeList.SelectedIndex; } - set { modeList.Select(value); } + set + { + modeList.Select(value, true); + } } public GUIListBox PlayerList @@ -165,10 +207,6 @@ namespace Barotrauma private set; } - public GUIFrame InfoFrame - { - get { return infoFrame; } - } public Submarine SelectedSub { @@ -192,27 +230,55 @@ namespace Barotrauma get { return modeList.SelectedData as GameModePreset; } } - public int MissionTypeIndex + public MissionType MissionType { - get { return (int)missionTypeContainer.UserData; } - set { missionTypeContainer.UserData = value; } + get + { + MissionType retVal = MissionType.None; + int index = 0; + foreach (MissionType type in Enum.GetValues(typeof(MissionType))) + { + if (type == MissionType.None || type == MissionType.All) { continue; } + + if (missionTypeTickBoxes[index].Selected) + { + retVal = (MissionType)((int)retVal | (int)type); + } + + index++; + } + + return retVal; + } + set + { + int index = 0; + foreach (MissionType type in Enum.GetValues(typeof(MissionType))) + { + if (type == MissionType.None || type == MissionType.All) { continue; } + + missionTypeTickBoxes[index].Selected = (((int)type & (int)value) != 0); + + index++; + } + } } - - public List JobPreferences + + public List> JobPreferences { get { //joblist if the server has already assigned the player a job //(e.g. the player has a pre-existing campaign character) - if (jobList?.Content == null) + if (JobList?.Content == null) { - return new List(); + return new List>(); } - List jobPreferences = new List(); - foreach (GUIComponent child in jobList.Content.Children) + List> jobPreferences = new List>(); + foreach (GUIComponent child in JobList.Content.Children) { - JobPrefab jobPrefab = child.UserData as JobPrefab; + var jobPrefab = child.UserData as Pair; if (jobPrefab == null) continue; jobPreferences.Add(jobPrefab); } @@ -234,24 +300,10 @@ namespace Barotrauma int intSeed = ToolBox.StringToInt(levelSeed); backgroundSprite = LocationType.Random(new MTRandom(intSeed))?.GetPortrait(intSeed); - seedBox.Text = levelSeed; - - //lastUpdateID++; + SeedBox.Text = levelSeed; } } - public string AutoRestartText() - { - /*TODO: fix? - if (GameMain.Server != null) - { - if (!GameMain.Server.AutoRestart || GameMain.Server.ConnectedClients.Count == 0) return ""; - return TextManager.Get("RestartingIn") + " " + ToolBox.SecondsToReadableTime(Math.Max(GameMain.Server.AutoRestartTimer, 0)); - }*/ - - if (autoRestartTimer == 0.0f) return ""; - return TextManager.Get("RestartingIn") + " " + ToolBox.SecondsToReadableTime(Math.Max(autoRestartTimer, 0)); - } public CampaignUI CampaignUI { @@ -260,83 +312,355 @@ namespace Barotrauma public NetLobbyScreen() { - defaultModeContainer = new GUIFrame(new RectTransform(new Vector2(0.95f, 0.95f), Frame.RectTransform, Anchor.Center) { MaxSize = new Point(int.MaxValue, GameMain.GraphicsHeight - 100) }, style: null); - campaignContainer = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.75f), Frame.RectTransform, Anchor.TopCenter), style: null) + float panelSpacing = 0.005f; + var innerFrame = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.95f), Frame.RectTransform, Anchor.Center) { MaxSize = new Point(int.MaxValue, GameMain.GraphicsHeight - 50) }, isHorizontal: false) + { + Stretch = true, + RelativeSpacing = panelSpacing + }; + + var panelContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), innerFrame.RectTransform, Anchor.Center), isHorizontal: true) + { + Stretch = true, + RelativeSpacing = panelSpacing + }; + + GUILayoutGroup panelHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.7f, 1.0f), panelContainer.RectTransform)) + { + Stretch = true, + RelativeSpacing = panelSpacing + }; + + GUILayoutGroup bottomBar = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), innerFrame.RectTransform)) + { + Stretch = true, + IsHorizontal = true, + RelativeSpacing = panelSpacing + }; + GUILayoutGroup bottomBarLeft = new GUILayoutGroup(new RectTransform(new Vector2(0.3f, 1.0f), bottomBar.RectTransform)) + { + Stretch = true, + IsHorizontal = true, + RelativeSpacing = panelSpacing + }; + GUILayoutGroup bottomBarMid = new GUILayoutGroup(new RectTransform(new Vector2(0.4f, 1.0f), bottomBar.RectTransform)) + { + Stretch = true, + IsHorizontal = true, + RelativeSpacing = panelSpacing + }; + GUILayoutGroup bottomBarRight = new GUILayoutGroup(new RectTransform(new Vector2(0.3f, 1.0f), bottomBar.RectTransform)) + { + Stretch = true, + IsHorizontal = true, + RelativeSpacing = panelSpacing + }; + + //server info panel ------------------------------------------------------------ + + infoFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.5f), panelHolder.RectTransform)); + var infoFrameContent = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.9f), infoFrame.RectTransform, Anchor.Center)) + { + Stretch = true, + RelativeSpacing = 0.025f + }; + + //gamemode tab buttons ------------------------------------------------------------ + + var gameModeTabButtonContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.03f), panelHolder.RectTransform), isHorizontal: true) + { + RelativeSpacing = 0.01f + }; + gameModeViewButton = new GUIButton(new RectTransform(new Vector2(0.25f, 1.4f), gameModeTabButtonContainer.RectTransform), + TextManager.Get("GameMode"), style: "GUITabButton") + { + Selected = true, + OnClicked = (bt, userData) => { ToggleCampaignView(false); return true; } + }; + campaignViewButton = new GUIButton(new RectTransform(new Vector2(0.25f, 1.4f), gameModeTabButtonContainer.RectTransform), + TextManager.Get("CampaignLabel"), style: "GUITabButton") + { + Visible = false, + OnClicked = (bt, userData) => { ToggleCampaignView(true); return true; } + }; + + //server game panel ------------------------------------------------------------ + + modeFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.5f), panelHolder.RectTransform)) + { + CanBeFocused = false + }; + + gameModeContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.9f), modeFrame.RectTransform, Anchor.Center)) + { + RelativeSpacing = panelSpacing * 2.0f, + Stretch = true + }; + + campaignContainer = new GUIFrame(new RectTransform(new Vector2(0.95f, 0.9f), modeFrame.RectTransform, Anchor.Center), style: null) { Visible = false }; - float panelSpacing = 0.02f; + new GUIButton(new RectTransform(new Vector2(0.5f, 1.0f), bottomBarLeft.RectTransform), TextManager.Get("disconnect"), style: "GUIButtonLarge") + { + OnClicked = (bt, userdata) => { GameMain.QuitToMainMenu(save: false, showVerificationPrompt: true); return true; } + }; - //server info panel ------------------------------------------------------------ + // file transfers ------------------------------------------------------------ + FileTransferFrame = new GUIFrame(new RectTransform(Vector2.One, bottomBarLeft.RectTransform), style: "TextFrame"); + var fileTransferContent = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.9f), FileTransferFrame.RectTransform, Anchor.Center)) + { + Stretch = true, + RelativeSpacing = 0.05f + }; + FileTransferTitle = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.5f), fileTransferContent.RectTransform), "", font: GUI.SmallFont); + var fileTransferBottom = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.5f), fileTransferContent.RectTransform), isHorizontal: true) + { + Stretch = true + }; + FileTransferProgressBar = new GUIProgressBar(new RectTransform(new Vector2(0.6f, 1.0f), fileTransferBottom.RectTransform), 0.0f, Color.DarkGreen); + FileTransferProgressText = new GUITextBlock(new RectTransform(Vector2.One, FileTransferProgressBar.RectTransform), "", + font: GUI.SmallFont, textAlignment: Alignment.CenterLeft); + new GUIButton(new RectTransform(new Vector2(0.4f, 1.0f), fileTransferBottom.RectTransform), TextManager.Get("cancel")) + { + OnClicked = (btn, userdata) => + { + if (!(userdata is FileReceiver.FileTransferIn transfer)) { return false; } + GameMain.Client?.CancelFileTransfer(transfer); + GameMain.Client.FileReceiver.StopTransfer(transfer); + return true; + } + }; - infoFrame = new GUIFrame(new RectTransform(new Vector2(0.7f, 0.65f), defaultModeContainer.RectTransform)); - var infoFrameContent = new GUIFrame(new RectTransform(new Vector2(0.95f, 0.9f), infoFrame.RectTransform, Anchor.Center), style: null); + // Sidebar area (Character customization/Chat) + + GUILayoutGroup sideBar = new GUILayoutGroup(new RectTransform(new Vector2(0.3f, 1.0f), panelContainer.RectTransform, maxSize: new Point(650, panelContainer.RectTransform.Rect.Height))) + { + Stretch = true + }; + + //player info panel ------------------------------------------------------------ + + myCharacterFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.5f), sideBar.RectTransform)); + playerInfoContainer = new GUIFrame(new RectTransform(new Vector2(0.9f, 0.9f), myCharacterFrame.RectTransform, Anchor.Center), style: null); + + spectateBox = new GUITickBox(new RectTransform(new Vector2(0.06f, 0.06f), myCharacterFrame.RectTransform) { RelativeOffset = new Vector2(0.05f,0.05f) }, + TextManager.Get("spectatebutton")) + { + Selected = false, + OnSelected = ToggleSpectate, + UserData = "spectate" + }; + + // Social area + + GUIFrame logBackground = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.5f), sideBar.RectTransform)); + GUILayoutGroup logHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.9f), logBackground.RectTransform, Anchor.Center)) + { + Stretch = true + }; + + GUILayoutGroup socialHolder = null; GUILayoutGroup serverLogHolder = null; + + LogButtons = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), logHolder.RectTransform), true) + { + Stretch = true, + RelativeSpacing = 0.02f + }; + + clientHiddenElements.Add(LogButtons); + + // Show chat button + showChatButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.25f), LogButtons.RectTransform), + TextManager.Get("Chat"), style: "GUITabButton") + { + Selected = true, + OnClicked = (GUIButton button, object userData) => + { + if (socialHolder != null) { socialHolder.Visible = true; } + if (serverLogHolder != null) { serverLogHolder.Visible = false; } + showChatButton.Selected = true; + showLogButton.Selected = false; + return true; + } + }; + + // Server log button + showLogButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.25f), LogButtons.RectTransform), + TextManager.Get("ServerLog"), style: "GUITabButton") + { + OnClicked = (GUIButton button, object userData) => + { + if (socialHolder != null) { socialHolder.Visible = false; } + if (!(serverLogHolder?.Visible ?? true)) + { + serverLogHolder.Visible = true; + GameMain.Client.ServerSettings.ServerLog.AssignLogFrame(serverLogBox, serverLogFilterTicks.Content, serverLogFilter); + } + showChatButton.Selected = false; + showLogButton.Selected = true; + return true; + } + }; + + GUITextBlock.AutoScaleAndNormalize(showChatButton.TextBlock, showLogButton.TextBlock); + + GUIFrame logHolderBottom = new GUIFrame(new RectTransform(Vector2.One, logHolder.RectTransform), style: null) + { + CanBeFocused = false + }; + + socialHolder = new GUILayoutGroup(new RectTransform(Vector2.One, logHolderBottom.RectTransform, Anchor.Center)) + { + Stretch = true + }; + + // Spacing + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), socialHolder.RectTransform), style: null) + { + CanBeFocused = false + }; + + GUILayoutGroup socialHolderHorizontal = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.9f), socialHolder.RectTransform), isHorizontal: true) + { + Stretch = true + }; //chatbox ---------------------------------------------------------------------- - chatFrame = new GUIFrame(new RectTransform(new Vector2(0.7f, 0.35f - panelSpacing), defaultModeContainer.RectTransform, Anchor.BottomLeft)); - GUIFrame paddedChatFrame = new GUIFrame(new RectTransform(new Vector2(0.95f, 0.85f), chatFrame.RectTransform, Anchor.Center), style: null); - chatBox = new GUIListBox(new RectTransform(new Point(paddedChatFrame.Rect.Width, paddedChatFrame.Rect.Height - 30), paddedChatFrame.RectTransform) { IsFixedSize = false }); - textBox = new GUITextBox(new RectTransform(new Point(paddedChatFrame.Rect.Width, 20), paddedChatFrame.RectTransform, Anchor.BottomLeft) { IsFixedSize = false }) + chatBox = new GUIListBox(new RectTransform(new Vector2(0.6f, 1.0f), socialHolderHorizontal.RectTransform)); + + //player list ------------------------------------------------------------------ + + playerList = new GUIListBox(new RectTransform(new Vector2(0.4f, 1.0f), socialHolderHorizontal.RectTransform)) + { + OnSelected = (component, userdata) => { SelectPlayer(userdata as Client); return true; } + }; + + // Spacing + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), socialHolder.RectTransform), style: null) + { + CanBeFocused = false + }; + + // Chat input + + var chatRow = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.07f), socialHolder.RectTransform), true) + { + Stretch = true + }; + + chatInput = new GUITextBox(new RectTransform(new Vector2(0.95f, 1.0f), chatRow.RectTransform)) + { + MaxTextLength = ChatMessage.MaxLength, + Font = GUI.SmallFont, + DeselectAfterMessage = false + }; + + micIcon = new GUIImage(new RectTransform(new Vector2(0.05f, 1.0f), chatRow.RectTransform), style: "GUIMicrophoneUnavailable"); + + serverLogHolder = new GUILayoutGroup(new RectTransform(Vector2.One, logHolderBottom.RectTransform, Anchor.Center)) + { + Stretch = true, + Visible = false + }; + + // Spacing + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), serverLogHolder.RectTransform), style: null) + { + CanBeFocused = false + }; + + GUILayoutGroup serverLogHolderHorizontal = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.9f), serverLogHolder.RectTransform), isHorizontal: true) + { + Stretch = true + }; + + //server log ---------------------------------------------------------------------- + + serverLogBox = new GUIListBox(new RectTransform(new Vector2(0.7f, 1.0f), serverLogHolderHorizontal.RectTransform)); + + //filter tickbox list ------------------------------------------------------------------ + + serverLogFilterTicks = new GUIListBox(new RectTransform(new Vector2(0.3f, 1.0f), serverLogHolderHorizontal.RectTransform) { MinSize = new Point(150, 0) }) + { + OnSelected = (component, userdata) => { return false; } + }; + + // Spacing + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), serverLogHolder.RectTransform), style: null) + { + CanBeFocused = false + }; + + // Filter text input + + serverLogFilter = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.07f), serverLogHolder.RectTransform)) { MaxTextLength = ChatMessage.MaxLength, Font = GUI.SmallFont }; - textBox.OnEnterPressed = (tb, userdata) => { GameMain.Client?.EnterChatMessage(tb, userdata); return true; }; - textBox.OnTextChanged += (tb, userdata) => { GameMain.Client?.TypingChatMessage(tb, userdata); return true; }; - - //player info panel ------------------------------------------------------------ - - myCharacterFrame = new GUIFrame(new RectTransform(new Vector2(0.3f - panelSpacing, 0.65f), defaultModeContainer.RectTransform, Anchor.TopRight)); - playerInfoContainer = new GUIFrame(new RectTransform(new Vector2(0.9f, 0.9f), myCharacterFrame.RectTransform, Anchor.Center), style: null); - - playYourself = new GUITickBox(new RectTransform(new Vector2(0.06f, 0.06f), myCharacterFrame.RectTransform) { RelativeOffset = new Vector2(0.05f,0.05f) }, - TextManager.Get("PlayYourself")) + roundControlsHolder = new GUILayoutGroup(new RectTransform(Vector2.One, bottomBarRight.RectTransform), + isHorizontal: true) { - Selected = true, - OnSelected = TogglePlayYourself, - UserData = "playyourself" + Stretch = true }; - - //player list ------------------------------------------------------------------ - playerListFrame = new GUIFrame(new RectTransform(new Vector2(0.3f - panelSpacing, 0.35f - panelSpacing), defaultModeContainer.RectTransform, Anchor.BottomRight)); - GUIFrame paddedPlayerListFrame = new GUIFrame(new RectTransform(new Vector2(0.9f, 0.85f), playerListFrame.RectTransform, Anchor.Center), style: null); - - playerList = new GUIListBox(new RectTransform(Vector2.One, paddedPlayerListFrame.RectTransform)) + GUIFrame readyToStartContainer = new GUIFrame(new RectTransform(Vector2.One, roundControlsHolder.RectTransform), style: "TextFrame") { - OnSelected = (component, userdata) => { SelectPlayer(userdata as Client); return true; } + Visible = false }; + // Ready to start tickbox + ReadyToStartBox = new GUITickBox(new RectTransform(new Vector2(0.95f, 0.75f), readyToStartContainer.RectTransform, anchor: Anchor.Center), + TextManager.Get("ReadyToStartTickBox")); + + // Spectate button + spectateButton = new GUIButton(new RectTransform(Vector2.One, roundControlsHolder.RectTransform), + TextManager.Get("SpectateButton"), style: "GUIButtonLarge"); + + // Start button + StartButton = new GUIButton(new RectTransform(Vector2.One, roundControlsHolder.RectTransform), + TextManager.Get("StartGameButton"), style: "GUIButtonLarge") + { + OnClicked = (btn, obj) => + { + GameMain.Client.RequestStartRound(); + CoroutineManager.StartCoroutine(WaitForStartRound(StartButton, allowCancel: true), "WaitForStartRound"); + return true; + } + }; + clientHiddenElements.Add(StartButton); + + //autorestart ------------------------------------------------------------------ + + autoRestartText = new GUITextBlock(new RectTransform(Vector2.One, bottomBarMid.RectTransform), "", font: GUI.SmallFont, style: "TextFrame", textAlignment: Alignment.Center); + GUIFrame autoRestartBoxContainer = new GUIFrame(new RectTransform(Vector2.One, bottomBarMid.RectTransform), style: "TextFrame"); + autoRestartBox = new GUITickBox(new RectTransform(new Vector2(0.95f, 0.75f), autoRestartBoxContainer.RectTransform, Anchor.Center), TextManager.Get("AutoRestart")) + { + OnSelected = (tickBox) => + { + GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, autoRestart: tickBox.Selected); + return true; + } + }; + clientDisabledElements.Add(autoRestartBoxContainer); + //-------------------------------------------------------------------------------------------------------------------------------- //infoframe contents //-------------------------------------------------------------------------------------------------------------------------------- - var infoColumnContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.7f - 0.02f, 0.75f), infoFrameContent.RectTransform, Anchor.BottomLeft), - isHorizontal: true, childAnchor: Anchor.BottomLeft) - { RelativeSpacing = 0.02f, Stretch = true }; - var leftInfoColumn = new GUILayoutGroup(new RectTransform(new Vector2(0.35f, 1.0f), infoColumnContainer.RectTransform, Anchor.BottomLeft)) - { RelativeSpacing = 0.02f, Stretch = true }; - var midInfoColumn = new GUILayoutGroup(new RectTransform(new Vector2(0.35f, 1.0f), infoColumnContainer.RectTransform, Anchor.BottomLeft)) - { RelativeSpacing = 0.02f, Stretch = true }; + //server info ------------------------------------------------------------------ - var rightInfoColumn = new GUILayoutGroup(new RectTransform(new Vector2(0.3f, 0.9f), infoFrameContent.RectTransform, Anchor.TopRight)) - { RelativeSpacing = 0.02f, Stretch = true }; - - var topButtonContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.07f), rightInfoColumn.RectTransform), isHorizontal: true, childAnchor: Anchor.TopRight) + // Server Info Header + GUILayoutGroup lobbyHeader = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), infoFrameContent.RectTransform), isHorizontal: true) { - RelativeSpacing = 0.05f, Stretch = true }; - //spacing - new GUIFrame(new RectTransform(new Vector2(1.0f, 0.03f), rightInfoColumn.RectTransform), style: null); - - //server info ------------------------------------------------------------------ - - ServerName = new GUITextBox(new RectTransform(new Vector2(infoColumnContainer.RectTransform.RelativeSize.X, 0.05f), infoFrameContent.RectTransform)) + ServerName = new GUITextBox(new RectTransform(Vector2.One, lobbyHeader.RectTransform)) { MaxTextLength = NetConfig.ServerNameMaxLength, OverflowClip = true @@ -347,7 +671,33 @@ namespace Barotrauma }; clientDisabledElements.Add(ServerName); - var serverMessageContainer = new GUIListBox(new RectTransform(new Vector2(infoColumnContainer.RectTransform.RelativeSize.X, 0.15f), infoFrameContent.RectTransform) { RelativeOffset = new Vector2(0.0f, 0.07f) }); + SettingsButton = new GUIButton(new RectTransform(new Vector2(0.25f, 1.0f), lobbyHeader.RectTransform, Anchor.TopRight), + TextManager.Get("ServerSettingsButton"), style: "GUIButtonLarge"); + clientHiddenElements.Add(SettingsButton); + + GUILayoutGroup lobbyContent = new GUILayoutGroup(new RectTransform(Vector2.One, infoFrameContent.RectTransform), isHorizontal: true) + { + Stretch = true, + RelativeSpacing = 0.025f + }; + + GUILayoutGroup serverInfoHolder = new GUILayoutGroup(new RectTransform(Vector2.One, lobbyContent.RectTransform)) + { + Stretch = true, + RelativeSpacing = 0.025f + }; + + var serverBanner = new GUICustomComponent(new RectTransform(new Vector2(1.0f, 0.25f), serverInfoHolder.RectTransform), DrawServerBanner) + { + HideElementsOutsideFrame = true + }; + new GUITextBlock(new RectTransform(new Vector2(0.15f, 0.05f), serverBanner.RectTransform) { RelativeOffset = new Vector2(0.01f, 0.04f) }, + "", font: GUI.SmallFont, textAlignment: Alignment.Center, textColor: Color.White, style: "GUISlopedHeader") + { + CanBeFocused = false + }; + + var serverMessageContainer = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.75f), serverInfoHolder.RectTransform)); ServerMessage = new GUITextBox(new RectTransform(Vector2.One, serverMessageContainer.Content.RectTransform)) { Wrap = true @@ -365,34 +715,17 @@ namespace Barotrauma GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Message); }; clientDisabledElements.Add(ServerMessage); - - SettingsButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.0f), topButtonContainer.RectTransform, Anchor.TopRight), - TextManager.Get("ServerSettingsButton")); - clientHiddenElements.Add(SettingsButton); - - ShowLogButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.0f), topButtonContainer.RectTransform, Anchor.TopRight), - TextManager.Get("ServerLog")) - { - OnClicked = (GUIButton button, object userData) => - { - if (GameMain.NetworkMember.ServerSettings.ServerLog.LogFrame == null) - { - GameMain.NetworkMember.ServerSettings.ServerLog.CreateLogFrame(); - } - else - { - GameMain.NetworkMember.ServerSettings.ServerLog.LogFrame = null; - GUI.KeyboardDispatcher.Subscriber = null; - } - return true; - } - }; - clientHiddenElements.Add(ShowLogButton); //submarine list ------------------------------------------------------------------ - - var subLabel = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), leftInfoColumn.RectTransform), TextManager.Get("Submarine")); - subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.9f), leftInfoColumn.RectTransform)) + + GUILayoutGroup subHolder = new GUILayoutGroup(new RectTransform(Vector2.One, lobbyContent.RectTransform)) + { + RelativeSpacing = panelSpacing, + Stretch = true + }; + + var subLabel = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.055f), subHolder.RectTransform) { MinSize = new Point(0, 25) }, TextManager.Get("Submarine")); + subList = new GUIListBox(new RectTransform(Vector2.One, subHolder.RectTransform)) { OnSelected = VotableClicked }; @@ -404,19 +737,40 @@ namespace Barotrauma Visible = false }; - //respawn shuttle ------------------------------------------------------------------ + //respawn shuttle / submarine preview ------------------------------------------------------------------ - shuttleTickBox = new GUITickBox(new RectTransform(new Vector2(1.0f, 0.05f), midInfoColumn.RectTransform), TextManager.Get("RespawnShuttle")) + GUILayoutGroup rightColumn = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), lobbyContent.RectTransform)) { - Selected = true, + RelativeSpacing = panelSpacing, + Stretch = true + }; + + GUILayoutGroup shuttleHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), rightColumn.RectTransform) { MinSize = new Point(0, 25) }, isHorizontal: true) + { + Stretch = true + }; + + shuttleTickBox = new GUITickBox(new RectTransform(Vector2.One, shuttleHolder.RectTransform), TextManager.Get("RespawnShuttle")) + { + Selected = true, OnSelected = (GUITickBox box) => { - shuttleList.Enabled = box.Selected; GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, useRespawnShuttle: box.Selected); return true; } }; - shuttleList = new GUIDropDown(new RectTransform(new Vector2(1.0f, 0.05f), midInfoColumn.RectTransform), elementCount: 10) + shuttleTickBox.TextBlock.RectTransform.SizeChanged += () => + { + shuttleTickBox.TextBlock.AutoScale = true; + shuttleTickBox.TextBlock.TextScale = 1.0f; + if (shuttleTickBox.TextBlock.TextScale < 0.75f) + { + shuttleTickBox.TextBlock.Wrap = true; + shuttleTickBox.TextBlock.AutoScale = true; + shuttleTickBox.TextBlock.TextScale = 1.0f; + } + }; + shuttleList = new GUIDropDown(new RectTransform(Vector2.One, shuttleHolder.RectTransform), elementCount: 10) { OnSelected = (component, obj) => { @@ -424,106 +778,205 @@ namespace Barotrauma return true; } }; + shuttleList.ListBox.RectTransform.MinSize = new Point(250, 0); - //gamemode ------------------------------------------------------------------ - - var modeLabel = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), midInfoColumn.RectTransform), TextManager.Get("GameMode")); - modeList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.4f), midInfoColumn.RectTransform)) + subPreviewContainer = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.9f), rightColumn.RectTransform), style: null); + subPreviewContainer.RectTransform.SizeChanged += () => { - OnSelected = VotableClicked + if (SelectedSub != null) + { + subPreviewContainer.ClearChildren(); + SelectedSub.CreatePreviewWindow(subPreviewContainer); + } + }; + + //------------------------------------------------------------------------------------------------------------------ + // Gamemode panel + //------------------------------------------------------------------------------------------------------------------ + + GUILayoutGroup miscSettingsHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.075f), gameModeContainer.RectTransform), isHorizontal: true) + { + Stretch = true, + RelativeSpacing = 0.01f }; + miscSettingsHolder.RectTransform.SizeChanged += () => + { + miscSettingsHolder.Recalculate(); + foreach (GUIComponent child in miscSettingsHolder.Children) + { + if (child is GUITextBlock textBlock) + { + textBlock.TextScale = 1; + textBlock.AutoScale = true; + textBlock.SetTextPos(); + } + else if (child is GUITickBox tickBox) + { + tickBox.TextBlock.TextScale = 1; + tickBox.TextBlock.AutoScale = true; + tickBox.TextBlock.SetTextPos(); + } + } + }; + + //seed ------------------------------------------------------------------ + + var seedLabel = new GUITextBlock(new RectTransform(Vector2.One, miscSettingsHolder.RectTransform), TextManager.Get("LevelSeed")); + seedLabel.RectTransform.MaxSize = new Point((int)(seedLabel.TextSize.X + 30 * GUI.Scale), int.MaxValue); + SeedBox = new GUITextBox(new RectTransform(new Vector2(0.25f, 1.0f), miscSettingsHolder.RectTransform)); + SeedBox.OnDeselected += (textBox, key) => + { + GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.LevelSeed); + }; + clientDisabledElements.Add(SeedBox); + LevelSeed = ToolBox.RandomSeed(8); + + //level difficulty ------------------------------------------------------------------ + + var difficultyLabel = new GUITextBlock(new RectTransform(Vector2.One, miscSettingsHolder.RectTransform), TextManager.Get("LevelDifficulty")) + { + ToolTip = TextManager.Get("leveldifficultyexplanation") + }; + levelDifficultyScrollBar = new GUIScrollBar(new RectTransform(new Vector2(0.25f, 1.0f), miscSettingsHolder.RectTransform), barSize: 0.2f) + { + Step = 0.05f, + Range = new Vector2(0.0f, 100.0f), + ToolTip = TextManager.Get("leveldifficultyexplanation"), + OnReleased = (scrollbar, value) => + { + GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, levelDifficulty: scrollbar.BarScrollValue); + return true; + } + }; + difficultyLabel.RectTransform.MaxSize = new Point((int)(difficultyLabel.TextSize.X + 30 * GUI.Scale), int.MaxValue); + var difficultyName = new GUITextBlock(new RectTransform(new Vector2(0.25f, 1.0f), miscSettingsHolder.RectTransform), "") + { + ToolTip = TextManager.Get("leveldifficultyexplanation") + }; + levelDifficultyScrollBar.OnMoved = (scrollbar, value) => + { + if (EventManagerSettings.List.Count == 0) { return true; } + difficultyName.Text = EventManagerSettings.List[Math.Min((int)Math.Floor(value * EventManagerSettings.List.Count), EventManagerSettings.List.Count - 1)].Name; + difficultyName.TextColor = Color.Lerp(ToolBox.GradientLerp(scrollbar.BarScroll, Color.LightGreen, Color.Orange, Color.Red), difficultyLabel.TextColor, 0.5f); + return true; + }; + + clientDisabledElements.Add(levelDifficultyScrollBar); + + //gamemode ------------------------------------------------------------------ + + GUILayoutGroup gameModeBackground = new GUILayoutGroup(new RectTransform(Vector2.One, gameModeContainer.RectTransform), isHorizontal: true) + { + Stretch = true, + RelativeSpacing = 0.01f + }; + + GUILayoutGroup gameModeHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.333f, 1.0f), gameModeBackground.RectTransform)) + { + Stretch = true + }; + + var modeLabel = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.055f), gameModeHolder.RectTransform) { MinSize = new Point(0, 25) }, TextManager.Get("GameMode")); voteText = new GUITextBlock(new RectTransform(new Vector2(0.5f, 1.0f), modeLabel.RectTransform, Anchor.TopRight), TextManager.Get("Votes"), textAlignment: Alignment.CenterRight) { UserData = "modevotes", Visible = false }; + modeList = new GUIListBox(new RectTransform(Vector2.One, gameModeHolder.RectTransform)) + { + OnSelected = VotableClicked + }; foreach (GameModePreset mode in GameModePreset.List) { - if (mode.IsSinglePlayer) continue; + if (mode.IsSinglePlayer) { continue; } - GUITextBlock textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.2f), modeList.Content.RectTransform), + GUITextBlock textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), modeList.Content.RectTransform) { MinSize = new Point(0, (int)(30 * GUI.Scale)) }, mode.Name, style: "ListBoxElement", textAlignment: Alignment.CenterLeft) { - UserData = mode + UserData = mode, }; textBlock.ToolTip = mode.Description; } - //mission type ------------------------------------------------------------------ - - missionTypeContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), midInfoColumn.RectTransform), isHorizontal: true) + var gameModeSpecificFrame = new GUIFrame(new RectTransform(new Vector2(0.333f, 1.0f), gameModeBackground.RectTransform), style: null); + CampaignSetupFrame = new GUIFrame(new RectTransform(Vector2.One, gameModeSpecificFrame.RectTransform), style: null) + { + Visible = false + }; + + //mission type ------------------------------------------------------------------ + MissionTypeFrame = new GUIFrame(new RectTransform(Vector2.One, gameModeSpecificFrame.RectTransform), style: null); + + GUILayoutGroup missionHolder = new GUILayoutGroup(new RectTransform(Vector2.One, MissionTypeFrame.RectTransform)) { - UserData = 0, - Visible = false, Stretch = true }; - var missionTypeText = new GUITextBlock(new RectTransform(new Vector2(0.3f, 1.0f), missionTypeContainer.RectTransform), - TextManager.Get("MissionType")); - missionTypeButtons = new GUIButton[2]; - missionTypeButtons[0] = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), missionTypeContainer.RectTransform), "<") + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.055f), missionHolder.RectTransform) { MinSize = new Point(0, 25) }, TextManager.Get("MissionType")); + missionTypeList = new GUIListBox(new RectTransform(Vector2.One, missionHolder.RectTransform)) { - OnClicked = (button, obj) => + OnSelected = (component, obj) => { - GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, missionType: -1); - - return true; + return false; } }; - new GUITextBlock(new RectTransform(new Vector2(0.4f, 1.0f), missionTypeContainer.RectTransform), - TextManager.Get("MissionType.Random"), textAlignment: Alignment.Center); - missionTypeButtons[1] = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), missionTypeContainer.RectTransform), ">") + missionTypeTickBoxes = new GUITickBox[Enum.GetValues(typeof(MissionType)).Length - 2]; + int index = 0; + foreach (MissionType missionType in Enum.GetValues(typeof(MissionType))) { - OnClicked = (button, obj) => + if (missionType == MissionType.None || missionType == MissionType.All) { continue; } + + GUIFrame frame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.05f), missionTypeList.Content.RectTransform) { MinSize = new Point(0, (int)(30 * GUI.Scale)) }, style: "ListBoxElement") { - GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, missionType: 1); + UserData = index, + }; - return true; - } - }; - - clientDisabledElements.AddRange(missionTypeButtons); - - //seed ------------------------------------------------------------------ - - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), TextManager.Get("LevelSeed")); - seedBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform)); - seedBox.OnDeselected += (textBox, key) => - { - GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.LevelSeed); - }; - clientDisabledElements.Add(seedBox); - LevelSeed = ToolBox.RandomSeed(8); - - //level difficulty ------------------------------------------------------------------ - - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), TextManager.Get("LevelDifficulty")); - levelDifficultyScrollBar = new GUIScrollBar(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), barSize: 0.1f) - { - Range = new Vector2(0.0f, 100.0f), - OnReleased = (scrollbar, value) => + missionTypeTickBoxes[index] = new GUITickBox(new RectTransform(Vector2.One, frame.RectTransform), + TextManager.Get("MissionType." + missionType.ToString())) { - GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, levelDifficulty: scrollbar.BarScrollValue); + UserData = (int)missionType, + OnSelected = (tickbox) => + { + int missionTypeOr = tickbox.Selected ? (int)tickbox.UserData : (int)MissionType.None; + int missionTypeAnd = (int)MissionType.All & (!tickbox.Selected ? (~(int)tickbox.UserData) : (int)MissionType.All); + GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, (int)missionTypeOr, (int)missionTypeAnd); + return true; + } + }; - return true; - } - }; + index++; + } - clientDisabledElements.Add(levelDifficultyScrollBar); + clientDisabledElements.AddRange(missionTypeTickBoxes); //traitor probability ------------------------------------------------------------------ - - new GUIFrame(new RectTransform(new Vector2(1.0f, 0.03f), rightInfoColumn.RectTransform), style: null); //spacing - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), TextManager.Get("Traitors")); + GUILayoutGroup settingsHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.333f, 1.0f), gameModeBackground.RectTransform)) + { + Stretch = true + }; - var traitorProbContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), isHorizontal: true); + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.055f), settingsHolder.RectTransform) { MinSize = new Point(0, 25) }, style: null); + var settingsContent = new GUILayoutGroup(new RectTransform(Vector2.One, settingsHolder.RectTransform)) + { + RelativeSpacing = 0.025f + }; + new GUIFrame(new RectTransform(Vector2.One, settingsContent.RectTransform), style: "InnerFrame") + { + IgnoreLayoutGroups = true + }; + + var traitorsSettingHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), settingsContent.RectTransform), isHorizontal: true) { Stretch = true }; + + new GUITextBlock(new RectTransform(new Vector2(0.7f, 1.0f), traitorsSettingHolder.RectTransform), TextManager.Get("Traitors")); + + var traitorProbContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 1.0f), traitorsSettingHolder.RectTransform), isHorizontal: true) { Stretch = true }; traitorProbabilityButtons = new GUIButton[2]; - traitorProbabilityButtons[0] = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), traitorProbContainer.RectTransform), "<") + traitorProbabilityButtons[0] = new GUIButton(new RectTransform(new Vector2(0.15f, 1.0f), traitorProbContainer.RectTransform), "<") { OnClicked = (button, obj) => { @@ -533,8 +986,8 @@ namespace Barotrauma } }; - traitorProbabilityText = new GUITextBlock(new RectTransform(new Vector2(0.5f, 1.0f), traitorProbContainer.RectTransform), TextManager.Get("No"), textAlignment: Alignment.Center); - traitorProbabilityButtons[1] = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), traitorProbContainer.RectTransform), ">") + traitorProbabilityText = new GUITextBlock(new RectTransform(new Vector2(0.7f, 1.0f), traitorProbContainer.RectTransform), TextManager.Get("No"), textAlignment: Alignment.Center); + traitorProbabilityButtons[1] = new GUIButton(new RectTransform(new Vector2(0.15f, 1.0f), traitorProbContainer.RectTransform), ">") { OnClicked = (button, obj) => { @@ -547,107 +1000,73 @@ namespace Barotrauma clientDisabledElements.AddRange(traitorProbabilityButtons); //bot count ------------------------------------------------------------------ - - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), TextManager.Get("BotCount")); - var botCountContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), isHorizontal: true); + + var botCountSettingHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), settingsContent.RectTransform), isHorizontal: true) { Stretch = true }; + + new GUITextBlock(new RectTransform(new Vector2(0.7f, 1.0f), botCountSettingHolder.RectTransform), TextManager.Get("BotCount")); + var botCountContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 1.0f), botCountSettingHolder.RectTransform), isHorizontal: true) { Stretch = true }; botCountButtons = new GUIButton[2]; - botCountButtons[0] = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), botCountContainer.RectTransform), "<") + botCountButtons[0] = new GUIButton(new RectTransform(new Vector2(0.15f, 1.0f), botCountContainer.RectTransform), "<") { OnClicked = (button, obj) => { GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, botCount: -1); - return true; } }; - botCountText = new GUITextBlock(new RectTransform(new Vector2(0.5f, 1.0f), botCountContainer.RectTransform), "0", textAlignment: Alignment.Center); - botCountButtons[1] = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), botCountContainer.RectTransform), ">") + botCountText = new GUITextBlock(new RectTransform(new Vector2(0.7f, 1.0f), botCountContainer.RectTransform), "0", textAlignment: Alignment.Center); + botCountButtons[1] = new GUIButton(new RectTransform(new Vector2(0.15f, 1.0f), botCountContainer.RectTransform), ">") { OnClicked = (button, obj) => { GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, botCount: 1); - return true; } }; clientDisabledElements.AddRange(botCountButtons); - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), TextManager.Get("BotSpawnMode")); - var botSpawnModeContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), isHorizontal: true); + var botSpawnModeSettingHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), settingsContent.RectTransform), isHorizontal: true) { Stretch = true }; + + new GUITextBlock(new RectTransform(new Vector2(0.7f, 1.0f), botSpawnModeSettingHolder.RectTransform), TextManager.Get("BotSpawnMode")); + var botSpawnModeContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 1.0f), botSpawnModeSettingHolder.RectTransform), isHorizontal: true) { Stretch = true }; botSpawnModeButtons = new GUIButton[2]; - botSpawnModeButtons[0] = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), botSpawnModeContainer.RectTransform), "<") + botSpawnModeButtons[0] = new GUIButton(new RectTransform(new Vector2(0.15f, 1.0f), botSpawnModeContainer.RectTransform), "<") { OnClicked = (button, obj) => { GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, botSpawnMode: -1); - return true; } }; - botSpawnModeText = new GUITextBlock(new RectTransform(new Vector2(0.5f, 1.0f), botSpawnModeContainer.RectTransform), "", textAlignment: Alignment.Center); - botSpawnModeButtons[1] = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), botSpawnModeContainer.RectTransform), ">") + botSpawnModeText = new GUITextBlock(new RectTransform(new Vector2(0.7f, 1.0f), botSpawnModeContainer.RectTransform), "", textAlignment: Alignment.Center); + botSpawnModeButtons[1] = new GUIButton(new RectTransform(new Vector2(0.15f, 1.0f), botSpawnModeContainer.RectTransform), ">") { OnClicked = (button, obj) => { GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, botSpawnMode: 1); - return true; } }; + List settingsElements = settingsContent.Children.ToList(); + int spacingElementCount = 0; + for (int i = 1; i < settingsElements.Count; i++) + { + settingsElements[i].RectTransform.MinSize = new Point(0, (int)(20 * GUI.Scale)); + if (settingsElements[i] is GUITextBlock) + { + var spacing = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.03f), settingsContent.RectTransform), style: null); + spacing.RectTransform.RepositionChildInHierarchy(i + spacingElementCount); + spacingElementCount++; + } + } + clientDisabledElements.AddRange(botSpawnModeButtons); - - //misc buttons ------------------------------------------------------------------ - - new GUIFrame(new RectTransform(new Vector2(1.0f, 0.03f), rightInfoColumn.RectTransform), style: null); //spacing - - autoRestartBox = new GUITickBox(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), TextManager.Get("AutoRestart")) - { - OnSelected = (tickBox) => - { - GameMain.Client.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Misc, autoRestart: tickBox.Selected); - return true; - } - }; - - clientDisabledElements.Add(autoRestartBox); - var restartText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), rightInfoColumn.RectTransform), "", font: GUI.SmallFont) - { - TextGetter = AutoRestartText - }; - - ReadyToStartBox = new GUITickBox(new RectTransform(new Vector2(0.3f, 0.06f), rightInfoColumn.RectTransform), - TextManager.Get("ReadyToStartTickBox")) - { - Visible = false - }; - - campaignViewButton = new GUIButton(new RectTransform(new Vector2(1.0f, 0.1f), rightInfoColumn.RectTransform), - TextManager.Get("CampaignView"), style: "GUIButtonLarge") - { - OnClicked = (btn, obj) => { ToggleCampaignView(true); return true; }, - Visible = false - }; - - StartButton = new GUIButton(new RectTransform(new Vector2(0.3f, 0.1f), infoFrameContent.RectTransform, Anchor.BottomRight), - TextManager.Get("StartGameButton"), style: "GUIButtonLarge") - { - OnClicked = (btn, obj) => - { - GameMain.Client.RequestStartRound(); - CoroutineManager.StartCoroutine(WaitForStartRound(StartButton, allowCancel: true), "WaitForStartRound"); - return true; - } - }; - clientHiddenElements.Add(StartButton); - - spectateButton = new GUIButton(new RectTransform(new Vector2(0.3f, 0.1f), infoFrameContent.RectTransform, Anchor.BottomRight), - TextManager.Get("SpectateButton"), style: "GUIButtonLarge"); } - + public IEnumerable WaitForStartRound(GUIButton startButton, bool allowCancel) { string headerText = TextManager.Get("RoundStartingPleaseWait"); @@ -689,30 +1108,33 @@ namespace Barotrauma public override void Deselect() { - textBox.Deselect(); + chatInput.Deselect(); CampaignCharacterDiscarded = false; + HeadSelectionList = null; + JobSelectionFrame = null; + + foreach (Sprite sprite in characterSprites) { sprite.Remove(); } + characterSprites.Clear(); + + foreach (Sprite sprite in jobPreferenceSprites) { sprite.Remove(); } + jobPreferenceSprites.Clear(); } public override void Select() { - if (GameMain.NetworkMember == null) return; + if (GameMain.NetworkMember == null) { return; } + + if (HeadSelectionList != null) { HeadSelectionList.Visible = false; } + if (JobSelectionFrame != null) { JobSelectionFrame.Visible = false; } + Character.Controlled = null; GameMain.LightManager.LosEnabled = false; CampaignCharacterDiscarded = false; - textBox.Select(); - textBox.OnEnterPressed = GameMain.Client.EnterChatMessage; - textBox.OnTextChanged += GameMain.Client.TypingChatMessage; - - subList.Enabled = AllowSubSelection;// || GameMain.Server != null; - shuttleList.Enabled = AllowSubSelection;// || GameMain.Server != null; - - modeList.Enabled = - GameMain.NetworkMember.ServerSettings.Voting.AllowModeVoting || - (GameMain.Client != null && GameMain.Client.HasPermission(ClientPermissions.SelectMode)); - - //ServerName = (GameMain.Server == null) ? ServerName : GameMain.Server.Name; + chatInput.Select(); + chatInput.OnEnterPressed = GameMain.Client.EnterChatMessage; + chatInput.OnTextChanged += GameMain.Client.TypingChatMessage; //disable/hide elements the clients are not supposed to use/see clientDisabledElements.ForEach(c => c.Enabled = false); @@ -723,7 +1145,7 @@ namespace Barotrauma if (GameMain.Client != null) { spectateButton.Visible = GameMain.Client.GameStarted; - ReadyToStartBox.Visible = !GameMain.Client.GameStarted; + ReadyToStartBox.Parent.Visible = !GameMain.Client.GameStarted; ReadyToStartBox.Selected = false; if (campaignUI != null) { @@ -740,60 +1162,10 @@ namespace Barotrauma else { spectateButton.Visible = false; - ReadyToStartBox.Visible = false; + ReadyToStartBox.Parent.Visible = false; } - SetPlayYourself(playYourself.Selected); + SetSpectate(spectateBox.Selected); - /*if (IsServer && GameMain.Server != null) - { - List subsToShow = Submarine.SavedSubmarines.Where(s => !s.HasTag(SubmarineTag.HideInMenus)).ToList(); - - ReadyToStartBox.Visible = false; - StartButton.OnClicked = GameMain.Server.StartGameClicked; - settingsButton.OnClicked = GameMain.Server.ToggleSettingsFrame; - - int prevSelectedSub = subList.SelectedIndex; - UpdateSubList(subList, subsToShow); - - int prevSelectedShuttle = shuttleList.SelectedIndex; - UpdateSubList(shuttleList, subsToShow); - modeList.OnSelected = VotableClicked; - modeList.OnSelected = SelectMode; - subList.OnSelected = VotableClicked; - subList.OnSelected = SelectSub; - shuttleList.OnSelected = SelectSub; - - levelDifficultyScrollBar.OnMoved = (GUIScrollBar scrollBar, float barScroll) => - { - SetLevelDifficulty(barScroll * 100.0f); - return true; - }; - - traitorProbabilityButtons[0].OnClicked = traitorProbabilityButtons[1].OnClicked = ToggleTraitorsEnabled; - botCountButtons[0].OnClicked = botCountButtons[1].OnClicked = ChangeBotCount; - botSpawnModeButtons[0].OnClicked = botSpawnModeButtons[1].OnClicked = ChangeBotSpawnMode; - missionTypeButtons[0].OnClicked = missionTypeButtons[1].OnClicked = ToggleMissionType; - - if (subList.SelectedComponent == null) subList.Select(Math.Max(0, prevSelectedSub)); - if (shuttleList.Selected == null) - { - var shuttles = shuttleList.GetChildren().Where(c => c.UserData is Submarine && ((Submarine)c.UserData).HasTag(SubmarineTag.Shuttle)); - if (prevSelectedShuttle == -1 && shuttles.Any()) - { - shuttleList.SelectItem(shuttles.First().UserData); - } - else - { - shuttleList.Select(Math.Max(0, prevSelectedShuttle)); - } - } - - GameAnalyticsManager.SetCustomDimension01("multiplayer"); - - if (GameModePreset.List.Count > 0 && modeList.SelectedComponent == null) modeList.Select(0); - GameMain.Server.Voting.ResetVotes(GameMain.Server.ConnectedClients); - } - else */ if (GameMain.Client != null) { GameMain.Client.ServerSettings.Voting.ResetVotes(GameMain.Client.ConnectedClients); @@ -801,36 +1173,25 @@ namespace Barotrauma ReadyToStartBox.OnSelected = GameMain.Client.SetReadyToStart; } + roundControlsHolder.Children.ForEach(c => c.IgnoreLayoutGroups = !c.Visible); + roundControlsHolder.Recalculate(); + GameMain.NetworkMember.EndVoteCount = 0; GameMain.NetworkMember.EndVoteMax = 1; base.Select(); } - /*TODO: remove? - public void RandomizeSettings() - { - if (GameMain.Server == null) return; - - if (GameMain.Server.RandomizeSeed) LevelSeed = ToolBox.RandomSeed(8); - if (GameMain.Server.SubSelectionMode == SelectionMode.Random) - { - var nonShuttles = subList.Content.Children.Where(c => c.UserData is Submarine && !((Submarine)c.UserData).HasTag(SubmarineTag.Shuttle)); - subList.Select(nonShuttles.GetRandom()); - } - if (GameMain.Server.ModeSelectionMode == SelectionMode.Random) - { - var allowedGameModes = GameModePreset.List.FindAll(m => !m.IsSinglePlayer && m.Identifier != "multiplayercampaign"); - modeList.Select(allowedGameModes[Rand.Range(0, allowedGameModes.Count)]); - } - }*/ public void UpdatePermissions() { ServerName.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); ServerMessage.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); - missionTypeButtons[0].Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); - missionTypeButtons[1].Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); + missionTypeList.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); + foreach (var tickBox in missionTypeTickBoxes) + { + tickBox.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); + } traitorProbabilityButtons[0].Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); traitorProbabilityButtons[1].Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); botCountButtons[0].Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); @@ -839,17 +1200,18 @@ namespace Barotrauma botSpawnModeButtons[1].Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); levelDifficultyScrollBar.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); autoRestartBox.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); - seedBox.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); + SeedBox.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); SettingsButton.Visible = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); SettingsButton.OnClicked = GameMain.Client.ServerSettings.ToggleSettingsFrame; - StartButton.Visible = GameMain.Client.HasPermission(ClientPermissions.ManageRound) && !campaignContainer.Visible; + StartButton.Visible = GameMain.Client.HasPermission(ClientPermissions.ManageRound) && !GameMain.Client.GameStarted && !campaignContainer.Visible; ServerName.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); ServerMessage.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); shuttleTickBox.Enabled = GameMain.Client.HasPermission(ClientPermissions.ManageSettings); SubList.Enabled = GameMain.Client.ServerSettings.Voting.AllowSubVoting || GameMain.Client.HasPermission(ClientPermissions.SelectSub); + shuttleList.Enabled = GameMain.Client.HasPermission(ClientPermissions.SelectSub); ModeList.Enabled = GameMain.Client.ServerSettings.Voting.AllowModeVoting || GameMain.Client.HasPermission(ClientPermissions.SelectMode); - ShowLogButton.Visible = GameMain.Client.HasPermission(ClientPermissions.ServerLog); + LogButtons.Visible = GameMain.Client.HasPermission(ClientPermissions.ServerLog); GameMain.Client.ShowLogButton.Visible = GameMain.Client.HasPermission(ClientPermissions.ServerLog); GameMain.Client.EndRoundButton.Visible = GameMain.Client.HasPermission(ClientPermissions.ManageRound); @@ -860,6 +1222,9 @@ namespace Barotrauma (GameMain.Client.HasPermission(ClientPermissions.ManageRound) || GameMain.Client.HasPermission(ClientPermissions.ManageCampaign)); } + + roundControlsHolder.Children.ForEach(c => c.IgnoreLayoutGroups = !c.Visible); + roundControlsHolder.Recalculate(); } public void ShowSpectateButton() @@ -915,18 +1280,19 @@ namespace Barotrauma GameMain.Config.CharacterMoustacheIndex, GameMain.Config.CharacterFaceAttachmentIndex); GameMain.Client.CharacterInfo = characterInfo; + characterInfo.OmitJobInPortraitClothing = true; } parent.ClearChildren(); - GUIComponent infoContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.9f), parent.RectTransform, Anchor.BottomCenter), childAnchor: Anchor.TopCenter) + GUILayoutGroup infoContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.9f), parent.RectTransform, Anchor.BottomCenter), childAnchor: Anchor.TopCenter) { - RelativeSpacing = 0.02f, + RelativeSpacing = 0.015f, Stretch = true, UserData = characterInfo }; - CharacterNameBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.1f), infoContainer.RectTransform), characterInfo.Name, textAlignment: Alignment.Center) + CharacterNameBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.065f), infoContainer.RectTransform), characterInfo.Name, textAlignment: Alignment.Center) { MaxTextLength = Client.MaxNameLength, OverflowClip = true @@ -936,6 +1302,7 @@ namespace Barotrauma { if (GameMain.Client == null) { return; } string newName = Client.SanitizeName(tb.Text); + newName = newName.Replace(":", "").Replace(";", ""); if (string.IsNullOrWhiteSpace(newName)) { tb.Text = GameMain.Client.Name; @@ -946,124 +1313,73 @@ namespace Barotrauma GameMain.Client.SetName(tb.Text); }; }; - - GUIComponent headContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.6f, 0.2f), infoContainer.RectTransform, Anchor.TopCenter), isHorizontal: true) - { - Stretch = true - }; - - if (allowEditing) - { - faceSelectionLeft = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), headContainer.RectTransform), "", style: "GUIButtonHorizontalArrow") - { - Enabled = generatedHeads.UndoCount > 1, - UserData = -1, - OnClicked = SwitchHead - }; - faceSelectionLeft.Children.ForEach(c => c.SpriteEffects = SpriteEffects.FlipHorizontally); - } - - new GUICustomComponent(new RectTransform(new Vector2(0.3f, 1.0f), headContainer.RectTransform), + + new GUICustomComponent(new RectTransform(new Vector2(0.6f, 0.18f), infoContainer.RectTransform, Anchor.TopCenter), onDraw: (sb, component) => characterInfo.DrawIcon(sb, component.Rect.Center.ToVector2(), targetAreaSize: component.Rect.Size.ToVector2())); - + if (allowEditing) { - faceSelectionRight = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), headContainer.RectTransform), style: "GUIButtonHorizontalArrow") - { - UserData = 1, - OnClicked = SwitchHead - }; - - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), infoContainer.RectTransform), - TextManager.Get("Gender"), textAlignment: Alignment.Center); - GUIComponent genderContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 0.06f), infoContainer.RectTransform), isHorizontal: true) + GUILayoutGroup characterInfoTabs = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.04f), infoContainer.RectTransform), isHorizontal: true) { Stretch = true, - RelativeSpacing = 0.05f + RelativeSpacing = 0.02f }; - GUIButton maleButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.0f), genderContainer.RectTransform), - TextManager.Get("Male")) + jobPreferencesButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.33f), characterInfoTabs.RectTransform), + TextManager.Get("JobPreferences"), style: "GUITabButton") { - UserData = Gender.Male, - OnClicked = SwitchGender + Selected = true, + OnClicked = SelectJobPreferencesTab + }; + appearanceButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.33f), characterInfoTabs.RectTransform), + TextManager.Get("CharacterAppearance"), style: "GUITabButton") + { + OnClicked = SelectAppearanceTab }; - GUIButton femaleButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.0f), genderContainer.RectTransform), - TextManager.Get("Female")) + GUITextBlock.AutoScaleAndNormalize(jobPreferencesButton.TextBlock, appearanceButton.TextBlock); + + characterInfoFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.2f), infoContainer.RectTransform), style: null); + + JobList = new GUIListBox(new RectTransform(Vector2.One, characterInfoFrame.RectTransform), true) { - UserData = Gender.Female, - OnClicked = SwitchGender - }; - - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.1f), infoContainer.RectTransform), - TextManager.Get("JobPreferences")); - - jobList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.4f), infoContainer.RectTransform)) - { - Enabled = false - }; - - int i = 1; - foreach (string jobIdentifier in GameMain.Config.JobPreferences) - { - if (!JobPrefab.List.TryGetValue(jobIdentifier, out JobPrefab job)) { continue; } - if (job == null || job.MaxNumber <= 0) continue; - - var jobFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.2f), jobList.Content.RectTransform) { MinSize = new Point(0, 20) }, style: "ListBoxElement") + Enabled = true, + OnSelected = (child, obj) => { - UserData = job - }; - GUITextBlock jobText = new GUITextBlock(new RectTransform(new Vector2(0.66f, 1.0f), jobFrame.RectTransform, Anchor.CenterRight), - i + ". " + job.Name + " ", textAlignment: Alignment.CenterLeft); - - var jobButtonContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.3f, 0.8f), jobFrame.RectTransform, Anchor.CenterLeft) { RelativeOffset = new Vector2(0.02f, 0.0f) }, - isHorizontal: true, childAnchor: Anchor.CenterLeft) - { - RelativeSpacing = 0.03f - }; - - int buttonSize = jobButtonContainer.Rect.Height; - GUIButton infoButton = new GUIButton(new RectTransform(new Point(buttonSize, buttonSize), jobButtonContainer.RectTransform), "?") - { - UserData = job, - OnClicked = ViewJobInfo - }; - - GUIButton upButton = new GUIButton(new RectTransform(new Point(buttonSize, buttonSize), jobButtonContainer.RectTransform), "") - { - UserData = -1, - OnClicked = ChangeJobPreference - }; - new GUIImage(new RectTransform(new Vector2(0.8f, 0.8f), upButton.RectTransform, Anchor.Center), GUI.Arrow, scaleToFit: true); - - GUIButton downButton = new GUIButton(new RectTransform(new Point(buttonSize, buttonSize), jobButtonContainer.RectTransform), "") - { - UserData = 1, - OnClicked = ChangeJobPreference - }; - new GUIImage(new RectTransform(new Vector2(0.8f, 0.8f), downButton.RectTransform, Anchor.Center), GUI.Arrow, scaleToFit: true) - { - Rotation = MathHelper.Pi - }; - } - - GUITickBox randPrefTickBox = new GUITickBox( - new RectTransform(new Vector2(0.5f, 0.08f), infoContainer.RectTransform) - { RelativeOffset = new Vector2(-0.0f, 0.0f) }, - TextManager.Get("RandomPreferences")) - { - OnSelected = (tickBox) => - { - if (tickBox.Selected) - { - GameMain.Config.JobPreferences = (new List(GameMain.Config.JobPreferences.Randomize())); - } - return true; + if (child.IsParentOf(GUI.MouseOn)) return false; + return OpenJobSelection(child, obj); } }; - UpdateJobPreferences(jobList); + for (int i = 0; i < 3; i++) + { + Pair jobPrefab = null; + while (i < GameMain.Config.JobPreferences.Count) + { + var jobIdent = GameMain.Config.JobPreferences[i]; + if (!JobPrefab.List.ContainsKey(jobIdent.First)) + { + GameMain.Config.JobPreferences.RemoveAt(i); + continue; + } + jobPrefab = new Pair(JobPrefab.List[jobIdent.First], jobIdent.Second); + break; + } + + var slot = new GUIFrame(new RectTransform(new Vector2(0.333f, 1.0f), JobList.Content.RectTransform), style: "ListBoxElement") + { + CanBeFocused = true, + UserData = jobPrefab + }; + } + + UpdateJobPreferences(JobList); + + appearanceFrame = new GUIFrame(new RectTransform(Vector2.One, characterInfoFrame.RectTransform), style: "GUIFrameListBox") + { + Visible = false, + Color = Color.White + }; } else { @@ -1073,7 +1389,7 @@ namespace Barotrauma foreach (Skill skill in characterInfo.Job.Skills) { Color textColor = Color.White * (0.5f + skill.Level / 200.0f); - var skillText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.1f), infoContainer.RectTransform), + var skillText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.08f), infoContainer.RectTransform), " - " + TextManager.AddPunctuation(':', TextManager.Get("SkillName." + skill.Identifier), ((int)skill.Level).ToString()), textColor); } @@ -1103,44 +1419,31 @@ namespace Barotrauma } } - public bool TogglePlayYourself(GUITickBox tickBox) + public bool ToggleSpectate(GUITickBox tickBox) { - if (tickBox.Selected) - { - UpdatePlayerFrame(campaignCharacterInfo, allowEditing: campaignCharacterInfo == null); - } - else - { - playerInfoContainer.ClearChildren(); - - GameMain.Client.CharacterInfo = null; - GameMain.Client.Character = null; - - new GUITextBlock(new RectTransform(Vector2.One, playerInfoContainer.RectTransform, Anchor.Center), - TextManager.Get("PlayingAsSpectator"), - textAlignment: Alignment.Center); - } + SetSpectate(tickBox.Selected); return false; } - public void SetPlayYourself(bool playYourself) + public void SetSpectate(bool spectate) { - this.playYourself.Selected = playYourself; - if (playYourself) - { - UpdatePlayerFrame(campaignCharacterInfo, allowEditing: campaignCharacterInfo == null); - } - else + this.spectateBox.Selected = spectate; + if (spectate) { playerInfoContainer.ClearChildren(); + GameMain.Client.CharacterInfo?.Remove(); GameMain.Client.CharacterInfo = null; + GameMain.Client.Character?.Remove(); GameMain.Client.Character = null; - new GUITextBlock(new RectTransform(Vector2.One, playerInfoContainer.RectTransform, Anchor.Center), TextManager.Get("PlayingAsSpectator"), textAlignment: Alignment.Center); } + else + { + UpdatePlayerFrame(campaignCharacterInfo, allowEditing: campaignCharacterInfo == null); + } } public void SetAllowSpectating(bool allowSpectating) @@ -1152,13 +1455,12 @@ namespace Barotrauma } //show the player config menu if spectating is not allowed - if (!playYourself.Selected && !allowSpectating) + if (spectateBox.Selected && !allowSpectating) { - playYourself.Selected = !playYourself.Selected; - TogglePlayYourself(playYourself); + spectateBox.Selected = false; } - //hide "play yourself" tickbox if spectating is not allowed - playYourself.Visible = allowSpectating; + //hide spectate tickbox if spectating is not allowed + spectateBox.Visible = allowSpectating; } public void SetAutoRestart(bool enabled, float timer = 0.0f) @@ -1166,13 +1468,10 @@ namespace Barotrauma autoRestartBox.Selected = enabled; autoRestartTimer = timer; } - - public void SetMissionType(int missionTypeIndex) + + public void SetMissionType(MissionType missionType) { - if (missionTypeIndex < 0 || missionTypeIndex >= Enum.GetValues(typeof(MissionType)).Length) return; - - ((GUITextBlock)missionTypeContainer.GetChild(2)).Text = TextManager.Get("MissionType." + ((MissionType)missionTypeIndex).ToString()); - missionTypeContainer.UserData = ((MissionType)missionTypeIndex); + MissionType = missionType; } public void UpdateSubList(GUIComponent subList, List submarines) @@ -1206,7 +1505,7 @@ namespace Barotrauma }; int buttonSize = (int)(frame.Rect.Height * 0.8f); - var subTextBlock = new GUITextBlock(new RectTransform(new Vector2(0.8f, 1.0f), frame.RectTransform, Anchor.CenterLeft) { AbsoluteOffset = new Point(buttonSize + 5, 0) }, + var subTextBlock = new GUITextBlock(new RectTransform(new Vector2(0.8f, 1.0f), frame.RectTransform, Anchor.CenterLeft) /*{ AbsoluteOffset = new Point(buttonSize + 5, 0) }*/, ToolBox.LimitString(sub.DisplayName, GUI.Font, subList.Rect.Width - 65), textAlignment: Alignment.CenterLeft) { CanBeFocused = false @@ -1232,7 +1531,7 @@ namespace Barotrauma subTextBlock.TextColor = new Color(subTextBlock.TextColor, sub.HasTag(SubmarineTag.Shuttle) ? 1.0f : 0.6f); } - GUIButton infoButton = new GUIButton(new RectTransform(new Point(buttonSize, buttonSize), frame.RectTransform, Anchor.CenterLeft) { AbsoluteOffset = new Point((int)(buttonSize * 0.2f), 0) }, "?") + /*GUIButton infoButton = new GUIButton(new RectTransform(new Point(buttonSize, buttonSize), frame.RectTransform, Anchor.CenterLeft) { AbsoluteOffset = new Point((int)(buttonSize * 0.2f), 0) }, "?") { UserData = sub }; @@ -1240,7 +1539,7 @@ namespace Barotrauma { ((Submarine)userdata).CreatePreviewWindow(new GUIMessageBox("", "", new Vector2(0.25f, 0.25f), new Point(500, 400))); return true; - }; + };*/ } if (!sub.RequiredContentPackagesInstalled) @@ -1251,7 +1550,7 @@ namespace Barotrauma if (sub.HasTag(SubmarineTag.Shuttle)) { - new GUITextBlock(new RectTransform(new Vector2(0.5f, 1.0f), frame.RectTransform, Anchor.CenterRight) { RelativeOffset = new Vector2(0.1f, 0.0f) }, + var shuttleText = new GUITextBlock(new RectTransform(new Vector2(0.5f, 1.0f), frame.RectTransform, Anchor.CenterRight), TextManager.Get("Shuttle", fallBackTag: "RespawnShuttle"), textAlignment: Alignment.CenterRight, font: GUI.SmallFont) { TextColor = subTextBlock.TextColor * 0.8f, @@ -1261,6 +1560,7 @@ namespace Barotrauma //make shuttles more dim in the sub list (selecting a shuttle as the main sub is allowed but not recommended) if (subList == this.subList.Content) { + shuttleText.RectTransform.RelativeOffset = new Vector2(0.1f, 0.0f); subTextBlock.TextColor *= 0.5f; foreach (GUIComponent child in frame.Children) { @@ -1304,6 +1604,11 @@ namespace Barotrauma } return false; } + if (component.UserData is Submarine sub) + { + subPreviewContainer.ClearChildren(); + sub.CreatePreviewWindow(subPreviewContainer); + } voteType = VoteType.Sub; } else if (component.Parent == GameMain.NetLobbyScreen.ModeList.Content) @@ -1312,13 +1617,34 @@ namespace Barotrauma { if (GameMain.Client.HasPermission(ClientPermissions.SelectMode)) { - GameMain.Client.RequestSelectMode(component.Parent.GetChildIndex(component)); string presetName = ((GameModePreset)(component.UserData)).Identifier; + + //display a verification prompt when switching away from the campaign + if (HighlightedModeIndex == SelectedModeIndex && + (GameMain.NetLobbyScreen.ModeList.SelectedData as GameModePreset)?.Identifier == "multiplayercampaign" && + presetName != "multiplayercampaign") + { + var verificationBox = new GUIMessageBox("", TextManager.Get("endcampaignverification"), new string[] { TextManager.Get("yes"), TextManager.Get("no") }); + verificationBox.Buttons[0].OnClicked += (btn, userdata) => + { + GameMain.Client.RequestSelectMode(component.Parent.GetChildIndex(component)); + HighlightMode(SelectedModeIndex); + verificationBox.Close(btn, userdata); + return true; + }; + verificationBox.Buttons[1].OnClicked = verificationBox.Close; + return false; + } + GameMain.Client.RequestSelectMode(component.Parent.GetChildIndex(component)); + HighlightMode(SelectedModeIndex); return (presetName.ToLowerInvariant() != "multiplayercampaign"); } return false; } - else if (!((GameModePreset)userData).Votable) return false; + else if (!((GameModePreset)userData).Votable) + { + return false; + } voteType = VoteType.Mode; } @@ -1334,46 +1660,87 @@ namespace Barotrauma public void AddPlayer(Client client) { - GUITextBlock textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.2f), playerList.Content.RectTransform), - client.Name, textAlignment: Alignment.CenterLeft) + GUITextBlock textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.1f), playerList.Content.RectTransform) { MinSize = new Point(0, (int)(30 * GUI.Scale)) }, + client.Name, textAlignment: Alignment.CenterLeft, font: GUI.SmallFont, style: null) { + Padding = Vector4.One * 10.0f * GUI.Scale, + Color = Color.White * 0.25f, + HoverColor = Color.White * 0.5f, + SelectedColor = Color.White * 0.85f, + OutlineColor = Color.White * 0.5f, + TextColor = Color.White, UserData = client }; - var soundIcon = new GUIImage(new RectTransform(new Point((int)(textBlock.Rect.Height * 0.8f)), textBlock.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(5, 0) }, + var soundIcon = new GUIImage(new RectTransform(new Point((int)(textBlock.Rect.Height * 0.8f)), textBlock.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(5, 0) }, "GUISoundIcon") { - UserData = "soundicon", + UserData = new Pair("soundicon", 0.0f), CanBeFocused = false, - Visible = true + Visible = true, + OverrideState = GUIComponent.ComponentState.None, + HoverColor = Color.White }; - soundIcon.Color = new Color(soundIcon.Color, 0.0f); + + if (voipSheetRects == null) + { + Point sourceRectSize = soundIcon.Style.Sprites.First().Value.First().Sprite.SourceRect.Size; + var indexPieces = soundIcon.Style.Element.Attribute("sheetindices").Value.Split(';'); + voipSheetRects = new Rectangle[indexPieces.Length]; + for (int i = 0; i < indexPieces.Length; i++) + { + Point location = XMLExtensions.ParsePoint(indexPieces[i].Trim()) * sourceRectSize; + voipSheetRects[i] = new Rectangle(location, sourceRectSize); + } + } + new GUIImage(new RectTransform(new Point((int)(textBlock.Rect.Height * 0.8f)), textBlock.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(5, 0) }, "GUISoundIconDisabled") { UserData = "soundicondisabled", CanBeFocused = true, - Visible = false - }; - new GUITickBox(new RectTransform(new Vector2(0.05f, 0.6f), textBlock.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(10 + soundIcon.Rect.Width, 0) }, "") - { - Selected = true, - Enabled = false, Visible = false, + OverrideState = GUIComponent.ComponentState.None, + HoverColor = Color.White + }; + new GUIFrame(new RectTransform(new Vector2(0.6f, 0.6f), textBlock.RectTransform, Anchor.CenterRight, scaleBasis: ScaleBasis.BothHeight) { AbsoluteOffset = new Point(10 + soundIcon.Rect.Width, 0) }, style: "GUIReadyToStart") + { + Visible = false, + CanBeFocused = false, ToolTip = TextManager.Get("ReadyToStartTickBox"), UserData = "clientready" }; } + public void SetPlayerNameAndJobPreference(Client client) + { + var playerFrame = (GUITextBlock)PlayerList.Content.FindChild(client); + if (playerFrame == null) { return; } + playerFrame.Text = client.Name; + + Color color = Color.White; + if (JobPrefab.List.ContainsKey(client.PreferredJob)) + { + color = JobPrefab.List[client.PreferredJob].UIColor; + } + playerFrame.Color = color * 0.4f; + playerFrame.HoverColor = color * 0.6f; + playerFrame.SelectedColor = color * 0.8f; + playerFrame.OutlineColor = color * 0.5f; + playerFrame.TextColor = color; + } + public void SetPlayerVoiceIconState(Client client, bool muted, bool mutedLocally) { var playerFrame = PlayerList.Content.FindChild(client); if (playerFrame == null) { return; } - var soundIcon = playerFrame.FindChild("soundicon"); + var soundIcon = playerFrame.FindChild(c => c.UserData is Pair pair && pair.First == "soundicon"); var soundIconDisabled = playerFrame.FindChild("soundicondisabled"); + Pair userdata = soundIcon.UserData as Pair; + if (!soundIcon.Visible) { - soundIcon.Color = new Color(soundIcon.Color, 0.0f); + userdata.Second = 0.0f; } soundIcon.Visible = !muted && !mutedLocally; soundIconDisabled.Visible = muted || mutedLocally; @@ -1384,8 +1751,10 @@ namespace Barotrauma { var playerFrame = PlayerList.Content.FindChild(client); if (playerFrame == null) { return; } - var soundIcon = playerFrame.FindChild("soundicon"); - soundIcon.Color = new Color(soundIcon.Color, 1.0f); + var soundIcon = playerFrame.FindChild(c => c.UserData is Pair pair && pair.First == "soundicon"); + Pair userdata = soundIcon.UserData as Pair; + userdata.Second = 0.18f; + soundIcon.Visible = true; } public void RemovePlayer(Client client) @@ -1504,8 +1873,7 @@ namespace Barotrauma //reset rank to custom rankDropDown.SelectItem(null); - var client = playerFrame.UserData as Client; - if (client == null) { return false; } + if (!(playerFrame.UserData is Client client)) { return false; } foreach (GUIComponent child in tickbox.Parent.GetChild().Content.Children) { @@ -1518,7 +1886,7 @@ namespace Barotrauma return true; } }; - var permissionsBox = new GUIListBox(new RectTransform(new Vector2(1.0f, 1.0f), listBoxContainerLeft.RectTransform)) + var permissionsBox = new GUIListBox(new RectTransform(Vector2.One, listBoxContainerLeft.RectTransform)) { UserData = selectedClient }; @@ -1587,7 +1955,7 @@ namespace Barotrauma return true; } }; - var commandList = new GUIListBox(new RectTransform(new Vector2(1.0f, 1.0f), listBoxContainerRight.RectTransform)) + var commandList = new GUIListBox(new RectTransform(Vector2.One, listBoxContainerRight.RectTransform)) { UserData = selectedClient }; @@ -1698,6 +2066,7 @@ namespace Barotrauma private bool ClosePlayerFrame(GUIButton button, object userData) { playerFrame = null; + playerList.Deselect(); return true; } @@ -1722,37 +2091,96 @@ namespace Barotrauma public override void AddToGUIUpdateList() { base.AddToGUIUpdateList(); - - if (campaignContainer.Visible) - { - chatFrame.AddToGUIUpdateList(); - playerListFrame.AddToGUIUpdateList(); - } - + playerFrame?.AddToGUIUpdateList(); - CampaignSetupUI?.AddToGUIUpdateList(); + //CampaignSetupUI?.AddToGUIUpdateList(); jobInfoFrame?.AddToGUIUpdateList(); + + HeadSelectionList?.AddToGUIUpdateList(); + JobSelectionFrame?.AddToGUIUpdateList(); } public override void Update(double deltaTime) { base.Update(deltaTime); - - if (CampaignSetupUI != null) + + string currMicStyle = micIcon.Style.Element.Name.LocalName; + + string targetMicStyle = "GUIMicrophoneEnabled"; + if (GameMain.Config.CaptureDeviceNames == null) { - if (!CampaignSetupUI.Visible) CampaignSetupUI = null; + GameMain.Config.CaptureDeviceNames = OpenAL.Alc.GetStringList(IntPtr.Zero, OpenAL.Alc.CaptureDeviceSpecifier); + } + + if (GameMain.Config.CaptureDeviceNames.Count == 0) + { + targetMicStyle = "GUIMicrophoneUnavailable"; + } + else if (GameMain.Config.VoiceSetting == GameSettings.VoiceMode.Disabled) + { + targetMicStyle = "GUIMicrophoneDisabled"; + } + + if (targetMicStyle.ToLowerInvariant() != currMicStyle.ToLowerInvariant()) + { + GUI.Style.Apply(micIcon, targetMicStyle); } foreach (GUIComponent child in playerList.Content.Children) { - var soundIcon = child.FindChild("soundicon"); - soundIcon.Color = new Color(soundIcon.Color, (soundIcon.Color.A / 255.0f) - (float)deltaTime); + if (child.UserData is Client client) + { + var soundIcon = child.FindChild(c => c.UserData is Pair pair && pair.First == "soundicon"); + if (soundIcon != null) + { + Pair userdata = soundIcon.UserData as Pair; + if (userdata.Second >= 0.0f) + { + userdata.Second = userdata.Second - (float)deltaTime; + + if (userdata.Second < 0.0f) + { + soundIcon.Visible = false; + } + else + { + int sheetIndex = 0; + if (client.ID != GameMain.Client.ID) + { + sheetIndex = (int)Math.Floor((client.VoipSound?.CurrentAmplitude ?? 0.0f) * (voipSheetRects.Length - 0.99f)); + } + else + { + sheetIndex = (int)Math.Floor((VoipCapture.Instance?.LastAmplitude ?? 0.0) * (voipSheetRects.Length - 0.99f)); + } + if (sheetIndex < 0) { sheetIndex = 0; } + if (sheetIndex > voipSheetRects.Length-1) { sheetIndex = voipSheetRects.Length-1; } + soundIcon.sprites.First().Value.First().Sprite.SourceRect = voipSheetRects[sheetIndex]; + } + } + } + } } - if (autoRestartTimer != 0.0f && autoRestartBox.Selected) + autoRestartText.Visible = autoRestartTimer > 0.0f && autoRestartBox.Selected; + if (!MathUtils.NearlyEqual(autoRestartTimer, 0.0f) && autoRestartBox.Selected) { autoRestartTimer = Math.Max(autoRestartTimer - (float)deltaTime, 0.0f); + if (autoRestartTimer > 0.0f) + { + autoRestartText.Text = TextManager.Get("RestartingIn") + " " + ToolBox.SecondsToReadableTime(Math.Max(autoRestartTimer, 0)); + } + } + + if (HeadSelectionList != null && PlayerInput.LeftButtonDown() && !GUI.IsMouseOn(HeadSelectionList)) + { + HeadSelectionList.Visible = false; + } + if (JobSelectionFrame != null && PlayerInput.LeftButtonDown() && !GUI.IsMouseOn(JobSelectionFrame)) + { + JobList.Deselect(); + JobSelectionFrame.Visible = false; } } public override void Draw(double deltaTime, GraphicsDevice graphics, SpriteBatch spriteBatch) @@ -1761,109 +2189,571 @@ namespace Barotrauma GUI.DrawBackgroundSprite(spriteBatch, backgroundSprite); - spriteBatch.Begin(SpriteSortMode.Deferred, rasterizerState: GameMain.ScissorTestEnable); - if (campaignUI != null) - { - campaignUI.MapContainer.DrawAuto(spriteBatch); - } + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState, rasterizerState: GameMain.ScissorTestEnable); + GUI.Draw(Cam, spriteBatch); spriteBatch.End(); } + + private PlayStyle? prevPlayStyle = null; + private void DrawServerBanner(SpriteBatch spriteBatch, GUICustomComponent component) + { + if (GameMain.NetworkMember?.ServerSettings == null) { return; } + + PlayStyle playStyle = GameMain.NetworkMember.ServerSettings.PlayStyle; + if ((int)playStyle < 0 || + (int)playStyle >= GameMain.ServerListScreen.PlayStyleBanners.Length) + { + return; + } + + Sprite sprite = GameMain.ServerListScreen.PlayStyleBanners[(int)playStyle]; + float scale = component.Rect.Width / sprite.size.X; + sprite.Draw(spriteBatch, component.Center, scale: scale); + + if (!prevPlayStyle.HasValue || playStyle != prevPlayStyle.Value) + { + var nameText = component.GetChild(); + nameText.Text = TextManager.Get("servertag." + playStyle); + nameText.Color = GameMain.ServerListScreen.PlayStyleColors[(int)playStyle]; + nameText.RectTransform.NonScaledSize = (nameText.Font.MeasureString(nameText.Text) + new Vector2(25, 10) * GUI.Scale).ToPoint(); + prevPlayStyle = playStyle; + + component.ToolTip = TextManager.Get("servertagdescription." + playStyle); + } + } + public void NewChatMessage(ChatMessage message) { float prevSize = chatBox.BarSize; - while (chatBox.Content.CountChildren > 20) + while (chatBox.Content.CountChildren > 60) { chatBox.RemoveChild(chatBox.Content.Children.First()); } GUITextBlock msg = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), chatBox.Content.RectTransform), - text: (message.Type == ChatMessageType.Private ? TextManager.Get("PrivateMessageTag") + " " : "") + message.TextWithSender, + text: ChatMessage.GetTimeStamp() + (message.Type == ChatMessageType.Private ? TextManager.Get("PrivateMessageTag") + " " : "") + message.TextWithSender, textColor: message.Color, color: ((chatBox.CountChildren % 2) == 0) ? Color.Transparent : Color.Black * 0.1f, wrap: true, font: GUI.SmallFont) { UserData = message, - CanBeFocused = false, + CanBeFocused = false }; + msg.RectTransform.SizeChanged += Recalculate; + void Recalculate() + { + msg.RectTransform.SizeChanged -= Recalculate; + msg.CalculateHeightFromText(); + msg.RectTransform.SizeChanged += Recalculate; + } - if ((prevSize == 1.0f && chatBox.BarScroll == 0.0f) || (prevSize < 1.0f && chatBox.BarScroll == 1.0f)) chatBox.BarScroll = 1.0f; + if ((prevSize == 1.0f && chatBox.BarScroll == 0.0f) || (prevSize < 1.0f && chatBox.BarScroll == 1.0f)) + { + chatBox.BarScroll = 1.0f; + } } - private Memento generatedHeads = new Memento(); - - private bool SwitchHead(GUIButton button, object userData) + private bool SelectJobPreferencesTab(GUIButton button, object userData) { - if (GameMain.Client.CharacterInfo == null) return true; - int dir = (int)userData; + jobPreferencesButton.Selected = true; + appearanceButton.Selected = false; + + JobList.Visible = true; + appearanceFrame.Visible = false; + + return false; + } + + private bool SelectAppearanceTab(GUIButton button, object userData) + { + jobPreferencesButton.Selected = false; + appearanceButton.Selected = true; + + JobList.Visible = false; + appearanceFrame.Visible = true; + + appearanceFrame.ClearChildren(); + if (HeadSelectionList != null) { HeadSelectionList.Visible = false; } + + GUIButton maleButton = null; + GUIButton femaleButton = null; + var info = GameMain.Client.CharacterInfo; - if (!info.HasGenders) + + GUILayoutGroup columnLayout = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.9f), appearanceFrame.RectTransform, Anchor.Center), isHorizontal: true) { - GameMain.Config.CharacterGender = Gender.None; - } - else if (GameMain.Config.CharacterGender == Gender.None) + Stretch = true, + RelativeSpacing = 0.05f + }; + + //left column + GUILayoutGroup leftColumn = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 1.0f), columnLayout.RectTransform)) { - GameMain.Config.CharacterGender = info.Gender; - } - if (generatedHeads.Current == null) + RelativeSpacing = 0.05f + }; + + GUILayoutGroup genderContainer = new GUILayoutGroup(new RectTransform(new Vector2(2.0f, 0.2f), leftColumn.RectTransform), isHorizontal: true) { - // Add the current head in the memory - generatedHeads.Store(info.Head); - } - if (dir == 1) + Stretch = true, + RelativeSpacing = 0.05f + }; + new GUITextBlock(new RectTransform(new Vector2(1.0f, 1.0f), genderContainer.RectTransform), TextManager.Get("Gender")); + maleButton = new GUIButton(new RectTransform(new Vector2(1.0f, 1.0f), genderContainer.RectTransform), + TextManager.Get("Male"), style: "ListBoxElement") { - // Try redo, if not possible, generate new - var previousHead = generatedHeads.Redo(); - if (previousHead == info.Head || previousHead == null) + UserData = Gender.Male, + OnClicked = OpenHeadSelection, + Selected = info.Gender == Gender.Male + }; + femaleButton = new GUIButton(new RectTransform(new Vector2(1.0f, 1.0f), genderContainer.RectTransform), + TextManager.Get("Female"), style: "ListBoxElement") + { + UserData = Gender.Female, + OnClicked = OpenHeadSelection, + Selected = info.Gender == Gender.Female + }; + + int hairCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables), WearableType.Hair).Count(); + if (hairCount > 0) + { + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), leftColumn.RectTransform), TextManager.Get("FaceAttachment.Hair")); + var hairSlider = new GUIScrollBar(new RectTransform(new Vector2(1.0f, 0.15f), leftColumn.RectTransform)) { - // Generate new and add to the list - // If the head id is the same, regenerate until it's not - // The counter is there to prevent stack overflow if we for some reason cannot get unique ids (e.g. an issue with the head id range or simply if there is no heads defined). - int newHeadId = previousHead.HeadSpriteId; - int counter = 0; - while (newHeadId == previousHead.HeadSpriteId && counter < 10) + Range = new Vector2(0, hairCount), + StepValue = 1, + BarScrollValue = info.HairIndex, + OnMoved = SwitchHair, + BarSize = 1.0f / (float)(hairCount + 1) + }; + } + + int beardCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables), WearableType.Beard).Count(); + if (beardCount > 0) + { + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), leftColumn.RectTransform), TextManager.Get("FaceAttachment.Beard")); + var beardSlider = new GUIScrollBar(new RectTransform(new Vector2(1.0f, 0.15f), leftColumn.RectTransform)) + { + Range = new Vector2(0, beardCount), + StepValue = 1, + BarScrollValue = info.BeardIndex, + OnMoved = SwitchBeard, + BarSize = 1.0f / (float)(beardCount + 1) + }; + } + + //right column + GUILayoutGroup rightColumn = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 1.0f), columnLayout.RectTransform)) + { + RelativeSpacing = 0.05f + }; + + //spacing to account for the gender selection in the left column + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.2f), rightColumn.RectTransform), style: null) + { + CanBeFocused = false + }; + + int moustacheCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables), WearableType.Moustache).Count(); + if (moustacheCount > 0) + { + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), rightColumn.RectTransform), TextManager.Get("FaceAttachment.Moustache")); + var moustacheSlider = new GUIScrollBar(new RectTransform(new Vector2(1.0f, 0.15f), rightColumn.RectTransform)) + { + Range = new Vector2(0, moustacheCount), + StepValue = 1, + BarScrollValue = info.MoustacheIndex, + OnMoved = SwitchMoustache, + BarSize = 1.0f / (float)(moustacheCount + 1) + }; + } + + int faceAttachmentCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables), WearableType.FaceAttachment).Count(); + if (faceAttachmentCount > 0) + { + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), rightColumn.RectTransform), TextManager.Get("FaceAttachment.Accessories")); + var faceAttachmentSlider = new GUIScrollBar(new RectTransform(new Vector2(1.0f, 0.15f), rightColumn.RectTransform)) + { + Range = new Vector2(0, faceAttachmentCount), + StepValue = 1, + BarScrollValue = info.FaceAttachmentIndex, + OnMoved = SwitchFaceAttachment, + BarSize = 1.0f / (float)(faceAttachmentCount + 1) + }; + } + + return false; + } + + private bool OpenHeadSelection(GUIButton button, object userData) + { + Gender selectedGender = (Gender)userData; + if (HeadSelectionList != null) + { + HeadSelectionList.Visible = true; + foreach (GUIComponent child in HeadSelectionList.Content.Children) + { + child.Visible = (Gender)child.UserData == selectedGender; + child.Children.ForEach(c => c.Visible = ((Tuple)c.UserData).Item1 == selectedGender); + } + return true; + } + + var info = GameMain.Client.CharacterInfo; + + HeadSelectionList = new GUIListBox( + new RectTransform(new Point(characterInfoFrame.Rect.Width, (characterInfoFrame.Rect.Bottom - button.Rect.Bottom) + characterInfoFrame.Rect.Height * 2), GUI.Canvas) + { + AbsoluteOffset = new Point(characterInfoFrame.Rect.Right - characterInfoFrame.Rect.Width, button.Rect.Bottom) + }); + + new GUIFrame(new RectTransform(new Vector2(1.25f, 1.25f), HeadSelectionList.RectTransform, Anchor.Center), style: "OuterGlow", color: Color.Black) + { + UserData = "outerglow", + CanBeFocused = false + }; + + GUILayoutGroup row = null; + int itemsInRow = 0; + + XElement headElement = info.Ragdoll.MainElement.Elements().FirstOrDefault(e => e.GetAttributeString("type", "").ToLowerInvariant() == "head"); + XElement headSpriteElement = headElement.Element("sprite"); + string spritePathWithTags = headSpriteElement.Attribute("texture").Value; + + var characterConfigElement = info.CharacterConfigElement; + + var heads = info.Heads; + if (heads != null) + { + row = null; + itemsInRow = 0; + foreach (var head in heads) + { + var headPreset = head.Key; + Gender gender = headPreset.Gender; + Race race = headPreset.Race; + int headIndex = headPreset.ID; + + string spritePath = spritePathWithTags + .Replace("[GENDER]", gender.ToString().ToLowerInvariant()) + .Replace("[RACE]", race.ToString().ToLowerInvariant()); + + if (!File.Exists(spritePath)) { continue; } + + Sprite headSprite = new Sprite(headSpriteElement, "", spritePath); + headSprite.SourceRect = new Rectangle(CharacterInfo.CalculateOffset(headSprite, head.Value.ToPoint()), headSprite.SourceRect.Size); + characterSprites.Add(headSprite); + + if (row == null || itemsInRow >= 4) { - newHeadId = info.GetRandomHeadID(); - counter++; + row = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.333f), HeadSelectionList.Content.RectTransform), true) + { + UserData = gender, + Visible = gender == selectedGender + }; + itemsInRow = 0; } - info.Head = new CharacterInfo.HeadInfo(newHeadId) { gender = GameMain.Config.CharacterGender }; - generatedHeads.Store(info.Head); + + var btn = new GUIButton(new RectTransform(new Vector2(0.25f, 1.0f), row.RectTransform), style: "ListBoxElement") + { + OutlineColor = Color.White * 0.5f, + PressedColor = Color.White * 0.5f, + UserData = new Tuple(gender, race, headIndex), + OnClicked = SwitchHead, + Selected = gender == info.Gender && race == info.Race && headIndex == info.HeadSpriteId, + Visible = gender == selectedGender + }; + + new GUIImage(new RectTransform(Vector2.One, btn.RectTransform), headSprite, scaleToFit: true); + itemsInRow++; + } + } + + return false; + } + + private bool SwitchJob(GUIButton button, object obj) + { + int childIndex = JobList.SelectedIndex; + var child = JobList.SelectedComponent; + + bool moveToNext = obj != null; + + var jobPrefab = (obj as Pair)?.First; + + var prevObj = child.UserData; + + var existingChild = JobList.Content.FindChild(d => (d.UserData is Pair prefab) && (prefab.First == jobPrefab)); + if (existingChild != null && obj != null) + { + existingChild.UserData = prevObj; + } + child.UserData = obj; + + for (int i = 0; i < 2; i++) + { + if (i < 2 && JobList.Content.GetChild(i).UserData == null) + { + JobList.Content.GetChild(i).UserData = JobList.Content.GetChild(i + 1).UserData; + JobList.Content.GetChild(i + 1).UserData = null; + } + } + + UpdateJobPreferences(JobList); + + if (moveToNext) + { + var emptyChild = JobList.Content.FindChild(c => c.UserData == null && c.CanBeFocused); + if (emptyChild != null) + { + JobList.Select(JobList.Content.GetChildIndex(emptyChild)); } else { - info.Head = previousHead; + JobList.Deselect(); + if (JobSelectionFrame != null) { JobSelectionFrame.Visible = false; } } } else { - // Undo, if not possible, the button should be disabled - var previousHead = generatedHeads.Undo(); - if (previousHead != info.Head && previousHead != null) + OpenJobSelection(child, child.UserData); + } + + return false; + } + + private bool OpenJobSelection(GUIComponent child, object userData) + { + if (JobSelectionFrame != null) + { + JobSelectionFrame.Visible = true; + return true; + } + + Point frameSize = new Point(characterInfoFrame.Rect.Width, characterInfoFrame.Rect.Height * 2); + JobSelectionFrame = new GUIFrame(new RectTransform(frameSize, GUI.Canvas, Anchor.TopLeft) + { AbsoluteOffset = new Point(characterInfoFrame.Rect.Right - frameSize.X, characterInfoFrame.Rect.Bottom) }, "GUIFrameListBox"); + + new GUIFrame(new RectTransform(new Vector2(1.25f, 1.25f), JobSelectionFrame.RectTransform, Anchor.Center), style: "OuterGlow", color: Color.Black) + { + UserData = "outerglow", + CanBeFocused = false + }; + + var rows = new GUILayoutGroup(new RectTransform(Vector2.One, JobSelectionFrame.RectTransform)) { Stretch = true }; + var row = new GUILayoutGroup(new RectTransform(Vector2.One, rows.RectTransform), true); + + GUIButton jobButton = null; + + var availableJobs = JobPrefab.List.Values.Where(jobPrefab => + jobPrefab.MaxNumber > 0 && JobList.Content.Children.All(c => !(c.UserData is Pair prefab) || prefab.First != jobPrefab) + ).Select(j => new Pair(j, 1)); + availableJobs = availableJobs.Concat( + JobPrefab.List.Values.Where(jobPrefab => + jobPrefab.MaxNumber > 0 && JobList.Content.Children.Any(c => (c.UserData is Pair prefab) && prefab.First == jobPrefab) + ).Select(j => JobList.Content.FindChild(c => (c.UserData is Pair prefab) && prefab.First == j).UserData as Pair)); + availableJobs = availableJobs.ToList(); + + int itemsInRow = 1; + + foreach (var jobPrefab in availableJobs) + { + if (itemsInRow >= 4) { - info.Head = previousHead; + row = new GUILayoutGroup(new RectTransform(Vector2.One, rows.RectTransform), true); + itemsInRow = 0; + } + + jobButton = new GUIButton(new RectTransform(new Vector2(1.0f / 3.0f, 1.0f), row.RectTransform), style: "ListBoxElement") + { + PressedColor = Color.White, + OutlineColor = Color.White * 0.5f, + UserData = jobPrefab, + OnClicked = (btn, usdt) => + { + if (btn.IsParentOf(GUI.MouseOn)) return false; + return SwitchJob(btn, usdt); + } + }; + itemsInRow++; + + var images = AddJobSpritesToGUIComponent(jobButton, jobPrefab.First); + for (int variantIndex = 0; variantIndex < images.Length; variantIndex++) + { + foreach (GUIImage image in images[variantIndex]) + { + characterSprites.Add(image.Sprite); + } + } + + if (images != null && images.Length > 1) + { + jobPrefab.Second = Math.Min(jobPrefab.Second, images.Length); + int currVisible = jobPrefab.Second; + GUIButton currSelected = null; + for (int variantIndex = 0; variantIndex < images.Length; variantIndex++) + { + foreach (GUIImage image in images[variantIndex]) + { + image.Visible = currVisible == (variantIndex + 1); + } + + var variantButton = new GUIButton(new RectTransform(new Vector2(0.15f), jobButton.RectTransform, scaleBasis: ScaleBasis.BothWidth) { RelativeOffset = new Vector2(0.05f, 0.05f + 0.2f * variantIndex) }, (variantIndex + 1).ToString(), style: null) + { + Color = new Color(50, 50, 50, 200), + HoverColor = Color.Gray * 0.75f, + PressedColor = Color.Black * 0.75f, + SelectedColor = new Color(45, 70, 100, 200), + UserData = new Pair(jobPrefab.First, variantIndex+1), + OnClicked = (btn, obj) => + { + currSelected.Selected = false; + int k = ((Pair)obj).Second; + btn.Parent.UserData = obj; + for (int j = 0; j < images.Length; j++) + { + foreach (GUIImage image in images[j]) + { + image.Visible = k == (j + 1); + } + } + currSelected = btn; + currSelected.Selected = true; + + return false; + } + }; + + if (currVisible == (variantIndex + 1)) + { + currSelected = variantButton; + } + } + if (currSelected != null) + { + currSelected.Selected = true; + } } } - info.ReloadHeadAttachments(); - StoreHead(); - GameMain.Config.SaveNewPlayerConfig(); - faceSelectionLeft.Enabled = generatedHeads.UndoCount > 0; + return true; } - private bool SwitchGender(GUIButton button, object obj) + private GUIImage[][] AddJobSpritesToGUIComponent(GUIComponent parent, JobPrefab jobPrefab) { - generatedHeads.Clear(); - Gender gender = (Gender)obj; + GUIFrame innerFrame = null; + List outfitPreviews = jobPrefab.GetJobOutfitSprites(Gender.Male, out Vector2 dimensions); + innerFrame = new GUIFrame(new RectTransform(Vector2.One * 0.8f, parent.RectTransform, Anchor.Center) { RelativeOffset = new Vector2(-0.07f, -0.06f) }, style: null) + { + CanBeFocused = false + }; + + void recalculateInnerFrame() + { + float buttonWidth = parent.Rect.Width; + float buttonHeight = parent.Rect.Height; + + Vector2 innerFrameSize; + if (buttonWidth / dimensions.X > buttonHeight / dimensions.Y) + { + innerFrameSize = new Vector2((dimensions.X / dimensions.Y) * (buttonHeight / buttonWidth), 1.0f); + } + else + { + innerFrameSize = new Vector2(1.0f, (dimensions.Y / dimensions.X) * (buttonWidth / buttonHeight)); + } + + innerFrame.RectTransform.RelativeSize = innerFrameSize * 0.8f; + } + + GUIImage[][] retVal = new GUIImage[0][]; + if (outfitPreviews != null && outfitPreviews.Any()) + { + parent.RectTransform.SizeChanged += recalculateInnerFrame; + + retVal = new GUIImage[outfitPreviews.Count][]; + for (int i = 0; i < outfitPreviews.Count; i++) + { + JobPrefab.OutfitPreview outfitPreview = outfitPreviews[i]; + retVal[i] = new GUIImage[outfitPreview.Sprites.Count]; + for (int j = 0; j < outfitPreview.Sprites.Count; j++) + { + Pair sprite = outfitPreview.Sprites[j]; + retVal[i][j] = new GUIImage(new RectTransform(sprite.First.SourceRect.Size.ToVector2() / dimensions, innerFrame.RectTransform, Anchor.Center) { RelativeOffset = sprite.Second / dimensions }, sprite.First, scaleToFit: true) + { + PressedColor = Color.White, + CanBeFocused = false + }; + } + } + + recalculateInnerFrame(); + } + + var textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.2f), parent.RectTransform, Anchor.BottomCenter), jobPrefab.Name, textAlignment: Alignment.Center) + { + TextColor = jobPrefab.UIColor, + CanBeFocused = false, + AutoScale = true + }; + textBlock.RectTransform.SizeChanged += () => { textBlock.TextScale = 1.0f; }; + + return retVal; + } + + private bool SwitchHead(GUIButton button, object obj) + { var info = GameMain.Client.CharacterInfo; - info.Gender = gender; - info.SetRandomHead(); - info.LoadHeadAttachments(); + Gender gender = ((Tuple)obj).Item1; + Race race = ((Tuple)obj).Item2; + int id = ((Tuple)obj).Item3; + + if (gender != info.Gender || race != info.Race || id != info.HeadSpriteId) + { + info.Head = new CharacterInfo.HeadInfo(id, gender, race); + info.ReloadHeadAttachments(); + } + StoreHead(); + + UpdateJobPreferences(JobList); + + SelectAppearanceTab(button, obj); + + return true; + } + + private bool SwitchHair(GUIScrollBar scrollBar, float barScroll) => SwitchAttachment(scrollBar, WearableType.Hair); + private bool SwitchBeard(GUIScrollBar scrollBar, float barScroll) => SwitchAttachment(scrollBar, WearableType.Beard); + private bool SwitchMoustache(GUIScrollBar scrollBar, float barScroll) => SwitchAttachment(scrollBar, WearableType.Moustache); + private bool SwitchFaceAttachment(GUIScrollBar scrollBar, float barScroll) => SwitchAttachment(scrollBar, WearableType.FaceAttachment); + private bool SwitchAttachment(GUIScrollBar scrollBar, WearableType type) + { + var info = GameMain.Client.CharacterInfo; + int index = (int)scrollBar.BarScrollValue; + switch (type) + { + case WearableType.Beard: + info.Head = new CharacterInfo.HeadInfo(info.HeadSpriteId, info.Gender, info.Race, info.HairIndex, index, info.MoustacheIndex, info.FaceAttachmentIndex); + break; + case WearableType.FaceAttachment: + info.Head = new CharacterInfo.HeadInfo(info.HeadSpriteId, info.Gender, info.Race, info.HairIndex, info.BeardIndex, info.MoustacheIndex, index); + break; + case WearableType.Hair: + info.Head = new CharacterInfo.HeadInfo(info.HeadSpriteId, info.Gender, info.Race, index, info.BeardIndex, info.MoustacheIndex, info.FaceAttachmentIndex); + break; + case WearableType.Moustache: + info.Head = new CharacterInfo.HeadInfo(info.HeadSpriteId, info.Gender, info.Race, info.HairIndex, info.BeardIndex, index, info.FaceAttachmentIndex); + break; + default: + DebugConsole.ThrowError($"Wearable type not implemented: {type.ToString()}"); + return false; + } + info.ReloadHeadAttachments(); StoreHead(); - GameMain.Config.SaveNewPlayerConfig(); return true; } @@ -1890,42 +2780,29 @@ namespace Barotrauma ToggleCampaignMode(false); } - if (modeList.SelectedIndex != modeIndex) { modeList.Select(modeIndex, true); } - - missionTypeContainer.Visible = SelectedMode != null && SelectedMode.Identifier == "mission"; + if ((HighlightedModeIndex == selectedModeIndex || HighlightedModeIndex<0) && modeList.SelectedIndex != modeIndex) { modeList.Select(modeIndex, true); } + selectedModeIndex = modeIndex; + + MissionTypeFrame.Visible = SelectedMode != null && SelectedMode.Identifier == "mission" && HighlightedModeIndex == SelectedModeIndex; + CampaignSetupFrame.Visible = false; } - private bool SelectMode(GUIComponent component, object obj) + public void HighlightMode(int modeIndex) { - if (GameMain.NetworkMember == null || obj == modeList.SelectedData) return false; - - GameModePreset modePreset = obj as GameModePreset; - if (modePreset == null) return false; - - missionTypeContainer.Visible = modePreset.Identifier == "mission"; - if (modePreset.Identifier == "multiplayercampaign") - { - //campaign selected and the campaign view has not been set up yet - // -> don't select the mode yet and start campaign setup - /*if (GameMain.Server != null && !campaignContainer.Visible) - { - campaignSetupUI = MultiPlayerCampaign.StartCampaignSetup(); - return false; - }*/ - } - else - { - ToggleCampaignMode(false); - } + if (modeIndex < 0 || modeIndex >= modeList.Content.CountChildren) { return; } - //lastUpdateID++; - return true; + HighlightedModeIndex = modeIndex; + MissionTypeFrame.Visible = SelectedMode != null && SelectedMode.Identifier == "mission" && HighlightedModeIndex == SelectedModeIndex; + CampaignSetupFrame.Visible = SelectedMode != null && SelectedMode.Identifier == "multiplayercampaign"; } public void ToggleCampaignView(bool enabled) { campaignContainer.Visible = enabled; - defaultModeContainer.Visible = !enabled; + gameModeContainer.Visible = !enabled; + + campaignViewButton.Selected = enabled; + gameModeViewButton.Selected = !enabled; } public void ToggleCampaignMode(bool enabled) @@ -1940,10 +2817,10 @@ namespace Barotrauma } subList.Enabled = !enabled && AllowSubSelection; - shuttleList.Enabled = !enabled && AllowSubSelection; - StartButton.Visible = GameMain.Client.HasPermission(ClientPermissions.ManageRound) && !enabled; + shuttleList.Enabled = !enabled && GameMain.Client.HasPermission(ClientPermissions.SelectSub); + StartButton.Visible = GameMain.Client.HasPermission(ClientPermissions.ManageRound) && GameMain.Client.GameStarted && !enabled; - if (campaignViewButton != null) campaignViewButton.Visible = enabled; + if (campaignViewButton != null) { campaignViewButton.Visible = enabled; } if (enabled) { @@ -1959,16 +2836,14 @@ namespace Barotrauma CoroutineManager.StartCoroutine(WaitForStartRound(campaignUI.StartButton, allowCancel: true), "WaitForStartRound"); } }; - campaignUI.MapContainer.RectTransform.NonScaledSize = new Point(GameMain.GraphicsWidth, GameMain.GraphicsHeight); - var backButton = new GUIButton(new RectTransform(new Vector2(0.2f, 0.08f), campaignContainer.RectTransform, Anchor.TopCenter) { RelativeOffset = new Vector2(0.0f, 0.02f) }, - TextManager.Get("Back"), style: "GUIButtonLarge"); - backButton.OnClicked += (btn, obj) => { ToggleCampaignView(false); return true; }; - - var restartText = new GUITextBlock(new RectTransform(new Vector2(0.25f, 0.1f), campaignContainer.RectTransform, Anchor.BottomRight), "", font: GUI.SmallFont) + var campaignMenuContainer = new GUIFrame(new RectTransform(new Vector2(0.4f, 1.0f), campaignContainer.RectTransform, Anchor.TopRight), style: null) { - TextGetter = AutoRestartText + Color = Color.Black }; + CampaignUI.SetMenuPanelParent(campaignMenuContainer.RectTransform); + CampaignUI.SetMissionPanelParent(campaignMenuContainer.RectTransform); + GameMain.GameSession.Map.CenterOffset = new Vector2(-campaignContainer.Rect.Width / 5, 0); } modeList.Select(2, true); } @@ -1982,11 +2857,41 @@ namespace Barotrauma lastUpdateID++; }*/ } - + + public void TryDisplayCampaignSubmarine(Submarine submarine) + { + string name = submarine?.Name; + bool displayed = false; + subList.OnSelected -= VotableClicked; + subList.Deselect(); + subPreviewContainer.ClearChildren(); + foreach (GUIComponent child in subList.Content.Children) + { + Submarine sub = child.UserData as Submarine; + if (sub == null) { continue; } + //just check the name, even though the campaign sub may not be the exact same version + //we're selecting the sub just for show, the selection is not actually used for anything + if (sub.Name == name) + { + subList.Select(sub); + if (Submarine.SavedSubmarines.Contains(sub)) + { + sub.CreatePreviewWindow(subPreviewContainer); + displayed = true; + } + break; + } + } + subList.OnSelected += VotableClicked; + if (!displayed) + { + submarine.CreatePreviewWindow(subPreviewContainer); + } + } + private bool ViewJobInfo(GUIButton button, object obj) { - JobPrefab jobPrefab = button.UserData as JobPrefab; - if (jobPrefab == null) return false; + if (!(button.UserData is JobPrefab jobPrefab)) { return false; } jobInfoFrame = jobPrefab.CreateInfoFrame(); GUIButton closeButton = new GUIButton(new RectTransform(new Vector2(0.25f, 0.05f), jobInfoFrame.GetChild(2).GetChild(0).RectTransform, Anchor.BottomRight), @@ -2005,42 +2910,101 @@ namespace Barotrauma return true; } - private bool ChangeJobPreference(GUIButton button, object obj) - { - GUIComponent jobText = button.Parent.Parent; - - int index = jobList.Content.GetChildIndex(jobText); - int newIndex = index + (int)obj; - if (newIndex < 0 || newIndex > jobList.Content.CountChildren - 1) return false; - - jobText.RectTransform.RepositionChildInHierarchy(newIndex); - - UpdateJobPreferences(jobList); - - return true; - } - private void UpdateJobPreferences(GUIListBox listBox) { - listBox.Deselect(); - List jobNamePreferences = new List(); + foreach (Sprite sprite in jobPreferenceSprites) { sprite.Remove(); } + jobPreferenceSprites.Clear(); + List> jobNamePreferences = new List>(); + + bool disableNext = false; for (int i = 0; i < listBox.Content.CountChildren; i++) { - float a = (float)(i - 1) / 3.0f; - a = Math.Min(a, 3); - Color color = new Color(1.0f - a, (1.0f - a) * 0.6f, 0.0f, 0.3f); + GUIComponent slot = listBox.Content.GetChild(i); - GUIComponent child = listBox.Content.GetChild(i); + slot.OutlineColor = Color.White * 0.4f; + slot.Color = Color.Gray; + slot.HoverColor = Color.White; + slot.SelectedColor = Color.White; + + slot.ClearChildren(); - child.Color = color; - child.HoverColor = color; - child.SelectedColor = color; + slot.CanBeFocused = !disableNext; + if (slot.UserData is Pair jobPrefab) + { + var images = AddJobSpritesToGUIComponent(slot, jobPrefab.First); + for (int variantIndex = 0; variantIndex < images.Length; variantIndex++) + { + foreach (GUIImage image in images[variantIndex]) + { + jobPreferenceSprites.Add(image.Sprite); + int selectedVariantIndex = Math.Min(jobPrefab.Second, images.Length); + image.Visible = images.Length == 1 || selectedVariantIndex == (variantIndex + 1); + } + if (images.Length > 1) + { + var variantButton = new GUIButton(new RectTransform(new Vector2(0.15f), slot.RectTransform, scaleBasis: ScaleBasis.BothWidth) { RelativeOffset = new Vector2(0.05f, 0.25f + 0.2f * variantIndex) }, (variantIndex + 1).ToString(), style: null) + { + Color = new Color(50, 50, 50, 200), + HoverColor = Color.Gray * 0.75f, + PressedColor = Color.Black * 0.75f, + SelectedColor = new Color(45, 70, 100, 200), + Selected = jobPrefab.Second == (variantIndex + 1), + UserData = new Pair(jobPrefab.First, variantIndex + 1), + OnClicked = (btn, obj) => + { + int k = ((Pair)obj).Second; + btn.Parent.UserData = obj; + UpdateJobPreferences(listBox); + return false; + } + }; + } + } - (child.GetChild()).Text = (i + 1) + ". " + (child.UserData as JobPrefab).Name; + //info button + new GUIButton(new RectTransform(new Vector2(0.15f), slot.RectTransform, Anchor.TopLeft, scaleBasis: ScaleBasis.BothWidth) { RelativeOffset = new Vector2(0.05f) }, style: "GUIButtonInfo") + { + UserData = jobPrefab.First, + OnClicked = ViewJobInfo + }; - jobNamePreferences.Add((child.UserData as JobPrefab).Identifier); + //remove button + new GUIButton(new RectTransform(new Vector2(0.15f), slot.RectTransform, Anchor.TopRight, scaleBasis: ScaleBasis.BothWidth) { RelativeOffset = new Vector2(0.05f) }, style: "GUICancelButton") + { + UserData = i, + OnClicked = (btn, obj) => + { + JobList.Select((int)obj, true); + SwitchJob(btn, null); + if (JobSelectionFrame != null) { JobSelectionFrame.Visible = false; } + JobList.Deselect(); + + return false; + } + }; + + jobNamePreferences.Add(new Pair(jobPrefab.First.Identifier, jobPrefab.Second)); + } + else + { + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.6f), slot.RectTransform), (i + 1).ToString(), textColor: Color.White * (disableNext ? 0.15f : 0.5f), textAlignment: Alignment.Center, font: GUI.LargeFont) + { + CanBeFocused = false + }; + + if (!disableNext) + { + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.4f), slot.RectTransform, Anchor.BottomCenter), TextManager.Get("clicktoselectjob"), font: GUI.SmallFont, wrap: true, textAlignment: Alignment.Center) + { + CanBeFocused = false + }; + } + + disableNext = true; + } } + GameMain.Client.ForceNameAndJobUpdate(); if (!GameMain.Config.JobPreferences.SequenceEqual(jobNamePreferences)) { @@ -2067,9 +3031,17 @@ namespace Barotrauma .UserData as Submarine; //matching sub found and already selected, all good - if (sub != null && subList.SelectedData is Submarine selectedSub && selectedSub.MD5Hash?.Hash == md5Hash && System.IO.File.Exists(sub.FilePath)) + if (sub != null) { - return true; + if (subList == this.subList) + { + subPreviewContainer.ClearChildren(); + sub.CreatePreviewWindow(subPreviewContainer); + } + if (subList.SelectedData is Submarine selectedSub && selectedSub.MD5Hash?.Hash == md5Hash && System.IO.File.Exists(sub.FilePath)) + { + return true; + } } //sub not found, see if we have a sub with the same name diff --git a/Barotrauma/BarotraumaClient/Source/Screens/ParticleEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/ParticleEditorScreen.cs index 4248b1f50..330683144 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/ParticleEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/ParticleEditorScreen.cs @@ -300,7 +300,7 @@ namespace Barotrauma //------------------------------------------------------- - spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, null, GUI.SamplerState, null, GameMain.ScissorTestEnable); GUI.Draw(Cam, spriteBatch); diff --git a/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs index d6b23ad2e..a3ca7c6f5 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs @@ -6,12 +6,14 @@ using Microsoft.Xna.Framework.Graphics; using RestSharp; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Net; using System.Net.NetworkInformation; using System.Net.Sockets; using System.Text; using System.Threading; +using System.Xml.Linq; namespace Barotrauma { @@ -27,7 +29,89 @@ namespace Barotrauma private readonly GUIButton joinButton; - private readonly GUITextBox clientNameBox, ipBox; + private readonly GUITextBox clientNameBox; + private ServerInfo selectedServer; + + //friends list + private readonly GUILayoutGroup friendsButtonHolder; + + private GUIButton friendsDropdownButton; + private GUIListBox friendsDropdown; + + private class FriendInfo + { + public UInt64 SteamID; + public string Name; + public Sprite Sprite; + public string Status; + public bool PlayingThisGame; + public string ConnectName; + public string ConnectEndpoint; + public UInt64 ConnectLobby; + + public bool InServer + { + get + { + return PlayingThisGame && !string.IsNullOrWhiteSpace(Status) && (!string.IsNullOrWhiteSpace(ConnectEndpoint) || ConnectLobby != 0); + } + } + } + private List friendsList; + private GUIFrame friendPopup; + private double friendsListUpdateTime; + + //favorite servers/history + private const string recentServersFile = "Data/recentservers.xml"; + private const string favoriteServersFile = "Data/favoriteservers.xml"; + private List favoriteServers; + private List recentServers; + + private readonly HashSet activePings = new HashSet(); + + private enum ServerListTab + { + All = 0, + Favorites = 1, + Recent = 2 + }; + private ServerListTab selectedTab; + private ServerListTab SelectedTab + { + get { return selectedTab; } + set + { + if (selectedTab == value) { return; } + var tabVals = Enum.GetValues(typeof(ServerListTab)); + for (int i = 0; i < tabVals.Length; i++) + { + tabButtons[i].Selected = false; + } + tabButtons[(int)value].Selected = true; + selectedTab = value; + FilterServers(); + } + } + private GUIButton[] tabButtons; + + //server playstyle and tags + public Sprite[] PlayStyleBanners + { + get; private set; + } + public Color[] PlayStyleColors + { + get; private set; + } + + public Dictionary PlayStyleIcons + { + get; private set; + } + public Dictionary PlayStyleIconColors + { + get; private set; + } private bool masterServerResponded; private IRestResponse masterServerResponse; @@ -40,10 +124,19 @@ namespace Barotrauma //filters private readonly GUITextBox searchBox; + private readonly GUITickBox filterSameVersion; private readonly GUITickBox filterPassword; private readonly GUITickBox filterIncompatible; private readonly GUITickBox filterFull; private readonly GUITickBox filterEmpty; + private readonly GUITickBox filterWhitelisted; + private readonly GUITickBox filterFriendlyFire; + private readonly GUITickBox filterKarma; + private readonly GUITickBox filterTraitor; + private readonly GUITickBox filterModded; + private readonly GUITickBox filterVoip; + private readonly List playStyleTickBoxes; + private readonly List gameModeTickBoxes; private string sortedBy; @@ -53,6 +146,7 @@ namespace Barotrauma private DateTime refreshDisableTimer; private bool waitingForRefresh; + private const float sidebarWidth = 0.2f; public ServerListScreen() { GameMain.Instance.OnResolutionChanged += OnResolutionChanged; @@ -78,9 +172,9 @@ namespace Barotrauma AutoScale = true }; - var infoHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.33f), topRow.RectTransform), isHorizontal: true) { RelativeSpacing = 0.05f, Stretch = true }; + var infoHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.33f), topRow.RectTransform), isHorizontal: true) { RelativeSpacing = 0.05f, Stretch = false }; - var clientNameHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), infoHolder.RectTransform)) { RelativeSpacing = 0.05f }; + var clientNameHolder = new GUILayoutGroup(new RectTransform(new Vector2(sidebarWidth, 1.0f), infoHolder.RectTransform)) { RelativeSpacing = 0.05f }; new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), clientNameHolder.RectTransform), TextManager.Get("YourName")); clientNameBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.5f), clientNameHolder.RectTransform), "") @@ -94,21 +188,38 @@ namespace Barotrauma { clientNameBox.Text = SteamManager.GetUsername(); } - - var ipBoxHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), infoHolder.RectTransform)) { RelativeSpacing = 0.05f }; - - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), ipBoxHolder.RectTransform), TextManager.Get("ServerIP")); - ipBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.5f), ipBoxHolder.RectTransform), ""); - ipBox.OnTextChanged += (textBox, text) => { joinButton.Enabled = !string.IsNullOrEmpty(text); return true; }; - ipBox.OnSelected += (sender, key) => + clientNameBox.OnTextChanged += (textbox, text) => { - if (sender.UserData is ServerInfo) - { - sender.Text = ""; - sender.UserData = null; - } + GameMain.Config.PlayerName = text; + return true; }; + var tabButtonHolder = new GUIFrame(new RectTransform(new Vector2(1.0f - (sidebarWidth*2.0f), 1.25f), infoHolder.RectTransform), style: null); + + var tabVals = Enum.GetValues(typeof(ServerListTab)); + tabButtons = new GUIButton[tabVals.Length]; + int ind = 0; + foreach (ServerListTab tab in tabVals) + { + tabButtons[(int)tab] = new GUIButton(new RectTransform(new Vector2(0.25f, 0.5f), tabButtonHolder.RectTransform) + { + RelativeOffset = new Vector2(-0.06f + 0.22f * ind, 0.5f) + }, + TextManager.Get("ServerListTab."+tab.ToString()), style: "GUIButtonServerListTab"+(ind==0 ? "Left" : "Middle")) + { + OnClicked = (btn, usrdat) => + { + SelectedTab = tab; + return false; + } + }; + ind++; + } + + var friendsButtonFrame = new GUIFrame(new RectTransform(new Vector2(0.31f, 0.5f), tabButtonHolder.RectTransform) { RelativeOffset = new Vector2(0.60f, 0.5f) }, style: "GUIFrameServerListTabRight"); + friendsButtonHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.81f, 1.0f), friendsButtonFrame.RectTransform, Anchor.TopLeft) { RelativeOffset = new Vector2(0.19f, 0.0f) }, childAnchor: Anchor.TopLeft) { RelativeSpacing = 0.01f, IsHorizontal = true }; + friendsList = new List(); + //------------------------------------------------------------------------------------- // Bottom row //------------------------------------------------------------------------------------- @@ -121,45 +232,71 @@ namespace Barotrauma var serverListHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), bottomRow.RectTransform), isHorizontal: true) { - Stretch = true + OutlineColor = Color.Black }; + GUILayoutGroup serverListContainer = null; + GUIFrame filtersHolder = null; + GUIButton filterToggle = null; + + void RecalculateHolder() + { + float listContainerSubtract = filtersHolder.Visible ? sidebarWidth : 0.0f; + listContainerSubtract += serverPreview.Visible ? sidebarWidth : 0.0f; + + float toggleButtonsSubtract = 1.1f * filterToggle.Rect.Width / serverListHolder.Rect.Width; + listContainerSubtract += filterToggle.Visible ? toggleButtonsSubtract : 0.0f; + listContainerSubtract += serverPreviewToggleButton.Visible ? toggleButtonsSubtract : 0.0f; + + serverListContainer.RectTransform.RelativeSize = new Vector2(1.0f - listContainerSubtract, 1.0f); + serverListHolder.Recalculate(); + } + // filters ------------------------------------------- - var filters = new GUIFrame(new RectTransform(new Vector2(0.25f, 1.0f), serverListHolder.RectTransform, Anchor.Center), style: null) + filtersHolder = new GUIFrame(new RectTransform(new Vector2(sidebarWidth, 1.0f), serverListHolder.RectTransform, Anchor.Center), style: null) { Color = new Color(12, 14, 15, 255) * 0.5f, OutlineColor = Color.Black }; - var filterToggle = new GUIButton(new RectTransform(new Vector2(0.02f, 1.0f), serverListHolder.RectTransform, Anchor.CenterRight) { MinSize = new Point(20, 0) }, style: "UIToggleButton") + + var filters = new GUIListBox(new RectTransform(new Vector2(0.98f, 1.0f), filtersHolder.RectTransform, Anchor.CenterRight), style: null) + { + ScrollBarVisible = true + }; + + filterToggle = new GUIButton(new RectTransform(new Vector2(0.01f, 1.0f), serverListHolder.RectTransform, Anchor.CenterRight) { MinSize = new Point(20, 0) }, style: "UIToggleButton") { OnClicked = (btn, userdata) => { - filters.RectTransform.RelativeSize = new Vector2(0.25f, 1.0f); - filters.Visible = !filters.Visible; - filters.IgnoreLayoutGroups = !filters.Visible; - serverListHolder.Recalculate(); - btn.Children.ForEach(c => c.SpriteEffects = !filters.Visible ? SpriteEffects.None : SpriteEffects.FlipHorizontally); + filtersHolder.RectTransform.RelativeSize = new Vector2(sidebarWidth, 1.0f); + filtersHolder.Visible = !filtersHolder.Visible; + filtersHolder.IgnoreLayoutGroups = !filtersHolder.Visible; + + RecalculateHolder(); + + btn.Children.ForEach(c => c.SpriteEffects = !filtersHolder.Visible ? SpriteEffects.None : SpriteEffects.FlipHorizontally); return true; } }; filterToggle.Children.ForEach(c => c.SpriteEffects = SpriteEffects.FlipHorizontally); - var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.99f), filters.RectTransform, Anchor.Center)) + /*var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.99f), filters.Content.RectTransform, Anchor.Center)) { Stretch = true, RelativeSpacing = 0.015f - }; + };*/ - var filterTitle = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), filterContainer.RectTransform), TextManager.Get("FilterServers"), font: GUI.LargeFont) + var filterTitle = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), filters.Content.RectTransform), TextManager.Get("FilterServers"), font: GUI.LargeFont) { Padding = Vector4.Zero, - AutoScale = true + AutoScale = true, + CanBeFocused = false }; float elementHeight = 0.05f; - var searchHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, elementHeight), filterContainer.RectTransform), isHorizontal: true) { Stretch = true }; + var searchHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), isHorizontal: true) { Stretch = true }; var searchTitle = new GUITextBlock(new RectTransform(new Vector2(0.001f, 1.0f), searchHolder.RectTransform), TextManager.Get("Search") + "..."); searchBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 1.0f), searchHolder.RectTransform), ""); @@ -167,49 +304,149 @@ namespace Barotrauma searchBox.OnDeselected += (sender, userdata) => { searchTitle.Visible = true; }; searchBox.OnTextChanged += (txtBox, txt) => { FilterServers(); return true; }; - var filterHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), filterContainer.RectTransform)) { RelativeSpacing = 0.005f }; + //var filterHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), filters.Content.RectTransform)) { RelativeSpacing = 0.005f }; List filterTextList = new List(); - filterPassword = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filterHolder.RectTransform), TextManager.Get("FilterPassword")) + + filterSameVersion = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("FilterSameVersion")) + { + ToolTip = TextManager.Get("FilterSameVersion"), + Selected = true, + OnSelected = (tickBox) => { FilterServers(); return true; } + }; + filterTextList.Add(filterSameVersion.TextBlock); + + filterPassword = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("FilterPassword")) { ToolTip = TextManager.Get("FilterPassword"), OnSelected = (tickBox) => { FilterServers(); return true; } }; filterTextList.Add(filterPassword.TextBlock); - filterIncompatible = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filterHolder.RectTransform), TextManager.Get("FilterIncompatibleServers")) + + filterIncompatible = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("FilterIncompatibleServers")) { ToolTip = TextManager.Get("FilterIncompatibleServers"), OnSelected = (tickBox) => { FilterServers(); return true; } }; filterTextList.Add(filterIncompatible.TextBlock); - filterFull = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filterHolder.RectTransform), TextManager.Get("FilterFullServers")) + + filterFull = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("FilterFullServers")) { ToolTip = TextManager.Get("FilterFullServers"), OnSelected = (tickBox) => { FilterServers(); return true; } }; filterTextList.Add(filterFull.TextBlock); - filterEmpty = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filterHolder.RectTransform), TextManager.Get("FilterEmptyServers")) + + filterEmpty = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("FilterEmptyServers")) { ToolTip = TextManager.Get("FilterEmptyServers"), OnSelected = (tickBox) => { FilterServers(); return true; } }; filterTextList.Add(filterEmpty.TextBlock); - filterContainer.RectTransform.SizeChanged += () => + filterWhitelisted = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("FilterWhitelistedServers")) { - filterContainer.RectTransform.RecalculateChildren(true, true); + ToolTip = TextManager.Get("FilterWhitelistedServers"), + OnSelected = (tickBox) => { FilterServers(); return true; } + }; + filterTextList.Add(filterWhitelisted.TextBlock); + + // Filter Tags + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), filters.Content.RectTransform), TextManager.Get("servertags")) + { + CanBeFocused = false + }; + + filterKarma = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("servertag.karma.true")) + { + ToolTip = TextManager.Get("servertag.karma.true"), + OnSelected = (tickBox) => { FilterServers(); return true; } + }; + filterTextList.Add(filterKarma.TextBlock); + + filterTraitor = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("servertag.traitors.true")) + { + ToolTip = TextManager.Get("servertag.traitors.true"), + OnSelected = (tickBox) => { FilterServers(); return true; } + }; + filterTextList.Add(filterTraitor.TextBlock); + + filterFriendlyFire = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("servertag.friendlyfire.false")) + { + ToolTip = TextManager.Get("servertag.friendlyfire.false"), + OnSelected = (tickBox) => { FilterServers(); return true; } + }; + filterTextList.Add(filterFriendlyFire.TextBlock); + + filterVoip = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("servertag.voip.true")) + { + ToolTip = TextManager.Get("servertag.voip.true"), + OnSelected = (tickBox) => { FilterServers(); return true; } + }; + filterTextList.Add(filterVoip.TextBlock); + + + filterModded = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("servertag.modded.true")) + { + ToolTip = TextManager.Get("servertag.modded.true"), + OnSelected = (tickBox) => { FilterServers(); return true; } + }; + filterTextList.Add(filterModded.TextBlock); + + // Play Style Selection + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), filters.Content.RectTransform), TextManager.Get("ServerSettingsPlayStyle")) + { + CanBeFocused = false + }; + + playStyleTickBoxes = new List(); + foreach (PlayStyle playStyle in Enum.GetValues(typeof(PlayStyle))) + { + var selectionTick = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), TextManager.Get("servertag." + playStyle)) + { + ToolTip = TextManager.Get("servertag." + playStyle), + Selected = true, + OnSelected = (tickBox) => { FilterServers(); return true; }, + UserData = playStyle + }; + playStyleTickBoxes.Add(selectionTick); + filterTextList.Add(selectionTick.TextBlock); + } + + // Game mode Selection + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), filters.Content.RectTransform), TextManager.Get("gamemode")) { CanBeFocused = false }; + + gameModeTickBoxes = new List(); + foreach (GameModePreset mode in GameModePreset.List) + { + if (mode.IsSinglePlayer) continue; + + var selectionTick = new GUITickBox(new RectTransform(new Vector2(1.0f, elementHeight), filters.Content.RectTransform), mode.Name) + { + ToolTip = mode.Name, + Selected = true, + OnSelected = (tickBox) => { FilterServers(); return true; }, + UserData = mode.Name + }; + gameModeTickBoxes.Add(selectionTick); + filterTextList.Add(selectionTick.TextBlock); + } + + filters.Content.RectTransform.SizeChanged += () => + { + filters.Content.RectTransform.RecalculateChildren(true, true); filterTextList.ForEach(t => t.Text = t.ToolTip); GUITextBlock.AutoScaleAndNormalize(filterTextList); if (filterTextList[0].TextScale < 0.8f) { filterTextList.ForEach(t => t.TextScale = 1.0f); - filterTextList.ForEach(t => t.Text = ToolBox.LimitString(t.Text, t.Font, (int)(filterContainer.Rect.Width * 0.8f))); + filterTextList.ForEach(t => t.Text = ToolBox.LimitString(t.Text, t.Font, (int)(filters.Content.Rect.Width * 0.8f))); } }; // server list --------------------------------------------------------------------- - var serverListContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), serverListHolder.RectTransform)) { Stretch = true }; + serverListContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), serverListHolder.RectTransform)) { Stretch = true }; labelHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.99f, 0.05f), serverListContainer.RectTransform) { MinSize = new Point(0, 15) }, isHorizontal: true) @@ -257,16 +494,15 @@ namespace Barotrauma if (obj is ServerInfo serverInfo) { joinButton.Enabled = true; - ipBox.UserData = serverInfo; - ipBox.Text = serverInfo.ServerName; + selectedServer = serverInfo; if (!serverPreview.Visible) { - serverPreview.RectTransform.RelativeSize = new Vector2(0.3f, 1.0f); + serverPreview.RectTransform.RelativeSize = new Vector2(sidebarWidth, 1.0f); serverPreviewToggleButton.Visible = true; serverPreviewToggleButton.IgnoreLayoutGroups = false; serverPreview.Visible = true; serverPreview.IgnoreLayoutGroups = false; - serverListHolder.Recalculate(); + RecalculateHolder(); } serverInfo.CreatePreviewWindow(serverPreview); btn.Children.ForEach(c => c.SpriteEffects = serverPreview.Visible ? SpriteEffects.None : SpriteEffects.FlipHorizontally); @@ -277,21 +513,23 @@ namespace Barotrauma //server preview panel -------------------------------------------------- - serverPreviewToggleButton = new GUIButton(new RectTransform(new Vector2(0.02f, 1.0f), serverListHolder.RectTransform, Anchor.CenterRight) { MinSize = new Point(20, 0) }, style: "UIToggleButton") + serverPreviewToggleButton = new GUIButton(new RectTransform(new Vector2(0.01f, 1.0f), serverListHolder.RectTransform, Anchor.CenterRight) { MinSize = new Point(20, 0) }, style: "UIToggleButton") { Visible = false, OnClicked = (btn, userdata) => { - serverPreview.RectTransform.RelativeSize = new Vector2(0.25f, 1.0f); + serverPreview.RectTransform.RelativeSize = new Vector2(0.2f, 1.0f); serverPreview.Visible = !serverPreview.Visible; serverPreview.IgnoreLayoutGroups = !serverPreview.Visible; - serverListHolder.Recalculate(); + + RecalculateHolder(); + btn.Children.ForEach(c => c.SpriteEffects = serverPreview.Visible ? SpriteEffects.None : SpriteEffects.FlipHorizontally); return true; } }; - serverPreview = new GUIFrame(new RectTransform(new Vector2(0.3f, 1.0f), serverListHolder.RectTransform, Anchor.Center), style: null) + serverPreview = new GUIFrame(new RectTransform(new Vector2(sidebarWidth, 1.0f), serverListHolder.RectTransform, Anchor.Center), style: null) { Color = new Color(12, 14, 15, 255) * 0.5f, OutlineColor = Color.Black, @@ -320,31 +558,32 @@ namespace Barotrauma OnClicked = (btn, userdata) => { RefreshServers(); return true; } }; - /*var directJoinButton = new GUIButton(new RectTransform(new Vector2(0.25f, 0.9f), buttonContainer.RectTransform), + var directJoinButton = new GUIButton(new RectTransform(new Vector2(0.25f, 0.9f), buttonContainer.RectTransform), TextManager.Get("serverlistdirectjoin"), style: "GUIButtonLarge") { OnClicked = (btn, userdata) => { ShowDirectJoinPrompt(); return true; } - };*/ + }; joinButton = new GUIButton(new RectTransform(new Vector2(0.25f, 0.9f), buttonContainer.RectTransform), TextManager.Get("ServerListJoin"), style: "GUIButtonLarge") { OnClicked = (btn, userdata) => { - if (ipBox.UserData is ServerInfo selectedServer) + if (selectedServer != null) { - if (selectedServer.LobbyID == 0) + if (!string.IsNullOrWhiteSpace(selectedServer.IP) && !string.IsNullOrWhiteSpace(selectedServer.Port) && int.TryParse(selectedServer.Port, out _)) { JoinServer(selectedServer.IP + ":" + selectedServer.Port, selectedServer.ServerName); } - else + else if (selectedServer.LobbyID != 0) { Steam.SteamManager.JoinLobby(selectedServer.LobbyID, true); } - } - else if (!string.IsNullOrEmpty(ipBox.Text)) - { - JoinServer(ipBox.Text, ""); + else + { + //TODO: error message here? + return false; + } } return true; }, @@ -367,10 +606,188 @@ namespace Barotrauma { labelText.Text = ToolBox.LimitString(labelText.ToolTip, labelText.Font, labelText.Rect.Width); } + RecalculateHolder(); }; button.SelectedColor = button.Color; refreshDisableTimer = DateTime.Now; + + //playstyle banners + PlayStyleBanners = new Sprite[Enum.GetValues(typeof(PlayStyle)).Length]; + PlayStyleColors = new Color[Enum.GetValues(typeof(PlayStyle)).Length]; + PlayStyleIcons = new Dictionary(); + PlayStyleIconColors = new Dictionary(); + + XDocument playStylesDoc = XMLExtensions.TryLoadXml("Content/UI/Server/PlayStyles.xml"); + + XElement rootElement = playStylesDoc.Root; + foreach (var element in rootElement.Elements()) + { + switch (element.Name.ToString().ToLowerInvariant()) + { + case "playstylebanner": + if (Enum.TryParse(element.GetAttributeString("identifier", ""), out PlayStyle playStyle)) + { + PlayStyleBanners[(int)playStyle] = new Sprite(element, lazyLoad: true); + PlayStyleColors[(int)playStyle] = element.GetAttributeColor("color", Color.White); + } + break; + case "playstyleicon": + string identifier = element.GetAttributeString("identifier", ""); + if (string.IsNullOrEmpty(identifier)) { continue; } + PlayStyleIcons[identifier] = new Sprite(element, lazyLoad: true); + PlayStyleIconColors[identifier] = element.GetAttributeColor("color", Color.White); + break; + } + } + + //recent and favorite servers + ReadServerMemFromFile(recentServersFile, ref recentServers); + ReadServerMemFromFile(favoriteServersFile, ref favoriteServers); + recentServers.ForEach(s => s.Recent = true); + favoriteServers.ForEach(s => s.Favorite = true); + + SelectedTab = ServerListTab.All; + tabButtons[(int)selectedTab].Selected = true; + + RecalculateHolder(); + } + + private void ReadServerMemFromFile(string file, ref List servers) + { + if (servers == null) { servers = new List(); } + + if (!File.Exists(file)) { return; } + + XDocument doc = XMLExtensions.TryLoadXml(file); + if (doc == null) { return; } + + foreach (XElement element in doc.Root.Elements()) + { + if (element.Name != "ServerInfo") { continue; } + servers.Add(ServerInfo.FromXElement(element)); + } + } + + private void WriteServerMemToFile(string file, List servers) + { + if (servers == null) { return; } + + XDocument doc = new XDocument(); + XElement rootElement = new XElement("servers"); + doc.Add(rootElement); + + foreach (ServerInfo info in servers) + { + rootElement.Add(info.ToXElement()); + } + + doc.Save(file); + } + + public ServerInfo UpdateServerInfoWithServerSettings(object endpoint, ServerSettings serverSettings) + { + UInt64 steamId = 0; + string ip = ""; string port = ""; + if (endpoint is UInt64 id) { steamId = id; } + else if (endpoint is string strEndpoint) + { + string[] address = strEndpoint.Split(':'); + if (address.Length == 1) + { + ip = strEndpoint; + port = NetConfig.DefaultPort.ToString(); + } + else + { + ip = string.Join(":", address.Take(address.Length - 1)); + port = address[address.Length - 1]; + } + } + + bool isInfoNew = false; + ServerInfo info = serverList.Content.FindChild(d => (d.UserData is ServerInfo serverInfo) && serverInfo != null && + (steamId != 0 ? steamId == serverInfo.OwnerID : (ip == serverInfo.IP && port == serverInfo.Port)))?.UserData as ServerInfo; + if (info == null) + { + isInfoNew = true; + info = new ServerInfo(); + } + + info.ServerName = serverSettings.ServerName; + info.ServerMessage = serverSettings.ServerMessageText; + info.OwnerID = steamId; + info.LobbyID = SteamManager.LobbyID; + info.IP = ip; + info.Port = port; + info.GameMode = GameMain.NetLobbyScreen.SelectedMode?.Identifier ?? ""; + info.GameStarted = Screen.Selected != GameMain.NetLobbyScreen; + info.GameVersion = GameMain.Version.ToString(); + info.MaxPlayers = serverSettings.MaxPlayers; + info.PlayStyle = PlayStyle.SomethingDifferent; + info.RespondedToSteamQuery = true; + info.UsingWhiteList = serverSettings.Whitelist.Enabled; + info.TraitorsEnabled = serverSettings.TraitorsEnabled; + info.SubSelectionMode = serverSettings.SubSelectionMode; + info.ModeSelectionMode = serverSettings.ModeSelectionMode; + info.VoipEnabled = serverSettings.VoiceChatEnabled; + info.FriendlyFireEnabled = serverSettings.AllowFriendlyFire; + info.KarmaEnabled = serverSettings.KarmaEnabled; + info.PlayerCount = GameMain.Client.ConnectedClients.Count; + info.PingChecked = false; + info.HasPassword = serverSettings.HasPassword; + + if (isInfoNew) + { + AddToServerList(info); + } + + return info; + } + + public void AddToRecentServers(ServerInfo info) + { + info.Recent = true; + ServerInfo existingInfo = recentServers.Find(serverInfo => info.OwnerID == serverInfo.OwnerID && (info.OwnerID != 0 ? true : (info.IP == serverInfo.IP && info.Port == serverInfo.Port))); + if (existingInfo == null) + { + recentServers.Add(info); + } + else + { + int index = recentServers.IndexOf(existingInfo); + recentServers[index] = info; + } + + WriteServerMemToFile(recentServersFile, recentServers); + } + + public void AddToFavoriteServers(ServerInfo info) + { + info.Favorite = true; + ServerInfo existingInfo = favoriteServers.Find(serverInfo => info.OwnerID == serverInfo.OwnerID && (info.OwnerID != 0 ? true : (info.IP == serverInfo.IP && info.Port == serverInfo.Port))); + if (existingInfo == null) + { + favoriteServers.Add(info); + } + else + { + int index = favoriteServers.IndexOf(existingInfo); + favoriteServers[index] = info; + } + + WriteServerMemToFile(favoriteServersFile, favoriteServers); + } + + public void RemoveFromFavoriteServers(ServerInfo info) + { + info.Favorite = false; + ServerInfo existingInfo = favoriteServers.Find(serverInfo => info.OwnerID == serverInfo.OwnerID && (info.OwnerID != 0 ? true : (info.IP == serverInfo.IP && info.Port == serverInfo.Port))); + if (existingInfo != null) + { + favoriteServers.Remove(existingInfo); + WriteServerMemToFile(favoriteServersFile, favoriteServers); + } } private void OnResolutionChanged() @@ -479,6 +896,7 @@ namespace Barotrauma public override void Select() { base.Select(); + SelectedTab = ServerListTab.All; RefreshServers(); } @@ -491,6 +909,24 @@ namespace Barotrauma } } + public override void Update(double deltaTime) + { + base.Update(deltaTime); + + UpdateFriendsList(); + + if (PlayerInput.LeftButtonClicked()) + { + friendPopup = null; + if (friendsDropdown != null && friendsDropdownButton != null && + !friendsDropdown.Rect.Contains(PlayerInput.MousePosition) && + !friendsDropdownButton.Rect.Contains(PlayerInput.MousePosition)) + { + friendsDropdown.Visible = false; + } + } + } + private void FilterServers() { serverList.Content.RemoveChild(serverList.Content.FindChild("noresults")); @@ -512,10 +948,42 @@ namespace Barotrauma child.Visible = serverInfo.ServerName.ToLowerInvariant().Contains(searchBox.Text.ToLowerInvariant()) && + (!filterSameVersion.Selected || (remoteVersion != null && NetworkMember.IsCompatible(remoteVersion, GameMain.Version))) && (!filterPassword.Selected || !serverInfo.HasPassword) && (!filterIncompatible.Selected || !incompatible) && (!filterFull.Selected || serverInfo.PlayerCount < serverInfo.MaxPlayers) && - (!filterEmpty.Selected || serverInfo.PlayerCount > 0); + (!filterEmpty.Selected || serverInfo.PlayerCount > 0) && + (!filterWhitelisted.Selected || serverInfo.UsingWhiteList == true) && + (!filterKarma.Selected || serverInfo.KarmaEnabled == true) && + (!filterFriendlyFire.Selected || serverInfo.FriendlyFireEnabled == false) && + (!filterTraitor.Selected || serverInfo.TraitorsEnabled == YesNoMaybe.Yes || serverInfo.TraitorsEnabled == YesNoMaybe.Maybe) && + (!filterVoip.Selected || serverInfo.VoipEnabled == true) && + (!filterModded.Selected || serverInfo.GetPlayStyleTags().Any(t => t.Contains("modded.true"))) && + ((selectedTab == ServerListTab.All && (serverInfo.LobbyID != 0 || !string.IsNullOrWhiteSpace(serverInfo.Port))) || + (selectedTab == ServerListTab.Recent && serverInfo.Recent) || + (selectedTab == ServerListTab.Favorites && serverInfo.Favorite)) && + (remoteVersion != null && remoteVersion <= GameMain.Version); + + foreach (GUITickBox tickBox in playStyleTickBoxes) + { + var playStyle = (PlayStyle)tickBox.UserData; + + if (!tickBox.Selected && serverInfo.PlayStyle == playStyle) + { + child.Visible = false; + break; + } + } + + foreach (GUITickBox tickBox in gameModeTickBoxes) + { + var gameMode = (string)tickBox.UserData; + if (!tickBox.Selected && (serverInfo.GameMode == gameMode.ToLowerInvariant() || serverInfo.GameMode == gameMode)) + { + child.Visible = false; + break; + } + } } if (serverList.Content.Children.All(c => !c.Visible)) @@ -530,26 +998,26 @@ namespace Barotrauma serverList.UpdateScrollBarSize(); } - /*private void ShowDirectJoinPrompt() + private void ShowDirectJoinPrompt() { - var msgBox = new GUIMessageBox(TextManager.Get("ServerListDirectJoin"), "", new string[] { TextManager.Get("OK"), TextManager.Get("Cancel") }, + var msgBox = new GUIMessageBox(TextManager.Get("ServerListDirectJoin"), "", new string[] { TextManager.Get("ServerListJoin"), TextManager.Get("Cancel") }, relativeSize: new Vector2(0.25f, 0.2f), minSize: new Point(400, 150)); - var content = new GUILayoutGroup(new RectTransform(new Vector2(0.8f, 0.3f), msgBox.InnerFrame.RectTransform, Anchor.Center) { MinSize = new Point(0, 50) }) + var content = new GUILayoutGroup(new RectTransform(new Vector2(0.8f, 0.5f), msgBox.InnerFrame.RectTransform, Anchor.Center) { MinSize = new Point(0, 50) }) { IgnoreLayoutGroups = true, Stretch = true, RelativeSpacing = 0.05f }; - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.5f), content.RectTransform), TextManager.Get("ServerIP")); - var ipBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.5f), content.RectTransform)); + new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.33f), content.RectTransform), TextManager.Get("ServerEndpoint")); + var endpointBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.33f), content.RectTransform)); var okButton = msgBox.Buttons[0]; okButton.Enabled = false; okButton.OnClicked = (btn, userdata) => { - JoinServer(ipBox.Text, ""); + JoinServer(endpointBox.Text, ""); msgBox.Close(); return true; }; @@ -557,28 +1025,376 @@ namespace Barotrauma var cancelButton = msgBox.Buttons[1]; cancelButton.OnClicked = msgBox.Close; - ipBox.OnTextChanged += (textBox, text) => + endpointBox.OnTextChanged += (textBox, text) => { okButton.Enabled = !string.IsNullOrEmpty(text); return true; }; - }*/ + + var spacingLayoutGroup = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.33f), content.RectTransform), true); + + new GUIFrame(new RectTransform(new Vector2(0.5f, 1.0f), spacingLayoutGroup.RectTransform), null); + + var addToFavoritesButton = new GUIButton(new RectTransform(new Vector2(0.5f, 1.0f), spacingLayoutGroup.RectTransform), TextManager.Get("AddToFavorites")); + addToFavoritesButton.OnClicked = (button, userdata) => + { + UInt64 steamId = SteamManager.SteamIDStringToUInt64(endpointBox.Text); + string ip = ""; int port = 0; + if (steamId == 0) + { + string hostIP = endpointBox.Text; + + string[] address = hostIP.Split(':'); + if (address.Length == 1) + { + ip = hostIP; + port = NetConfig.DefaultPort; + } + else + { + ip = string.Join(":", address.Take(address.Length - 1)); + if (!int.TryParse(address[address.Length - 1], out port)) + { + DebugConsole.ThrowError("Invalid port: " + address[address.Length - 1] + "!"); + port = NetConfig.DefaultPort; + } + } + } + + //TODO: add a better way to get the query port, right now we're just assuming that it'll always be the default + ServerInfo serverInfo = new ServerInfo() + { + ServerName = "Server", + OwnerID = steamId, + IP = ip, + Port = port.ToString(), + QueryPort = NetConfig.DefaultQueryPort.ToString(), + GameVersion = GameMain.Version.ToString(), + PlayStyle = PlayStyle.Serious + }; + + var serverFrame = serverList.Content.FindChild(d => (d.UserData is ServerInfo info) && + info.OwnerID == serverInfo.OwnerID && + (serverInfo.OwnerID != 0 ? true : (info.IP == serverInfo.IP && info.Port == serverInfo.Port))); + + if (serverFrame != null) + { + serverInfo = serverFrame.UserData as ServerInfo; + } + else + { + AddToServerList(serverInfo); + } + + AddToFavoriteServers(serverInfo); + + SelectedTab = ServerListTab.Favorites; + FilterServers(); + + serverInfo.QueryLiveInfo(UpdateServerInfo); + + msgBox.Close(); + return false; + }; + } + + private bool JoinFriend(GUIButton button, object userdata) + { + FriendInfo info = userdata as FriendInfo; + + if (info.InServer) + { + if (info.ConnectLobby != 0) + { + GameMain.Instance.ConnectLobby = info.ConnectLobby; + GameMain.Instance.ConnectEndpoint = null; + GameMain.Instance.ConnectName = null; + } + else + { + GameMain.Instance.ConnectLobby = 0; + GameMain.Instance.ConnectEndpoint = info.ConnectEndpoint; + GameMain.Instance.ConnectName = info.ConnectName; + } + } + return false; + } + + private bool OpenFriendPopup(GUIButton button, object userdata) + { + FriendInfo info = userdata as FriendInfo; + + if (info.InServer) + { + friendPopup = new GUIFrame(new RectTransform(Vector2.One, GUI.Canvas)); + var serverNameText = new GUITextBlock(new RectTransform(new Vector2(0.7f, 1.0f), friendPopup.RectTransform), info.ConnectName ?? "[Unnamed]"); + var joinButton = new GUIButton(new RectTransform(new Vector2(0.3f, 1.0f), friendPopup.RectTransform, Anchor.TopRight), TextManager.Get("ServerListJoin")) + { + UserData = info + }; + joinButton.OnClicked = JoinFriend; + + Vector2 frameDims = joinButton.Font.MeasureString(info.ConnectName ?? "[Unnamed]"); + frameDims.X /= 0.6f; + frameDims.Y *= 1.5f; + friendPopup.RectTransform.NonScaledSize = frameDims.ToPoint(); + friendPopup.RectTransform.RelativeOffset = Vector2.Zero; + friendPopup.RectTransform.AbsoluteOffset = PlayerInput.MousePosition.ToPoint(); + friendPopup.RectTransform.RecalculateChildren(true); + friendPopup.RectTransform.SetPosition(Anchor.TopLeft); + } + + return false; + } + + private void UpdateFriendsList() + { + if (!SteamManager.IsInitialized) { return; } + + if (friendsListUpdateTime > Timing.TotalTime) { return; } + friendsListUpdateTime = Timing.TotalTime + 5.0; + + float prevDropdownScroll = friendsDropdown?.ScrollBar.BarScrollValue ?? 0.0f; + + if (friendsDropdown == null) { + friendsDropdown = new GUIListBox(new RectTransform(Vector2.One, GUI.Canvas)) + { + OutlineColor = Color.Black, + Visible = false + }; + } + friendsDropdown.ClearChildren(); + + Facepunch.Steamworks.Friends.AvatarSize avatarSize = Facepunch.Steamworks.Friends.AvatarSize.Large; + if (friendsButtonHolder.RectTransform.Rect.Height <= 24) + { + avatarSize = Facepunch.Steamworks.Friends.AvatarSize.Small; + } + else if (friendsButtonHolder.RectTransform.Rect.Height <= 48) + { + avatarSize = Facepunch.Steamworks.Friends.AvatarSize.Medium; + } + + SteamManager.Instance.Friends.Refresh(); + + for (int i = friendsList.Count - 1; i >= 0; i--) + { + var friend = friendsList[i]; + if (!SteamManager.Instance.Friends.AllFriends.Any(g => g.Id == friend.SteamID && g.IsOnline)) + { + friend.Sprite?.Remove(); + friendsList.RemoveAt(i); + } + } + + foreach (var friend in SteamManager.Instance.Friends.AllFriends) + { + if (!friend.IsOnline) { continue; } + + FriendInfo info = friendsList.Find(f => f.SteamID == friend.Id); + if (info == null) + { + info = new FriendInfo() + { + SteamID = friend.Id + }; + friendsList.Insert(0, info); + } + + if (info.Sprite == null) + { + var avatarImage = friend.GetAvatar(avatarSize); + if (avatarImage != null) + { + const int desaturatedWeight = 180; + + byte[] avatarData = (byte[])avatarImage.Data.Clone(); + for (int i=0;i 255 ? (byte)255 : (byte)chn0; + avatarData[i + 1] = chn1 > 255 ? (byte)255 : (byte)chn1; + avatarData[i + 2] = chn2 > 255 ? (byte)255 : (byte)chn2; + avatarData[i + 3] = chn3 > 255 ? (byte)255 : (byte)chn3; + } + //TODO: create an avatar atlas? + var avatarTexture = new Texture2D(GameMain.Instance.GraphicsDevice, avatarImage.Width, avatarImage.Height); + avatarTexture.SetData(avatarData); + + info.Sprite = new Sprite(avatarTexture, null, null); + } + } + + info.Name = friend.Name; + + info.ConnectName = null; + info.ConnectEndpoint = null; + info.ConnectLobby = 0; + + info.PlayingThisGame = friend.IsPlayingThisGame; + + if (friend.IsPlayingThisGame) + { + info.Status = friend.GetRichPresence("status") ?? ""; + string connectCommand = friend.GetRichPresence("connect") ?? ""; + + ToolBox.ParseConnectCommand(connectCommand.Split(' '), out info.ConnectName, out info.ConnectEndpoint, out info.ConnectLobby); + } + else + { + info.Status = TextManager.Get(friend.IsPlaying ? "FriendPlayingAnotherGame" : "FriendNotPlaying"); + } + } + + friendsList.Sort((a, b) => + { + if (a.InServer && !b.InServer) { return -1; } + if (b.InServer && !a.InServer) { return 1; } + if (a.PlayingThisGame && !b.PlayingThisGame) { return -1; } + if (b.PlayingThisGame && !a.PlayingThisGame) { return 1; } + return 0; + }); + + friendsButtonHolder.ClearChildren(); + + if (friendsList.Count > 0) + { + friendsDropdownButton = new GUIButton(new RectTransform(Vector2.One, friendsButtonHolder.RectTransform, Anchor.BottomRight, Pivot.BottomRight, scaleBasis: ScaleBasis.BothHeight), "\u2022 \u2022 \u2022", style: "GUIButtonFriendsDropdown") + { + Font = GUI.ObjectiveNameFont, + OnClicked = (button, udt) => + { + friendsDropdown.RectTransform.NonScaledSize = new Point(friendsButtonHolder.Rect.Height * 5 * 166 / 100, friendsButtonHolder.Rect.Height * 4 * 166 / 100); + friendsDropdown.RectTransform.RelativeOffset = new Vector2(0.295f, 0.235f); + friendsDropdown.RectTransform.RecalculateChildren(true); + friendsDropdown.RectTransform.SetPosition(Anchor.TopRight); + + friendsDropdown.Visible = !friendsDropdown.Visible; + return false; + } + }; + } + else + { + friendsDropdownButton = null; + friendsDropdown.Visible = false; + } + + int buttonCount = 0; + + for (int i = 0; i < friendsList.Count; i++) + { + var friend = friendsList[i]; + buttonCount++; + + if (buttonCount <= 5) + { + string style = "GUIButtonFriendNotPlaying"; + if (friend.InServer) + { + style = "GUIButtonFriendPlaying"; + } + else + { + style = friend.PlayingThisGame ? "GUIButtonFriendPlaying" : "GUIButtonFriendNotPlaying"; + } + + var guiButton = new GUIButton(new RectTransform(Vector2.One, friendsButtonHolder.RectTransform, scaleBasis: ScaleBasis.BothHeight), style: style) + { + UserData = friend, + OnClicked = OpenFriendPopup + }; + guiButton.ToolTip = friend.Name + "\n" + friend.Status; + + if (friend.Sprite != null) + { + Color BrightenColor(Color color) + { + Vector3 hls = ToolBox.RgbToHLS(color); + hls.Y = hls.Y * 0.3f + 0.7f; + hls.Z = hls.Z * 0.6f + 0.4f; + + return ToolBox.HLSToRGB(hls); + } + + var imgColor = BrightenColor(guiButton.Color); + var imgHoverColor = BrightenColor(guiButton.HoverColor); + var imgSelectColor = BrightenColor(guiButton.SelectedColor); + var imgPressColor = BrightenColor(guiButton.PressedColor); + var guiImage = new GUIImage(new RectTransform(Vector2.One * 0.925f, guiButton.RectTransform, Anchor.Center) { RelativeOffset = new Vector2(0.025f, 0.025f) }, friend.Sprite, null, true) + { + Color = imgColor, + HoverColor = imgHoverColor, + SelectedColor = imgSelectColor, + PressedColor = imgPressColor, + CanBeFocused = false + }; + guiImage = new GUIImage(new RectTransform(Vector2.One * 0.925f, guiButton.RectTransform, Anchor.Center) { RelativeOffset = new Vector2(0.025f, 0.025f) }, friend.Sprite, null, true) + { + Color = Color.White * 0.8f, + HoverColor = Color.White * 0.8f, + SelectedColor = Color.White * 0.8f, + PressedColor = Color.White * 0.8f, + BlendState = BlendState.Additive, + CanBeFocused = false + }; + } + } + + var friendFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.167f), friendsDropdown.Content.RectTransform), style: "GUIFrameFriendsDropdown"); + var guiImage2TheSequel = new GUIImage(new RectTransform(Vector2.One * 0.9f, friendFrame.RectTransform, Anchor.CenterLeft, scaleBasis: ScaleBasis.BothHeight) { RelativeOffset = new Vector2(0.02f, 0.02f) } , friend.Sprite, null, true); + + var textBlock = new GUITextBlock(new RectTransform(Vector2.One * 0.8f, friendFrame.RectTransform, Anchor.CenterLeft, scaleBasis: ScaleBasis.BothHeight) { RelativeOffset = new Vector2(1.0f / 7.7f, 0.0f) }, friend.Name + "\n" + friend.Status) + { + Font = GUI.SmallFont + }; + + if (friend.InServer) + { + var joinButton = new GUIButton(new RectTransform(new Vector2(0.25f, 0.6f), friendFrame.RectTransform, Anchor.CenterRight) { RelativeOffset = new Vector2(0.05f, 0.0f) }, TextManager.Get("ServerListJoin"), style: "GUIButtonJoinFriend") + { + UserData = friend + }; + joinButton.OnClicked = JoinFriend; + } + } + + friendsDropdown.RectTransform.NonScaledSize = new Point(friendsButtonHolder.Rect.Height * 5 * 166 / 100, friendsButtonHolder.Rect.Height * 4 * 166 / 100); + friendsDropdown.RectTransform.RelativeOffset = new Vector2(0.295f, 0.235f); + friendsDropdown.RectTransform.RecalculateChildren(true); + friendsDropdown.RectTransform.SetPosition(Anchor.TopRight); + + friendsDropdown.ScrollBar.BarScrollValue = prevDropdownScroll; + } private void RefreshServers() { if (waitingForRefresh) { return; } + + friendsListUpdateTime = Timing.TotalTime - 1.0; + UpdateFriendsList(); + serverList.ClearChildren(); serverPreview.ClearChildren(); joinButton.Enabled = false; - ipBox.UserData = null; - ipBox.Text = ""; + selectedServer = null; new GUITextBlock(new RectTransform(new Vector2(1.0f, 1.0f), serverList.Content.RectTransform), TextManager.Get("RefreshingServerList"), textAlignment: Alignment.Center) { CanBeFocused = false }; - + CoroutineManager.StartCoroutine(WaitForRefresh()); } @@ -602,6 +1418,15 @@ namespace Barotrauma CanBeFocused = false }; } + else + { + List knownServers = recentServers.Concat(favoriteServers).ToList(); + foreach (ServerInfo info in knownServers) + { + AddToServerList(info); + info.QueryLiveInfo(UpdateServerInfo); + } + } } else { @@ -689,7 +1514,10 @@ namespace Barotrauma private void AddToServerList(ServerInfo serverInfo) { var serverFrame = serverList.Content.FindChild(d => (d.UserData is ServerInfo info) && - (info.LobbyID==serverInfo.LobbyID && info.IP==serverInfo.IP && info.Port==serverInfo.Port)); + (info.LobbyID == serverInfo.LobbyID || + (info.LobbyID == 0 && info.OwnerID == serverInfo.OwnerID && + serverInfo.OwnerVerified)) && + (serverInfo.OwnerID != 0 ? true : (info.IP == serverInfo.IP && info.Port == serverInfo.Port))); if (serverFrame == null) { @@ -704,8 +1532,33 @@ namespace Barotrauma //RelativeSpacing = 0.02f }; } + else + { + int index = recentServers.IndexOf(serverFrame.UserData as ServerInfo); + if (index >= 0) + { + recentServers[index] = serverInfo; + serverInfo.Recent = true; + } + index = favoriteServers.IndexOf(serverFrame.UserData as ServerInfo); + if (index >= 0) + { + favoriteServers[index] = serverInfo; + serverInfo.Favorite = true; + } + } serverFrame.UserData = serverInfo; - + + if (serverInfo.OwnerVerified) + { + DebugConsole.NewMessage(serverInfo.OwnerID + " verified!"); + var childrenToRemove = serverList.Content.FindChildren(c => (c.UserData is ServerInfo info) && info != serverInfo && info.OwnerID == serverInfo.OwnerID).ToList(); + foreach (var child in childrenToRemove) + { + serverList.Content.RemoveChild(child); + } + } + UpdateServerInfo(serverInfo); SortList(sortedBy, toggle: false); @@ -714,7 +1567,11 @@ namespace Barotrauma private void UpdateServerInfo(ServerInfo serverInfo) { - var serverFrame = serverList.Content.FindChild(serverInfo); + var serverFrame = serverList.Content.FindChild(d => (d.UserData is ServerInfo info) && + (info.LobbyID == serverInfo.LobbyID || + (info.LobbyID == 0 && info.OwnerID == serverInfo.OwnerID && + serverInfo.OwnerVerified)) && + (serverInfo.OwnerID != 0 ? true : (info.IP == serverInfo.IP && info.Port == serverInfo.Port))); if (serverFrame == null) return; var serverContent = serverFrame.Children.First() as GUILayoutGroup; @@ -816,6 +1673,12 @@ namespace Barotrauma } serverContent.Recalculate(); + + if (serverInfo.Favorite) + { + AddToFavoriteServers(serverInfo); + } + SortList(sortedBy, toggle: false); FilterServers(); } @@ -919,7 +1782,7 @@ namespace Barotrauma masterServerResponded = true; } - private bool JoinServer(string ip, string serverName) + private bool JoinServer(string endpoint, string serverName) { if (string.IsNullOrWhiteSpace(clientNameBox.Text)) { @@ -930,7 +1793,7 @@ namespace Barotrauma GameMain.Config.PlayerName = clientNameBox.Text; GameMain.Config.SaveNewPlayerConfig(); - CoroutineManager.StartCoroutine(ConnectToServer(ip, serverName)); + CoroutineManager.StartCoroutine(ConnectToServer(endpoint, serverName)); return true; } @@ -945,7 +1808,7 @@ namespace Barotrauma try { #endif - GameMain.Client = new GameClient(clientNameBox.Text, serverIP, serverSteamID, serverName); + GameMain.Client = new GameClient(GameMain.Config.PlayerName, serverIP, serverSteamID, serverName); #if !DEBUG } catch (Exception e) @@ -959,6 +1822,9 @@ namespace Barotrauma public void GetServerPing(ServerInfo serverInfo, GUITextBlock serverPingText) { + if (activePings.Contains(serverInfo.IP)) { return; } + activePings.Add(serverInfo.IP); + serverInfo.PingChecked = false; serverInfo.Ping = -1; @@ -983,6 +1849,7 @@ namespace Barotrauma serverPingText.TextColor = GetPingTextColor(serverInfo.Ping); } serverPingText.Text = serverInfo.Ping > -1 ? serverInfo.Ping.ToString() : "?"; + activePings.Remove(serverInfo.IP); yield return CoroutineStatus.Success; } @@ -1055,7 +1922,7 @@ namespace Barotrauma GameMain.TitleScreen.DrawLoadingText = false; GameMain.MainMenuScreen.DrawBackground(graphics, spriteBatch); - spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, null, GUI.SamplerState, null, GameMain.ScissorTestEnable); GUI.Draw(Cam, spriteBatch); @@ -1065,6 +1932,10 @@ namespace Barotrauma public override void AddToGUIUpdateList() { menu.AddToGUIUpdateList(); + + friendPopup?.AddToGUIUpdateList(); + + friendsDropdown?.AddToGUIUpdateList(); } } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/SpriteEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/SpriteEditorScreen.cs index 8cbafe767..0049c791f 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/SpriteEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/SpriteEditorScreen.cs @@ -332,7 +332,7 @@ namespace Barotrauma string spriteFolder = ""; string textureElement = element.GetAttributeString("texture", ""); // TODO: parse and create? - if (textureElement.Contains("[GENDER]") || textureElement.Contains("[HEADID]") || textureElement.Contains("[RACE]")) { return; } + if (textureElement.Contains("[GENDER]") || textureElement.Contains("[HEADID]") || textureElement.Contains("[RACE]") || textureElement.Contains("[VARIANT]")) { return; } if (!textureElement.Contains("/")) { var parsedPath = element.ParseContentPathFromUri(); @@ -428,42 +428,23 @@ namespace Barotrauma viewAreaOffset += moveSpeed.ToPoint(); } } - if (PlayerInput.KeyHit(Keys.Left)) + if (GUI.KeyboardDispatcher.Subscriber == null) { - foreach (var sprite in selectedSprites) + Point moveAmount = Point.Zero; + if (PlayerInput.KeyHit(Keys.Left)) { moveAmount.X--; } + if (PlayerInput.KeyHit(Keys.Right)) { moveAmount.X++; } + if (PlayerInput.KeyHit(Keys.Up)) { moveAmount.Y--; } + if (PlayerInput.KeyHit(Keys.Down)) { moveAmount.Y++; } + if (moveAmount != Point.Zero) { - var newRect = sprite.SourceRect; - newRect.X--; - UpdateSourceRect(sprite, newRect); + foreach (var sprite in selectedSprites) + { + var newRect = sprite.SourceRect; + newRect.Location += moveAmount; + UpdateSourceRect(sprite, newRect); + } } - } - if (PlayerInput.KeyHit(Keys.Right)) - { - foreach (var sprite in selectedSprites) - { - var newRect = sprite.SourceRect; - newRect.X++; - UpdateSourceRect(sprite, newRect); - } - } - if (PlayerInput.KeyHit(Keys.Down)) - { - foreach (var sprite in selectedSprites) - { - var newRect = sprite.SourceRect; - newRect.Y++; - UpdateSourceRect(sprite, newRect); - } - } - if (PlayerInput.KeyHit(Keys.Up)) - { - foreach (var sprite in selectedSprites) - { - var newRect = sprite.SourceRect; - newRect.Y--; - UpdateSourceRect(sprite, newRect); - } - } + } } public override void Draw(double deltaTime, GraphicsDevice graphics, SpriteBatch spriteBatch) diff --git a/Barotrauma/BarotraumaClient/Source/Screens/SteamWorkshopScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/SteamWorkshopScreen.cs index f095bc0c9..2e108884e 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/SteamWorkshopScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/SteamWorkshopScreen.cs @@ -1492,7 +1492,7 @@ namespace Barotrauma else { string errorMsg = item.ErrorCode.HasValue ? - TextManager.Get("WorkshopPublishError." + item.ErrorCode.Value.ToString(), returnNull: true) : + TextManager.GetWithVariable("WorkshopPublishError." + item.ErrorCode.Value.ToString(), "[savepath]", SaveUtil.SaveFolder, returnNull: true) : null; if (errorMsg == null) @@ -1520,7 +1520,7 @@ namespace Barotrauma GameMain.MainMenuScreen.DrawBackground(graphics, spriteBatch); - spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, GameMain.ScissorTestEnable); + spriteBatch.Begin(SpriteSortMode.Deferred, null, GUI.SamplerState, null, GameMain.ScissorTestEnable); GUI.Draw(Cam, spriteBatch); spriteBatch.End(); } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs index 941cbf389..c33ff80a0 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs @@ -87,6 +87,13 @@ namespace Barotrauma return (Submarine.MainSub == null) ? "" : Submarine.MainSub.Name; } + public string GetSubDescription() + { + string localizedDescription = TextManager.Get("submarine.description." + GetSubName(), true); + if (localizedDescription != null) return localizedDescription; + return (Submarine.MainSub == null) ? "" : Submarine.MainSub.Description; + } + private string GetItemCount() { return TextManager.AddPunctuation(':', TextManager.Get("Items"), Item.ItemList.Count.ToString()); @@ -1048,8 +1055,10 @@ namespace Barotrauma submarineDescriptionCharacterCount = new GUITextBlock(new RectTransform(new Vector2(.5f, 1f), descriptionHeaderGroup.RectTransform), string.Empty, textAlignment: Alignment.TopRight); var descriptionContainer = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.25f), leftColumn.RectTransform)); - descriptionBox = new GUITextBox(new RectTransform(Vector2.One, descriptionContainer.Content.RectTransform, Anchor.Center), font: GUI.SmallFont, wrap: true, textAlignment: Alignment.TopLeft); - descriptionBox.Padding = new Vector4(10 * GUI.Scale); + descriptionBox = new GUITextBox(new RectTransform(Vector2.One, descriptionContainer.Content.RectTransform, Anchor.Center), font: GUI.SmallFont, wrap: true, textAlignment: Alignment.TopLeft) + { + Padding = new Vector4(10 * GUI.Scale) + }; descriptionBox.OnTextChanged += (textBox, text) => { @@ -1068,6 +1077,8 @@ namespace Barotrauma return true; }; + descriptionBox.Text = GetSubDescription(); + var crewSizeArea = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.03f), leftColumn.RectTransform), isHorizontal: true) { AbsoluteSpacing = 5 }; new GUITextBlock(new RectTransform(new Vector2(0.6f, 1.0f), crewSizeArea.RectTransform), @@ -2478,7 +2489,7 @@ namespace Barotrauma //-------------------- HUD ----------------------------- - spriteBatch.Begin(SpriteSortMode.Deferred); + spriteBatch.Begin(SpriteSortMode.Deferred, samplerState: GUI.SamplerState); if (Submarine.MainSub != null) { diff --git a/Barotrauma/BarotraumaClient/Source/Serialization/SerializableEntityEditor.cs b/Barotrauma/BarotraumaClient/Source/Serialization/SerializableEntityEditor.cs index 398d852a4..8ff377982 100644 --- a/Barotrauma/BarotraumaClient/Source/Serialization/SerializableEntityEditor.cs +++ b/Barotrauma/BarotraumaClient/Source/Serialization/SerializableEntityEditor.cs @@ -808,16 +808,19 @@ namespace Barotrauma AbsoluteOffset = new Point(label.Rect.Width, 0) }, color: Color.Black, style: null); var colorBox = new GUIFrame(new RectTransform(new Vector2(0.9f, 0.9f), colorBoxBack.RectTransform, Anchor.Center), style: null); - var inputArea = new GUILayoutGroup(new RectTransform(new Vector2(0.7f, 1), frame.RectTransform, Anchor.TopRight), isHorizontal: true, childAnchor: Anchor.CenterRight) + var inputArea = new GUILayoutGroup(new RectTransform(new Vector2(Math.Max((frame.Rect.Width - label.Rect.Width - colorBoxBack.Rect.Width) / (float)frame.Rect.Width, 0.5f), 1), frame.RectTransform, Anchor.TopRight), isHorizontal: true, childAnchor: Anchor.CenterRight) { Stretch = true, - RelativeSpacing = 0.01f + RelativeSpacing = 0.001f }; var fields = new GUIComponent[4]; for (int i = 3; i >= 0; i--) { - var element = new GUIFrame(new RectTransform(new Vector2(0.2f, 1), inputArea.RectTransform) { MinSize = new Point(40, 0), MaxSize = new Point(100, 50) }, style: null); - new GUITextBlock(new RectTransform(new Vector2(0.3f, 1), element.RectTransform, Anchor.CenterLeft), GUI.colorComponentLabels[i], font: GUI.SmallFont, textAlignment: Alignment.CenterLeft); + var element = new GUILayoutGroup(new RectTransform(new Vector2(0.2f, 1), inputArea.RectTransform), isHorizontal: true) + { + Stretch = true + }; + new GUITextBlock(new RectTransform(new Vector2(0.2f, 1), element.RectTransform, Anchor.CenterLeft) { MinSize = new Point(15, 0) }, GUI.colorComponentLabels[i], font: GUI.SmallFont, textAlignment: Alignment.Center); GUINumberInput numberInput = new GUINumberInput(new RectTransform(new Vector2(0.7f, 1), element.RectTransform, Anchor.CenterRight), GUINumberInput.NumberType.Int) { diff --git a/Barotrauma/BarotraumaClient/Source/Sounds/SoundChannel.cs b/Barotrauma/BarotraumaClient/Source/Sounds/SoundChannel.cs index ab9bc1a0c..8b9cc129b 100644 --- a/Barotrauma/BarotraumaClient/Source/Sounds/SoundChannel.cs +++ b/Barotrauma/BarotraumaClient/Source/Sounds/SoundChannel.cs @@ -83,6 +83,8 @@ namespace Barotrauma.Sounds private const int STREAM_BUFFER_SIZE = 8820; private short[] streamShortBuffer; + private string debugName = "SoundChannel"; + private Vector3? position; public Vector3? Position { @@ -91,7 +93,7 @@ namespace Barotrauma.Sounds { position = value; - if (ALSourceIndex < 0) return; + if (ALSourceIndex < 0) { return; } if (position != null) { @@ -100,14 +102,14 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to enable source's relative flag: " + Al.GetErrorString(alError)); + throw new Exception("Failed to enable source's relative flag: " + debugName + ", " + Al.GetErrorString(alError)); } Al.Source3f(alSource, Al.Position, position.Value.X, position.Value.Y, position.Value.Z); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to set source's position: " + Al.GetErrorString(alError)); + throw new Exception("Failed to set source's position: " + debugName + ", " + Al.GetErrorString(alError)); } } else @@ -117,14 +119,14 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to disable source's relative flag: " + Al.GetErrorString(alError)); + throw new Exception("Failed to disable source's relative flag: " + debugName + ", " + Al.GetErrorString(alError)); } Al.Source3f(alSource, Al.Position, 0.0f, 0.0f, 0.0f); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to reset source's position: " + Al.GetErrorString(alError)); + throw new Exception("Failed to reset source's position: " + debugName + ", " + Al.GetErrorString(alError)); } } } @@ -138,7 +140,7 @@ namespace Barotrauma.Sounds { near = value; - if (ALSourceIndex < 0) return; + if (ALSourceIndex < 0) { return; } uint alSource = Sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex); Al.Sourcef(alSource, Al.ReferenceDistance, near); @@ -146,7 +148,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to set source's reference distance: " + Al.GetErrorString(alError)); + throw new Exception("Failed to set source's reference distance: " + debugName + ", " + Al.GetErrorString(alError)); } } } @@ -159,14 +161,14 @@ namespace Barotrauma.Sounds { far = value; - if (ALSourceIndex < 0) return; + if (ALSourceIndex < 0) { return; } uint alSource = Sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex); Al.Sourcef(alSource, Al.MaxDistance, far); int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to set source's max distance: " + Al.GetErrorString(alError)); + throw new Exception("Failed to set source's max distance: " + debugName + ", " + Al.GetErrorString(alError)); } } } @@ -179,7 +181,7 @@ namespace Barotrauma.Sounds { gain = Math.Max(Math.Min(value, 1.0f), 0.0f); - if (ALSourceIndex < 0) return; + if (ALSourceIndex < 0) { return; } uint alSource = Sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex); @@ -190,7 +192,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to set source's gain: " + Al.GetErrorString(alError)); + throw new Exception("Failed to set source's gain: " + debugName + ", " + Al.GetErrorString(alError)); } } } @@ -203,7 +205,7 @@ namespace Barotrauma.Sounds { looping = value; - if (ALSourceIndex < 0) return; + if (ALSourceIndex < 0) { return; } if (!IsStream) { @@ -212,7 +214,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to set source's looping state: " + Al.GetErrorString(alError)); + throw new Exception("Failed to set source's looping state: " + debugName + ", " + Al.GetErrorString(alError)); } } } @@ -232,11 +234,11 @@ namespace Barotrauma.Sounds get { return muffled; } set { - if (muffled == value) return; + if (muffled == value) { return; } muffled = value; - if (ALSourceIndex < 0) return; + if (ALSourceIndex < 0) { return; } if (!IsPlaying) return; @@ -247,7 +249,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to get source's playback position: " + Al.GetErrorString(alError)); + throw new Exception("Failed to get source's playback position: " + debugName + ", " + Al.GetErrorString(alError)); } Al.SourceStop(alSource); @@ -255,7 +257,7 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to stop source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to stop source: " + debugName + ", " + Al.GetErrorString(alError)); } Al.Sourcei(alSource, Al.Buffer, muffled ? (int)Sound.ALMuffledBuffer : (int)Sound.ALBuffer); @@ -263,21 +265,21 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to bind buffer to source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to bind buffer to source: " + debugName + ", " + Al.GetErrorString(alError)); } Al.SourcePlay(alSource); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to replay source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to replay source: " + debugName + ", " + Al.GetErrorString(alError)); } Al.Sourcei(alSource, Al.SampleOffset, playbackPos); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to reset playback position: " + Al.GetErrorString(alError)); + throw new Exception("Failed to reset playback position: " + debugName + ", " + Al.GetErrorString(alError)); } } } @@ -290,7 +292,7 @@ namespace Barotrauma.Sounds { if (!IsPlaying) { return 0.0f; } - uint alSource = Sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex); + uint alSource = Sound?.Owner?.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex) ?? 0; if (alSource == 0) { return 0.0f; } @@ -300,7 +302,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to get source's playback position: " + Al.GetErrorString(alError)); + throw new Exception("Failed to get source's playback position: " + debugName + ", " + Al.GetErrorString(alError)); } return Sound.GetAmplitudeAtPlaybackPos(playbackPos); } @@ -367,7 +369,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to determine playing state from source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to determine playing state from source: " + debugName + ", " + Al.GetErrorString(alError)); } return playing; } @@ -377,6 +379,10 @@ namespace Barotrauma.Sounds { Sound = sound; + debugName = sound == null ? + "SoundChannel (null)" : + $"SoundChannel ({(string.IsNullOrEmpty(sound.Filename) ? "filename empty" : sound.Filename) })"; + IsStream = sound.Stream; FilledByNetwork = sound is VoipSound; decayTimer = 0; @@ -405,7 +411,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to reset source buffer: " + Al.GetErrorString(alError)); + throw new Exception("Failed to reset source buffer: " + debugName + ", " + Al.GetErrorString(alError)); } if (!Al.IsBuffer(sound.ALBuffer)) @@ -418,14 +424,14 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to bind buffer to source (" + ALSourceIndex.ToString() + ":" + sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex) + "," + sound.ALBuffer.ToString() + "): " + Al.GetErrorString(alError)); + throw new Exception("Failed to bind buffer to source (" + ALSourceIndex.ToString() + ":" + sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex) + "," + sound.ALBuffer.ToString() + "): " + debugName + ", " + Al.GetErrorString(alError)); } Al.SourcePlay(sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex)); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to play source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to play source: " + debugName + ", " + Al.GetErrorString(alError)); } } else @@ -435,14 +441,14 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to reset source buffer: " + Al.GetErrorString(alError)); + throw new Exception("Failed to reset source buffer: " + debugName + ", " + Al.GetErrorString(alError)); } Al.Sourcei(sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex), Al.Looping, Al.False); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to set stream looping state: " + Al.GetErrorString(alError)); + throw new Exception("Failed to set stream looping state: " + debugName + ", " + Al.GetErrorString(alError)); } streamShortBuffer = new short[STREAM_BUFFER_SIZE]; @@ -457,12 +463,12 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to generate stream buffers: " + Al.GetErrorString(alError)); + throw new Exception("Failed to generate stream buffers: " + debugName + ", " + Al.GetErrorString(alError)); } if (!Al.IsBuffer(streamBuffers[i])) { - throw new Exception("Generated streamBuffer[" + i.ToString() + "] is invalid!"); + throw new Exception("Generated streamBuffer[" + i.ToString() + "] is invalid! " + debugName); } } Sound.Owner.InitStreamThread(); @@ -488,6 +494,11 @@ namespace Barotrauma.Sounds Sound.Owner.Update(); } + public override string ToString() + { + return debugName; + } + public bool FadingOutAndDisposing; public void FadeOutAndDispose() { @@ -505,7 +516,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to stop source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to stop source: " + debugName + ", " + Al.GetErrorString(alError)); } if (IsStream) @@ -516,7 +527,7 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to stop streamed source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to stop streamed source: " + debugName + ", " + Al.GetErrorString(alError)); } int buffersToRequeue = 0; @@ -526,21 +537,21 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to determine processed buffers from streamed source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to determine processed buffers from streamed source: " + debugName + ", " + Al.GetErrorString(alError)); } Al.SourceUnqueueBuffers(alSource, buffersToRequeue, unqueuedBuffers); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to unqueue buffers from streamed source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to unqueue buffers from streamed source: " + debugName + ", " + Al.GetErrorString(alError)); } Al.Sourcei(alSource, Al.Buffer, 0); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to reset buffer for streamed source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to reset buffer for streamed source: " + debugName + ", " + Al.GetErrorString(alError)); } for (int i = 0; i < 4; i++) @@ -549,7 +560,7 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to delete streamBuffers[" + i.ToString() + "] ("+streamBuffers[i].ToString()+"): " + Al.GetErrorString(alError)); + throw new Exception("Failed to delete streamBuffers[" + i.ToString() + "] (" + streamBuffers[i].ToString() + "): " + debugName + ", " + Al.GetErrorString(alError)); } } @@ -561,11 +572,12 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to unbind buffer to non-streamed source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to unbind buffer to non-streamed source: " + debugName + ", " + Al.GetErrorString(alError)); } } ALSourceIndex = -1; + debugName += " [DISPOSED]"; } } finally @@ -576,7 +588,7 @@ namespace Barotrauma.Sounds public void UpdateStream() { - if (!IsStream) throw new Exception("Called UpdateStream on a non-streamed sound channel!"); + if (!IsStream) { throw new Exception("Called UpdateStream on a non-streamed sound channel!"); } try { @@ -591,7 +603,7 @@ namespace Barotrauma.Sounds int alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to determine playing state from streamed source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to determine playing state from streamed source: " + debugName + ", " + Al.GetErrorString(alError)); } int unqueuedBufferCount; @@ -599,16 +611,16 @@ namespace Barotrauma.Sounds alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to determine processed buffers from streamed source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to determine processed buffers from streamed source: " + debugName + ", " + Al.GetErrorString(alError)); } Al.SourceUnqueueBuffers(alSource, unqueuedBufferCount, unqueuedBuffers); alError = Al.GetError(); if (alError != Al.NoError) { - throw new Exception("Failed to unqueue buffers from streamed source: " + Al.GetErrorString(alError)); + throw new Exception("Failed to unqueue buffers from streamed source: " + debugName + ", " + Al.GetErrorString(alError)); } - + buffersToRequeue += unqueuedBufferCount; int iterCount = buffersToRequeue; @@ -619,7 +631,7 @@ namespace Barotrauma.Sounds int readSamples = Sound.FillStreamBuffer(streamSeekPos, buffer); float readAmplitude = 0.0f; - for (int i=0;i loadedSounds; + private readonly List loadedSounds; private readonly SoundChannel[][] playingChannels = new SoundChannel[2][]; private Thread streamingThread; @@ -51,7 +51,7 @@ namespace Barotrauma.Sounds } } - private float[] listenerOrientation = new float[6]; + private readonly float[] listenerOrientation = new float[6]; public Vector3 ListenerTargetVector { get { return new Vector3(listenerOrientation[0], listenerOrientation[1], listenerOrientation[2]); } @@ -245,8 +245,6 @@ namespace Barotrauma.Sounds return; } - int alError = Al.NoError; - sourcePools = new SoundSourcePool[2]; sourcePools[(int)SourcePoolIndex.Default] = new SoundSourcePool(SOURCE_COUNT); playingChannels[(int)SourcePoolIndex.Default] = new SoundChannel[SOURCE_COUNT]; @@ -256,7 +254,7 @@ namespace Barotrauma.Sounds Al.DistanceModel(Al.LinearDistanceClamped); - alError = Al.GetError(); + int alError = Al.GetError(); if (alError != Al.NoError) { DebugConsole.ThrowError("Error setting distance model: " + Al.GetErrorString(alError) + ". Disabling audio playback..."); @@ -488,7 +486,7 @@ namespace Barotrauma.Sounds if (index < 0) { float accumulatedMultipliers = 1.0f; - for (int i=0;i targets, Hull hull) + partial void ApplyProjSpecific(float deltaTime, Entity entity, List targets, Hull hull, Vector2 worldPosition) { if (entity == null) { return; } @@ -70,7 +70,7 @@ namespace Barotrauma GameAnalyticsManager.AddErrorEventOnce("StatusEffect.ApplyProjSpecific:SoundNull1" + Environment.StackTrace, GameAnalyticsSDK.Net.EGAErrorSeverity.Error, errorMsg); return; } - soundChannel = SoundPlayer.PlaySound(sound.Sound, entity.WorldPosition, sound.Volume, sound.Range, hull); + soundChannel = SoundPlayer.PlaySound(sound.Sound, worldPosition, sound.Volume, sound.Range, hull); if (soundChannel != null) { soundChannel.Looping = loopSound; } } } @@ -96,7 +96,7 @@ namespace Barotrauma GameAnalyticsManager.AddErrorEventOnce("StatusEffect.ApplyProjSpecific:SoundNull2" + Environment.StackTrace, GameAnalyticsSDK.Net.EGAErrorSeverity.Error, errorMsg); return; } - soundChannel = SoundPlayer.PlaySound(selectedSound.Sound, entity.WorldPosition, selectedSound.Volume, selectedSound.Range, hull); + soundChannel = SoundPlayer.PlaySound(selectedSound.Sound, worldPosition, selectedSound.Volume, selectedSound.Range, hull); if (soundChannel != null) { soundChannel.Looping = loopSound; } } } @@ -120,7 +120,7 @@ namespace Barotrauma } } - emitter.Emit(deltaTime, entity.WorldPosition, hull, angle); + emitter.Emit(deltaTime, worldPosition, hull, angle); } } diff --git a/Barotrauma/BarotraumaClient/Source/Utils/TextureLoader.cs b/Barotrauma/BarotraumaClient/Source/Utils/TextureLoader.cs index 20dd90061..bb27f7672 100644 --- a/Barotrauma/BarotraumaClient/Source/Utils/TextureLoader.cs +++ b/Barotrauma/BarotraumaClient/Source/Utils/TextureLoader.cs @@ -57,13 +57,13 @@ namespace Barotrauma }); } - public static Texture2D FromFile(string path, bool preMultiplyAlpha = true) + public static Texture2D FromFile(string path, bool preMultiplyAlpha = true, bool mipmap=false) { try { using (Stream fileStream = File.OpenRead(path)) { - return FromStream(fileStream, preMultiplyAlpha, path); + return FromStream(fileStream, preMultiplyAlpha, path, mipmap); } } @@ -74,7 +74,7 @@ namespace Barotrauma } } - public static Texture2D FromStream(Stream fileStream, bool preMultiplyAlpha = true, string path=null) + public static Texture2D FromStream(Stream fileStream, bool preMultiplyAlpha = true, string path=null, bool mipmap=false) { try { @@ -88,7 +88,7 @@ namespace Barotrauma Texture2D tex = null; CrossThread.RequestExecutionOnMainThread(() => { - tex = new Texture2D(_graphicsDevice, width, height); + tex = new Texture2D(_graphicsDevice, width, height, mipmap, SurfaceFormat.Color); tex.SetData(textureData); }); return tex; diff --git a/Barotrauma/BarotraumaServer/Properties/AssemblyInfo.cs b/Barotrauma/BarotraumaServer/Properties/AssemblyInfo.cs index 862c08bd2..bd05b4084 100644 --- a/Barotrauma/BarotraumaServer/Properties/AssemblyInfo.cs +++ b/Barotrauma/BarotraumaServer/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.9.4.0")] -[assembly: AssemblyFileVersion("0.9.4.0")] +[assembly: AssemblyVersion("0.9.5.1")] +[assembly: AssemblyFileVersion("0.9.5.1")] diff --git a/Barotrauma/BarotraumaServer/Server.csproj b/Barotrauma/BarotraumaServer/Server.csproj index 98cdb5a19..c037a2411 100644 --- a/Barotrauma/BarotraumaServer/Server.csproj +++ b/Barotrauma/BarotraumaServer/Server.csproj @@ -232,6 +232,10 @@ + + + + @@ -310,11 +314,7 @@ - - - - - + diff --git a/Barotrauma/BarotraumaServer/Source/Characters/CharacterInfo.cs b/Barotrauma/BarotraumaServer/Source/Characters/CharacterInfo.cs index 467a4fe13..a9d2205c5 100644 --- a/Barotrauma/BarotraumaServer/Source/Characters/CharacterInfo.cs +++ b/Barotrauma/BarotraumaServer/Source/Characters/CharacterInfo.cs @@ -20,6 +20,7 @@ namespace Barotrauma if (Job != null) { msg.Write(Job.Prefab.Identifier); + msg.Write((byte)Job.Variant); msg.Write((byte)Job.Skills.Count); foreach (Skill skill in Job.Skills) { @@ -30,6 +31,7 @@ namespace Barotrauma else { msg.Write(""); + msg.Write((byte)0); } // TODO: animations } diff --git a/Barotrauma/BarotraumaServer/Source/Characters/CharacterNetworking.cs b/Barotrauma/BarotraumaServer/Source/Characters/CharacterNetworking.cs index 2dc77d5da..a01d48706 100644 --- a/Barotrauma/BarotraumaServer/Source/Characters/CharacterNetworking.cs +++ b/Barotrauma/BarotraumaServer/Source/Characters/CharacterNetworking.cs @@ -45,7 +45,7 @@ namespace Barotrauma { if (!(this is AICharacter) || IsRemotePlayer) { - if (!AllowInput) + if (!CanMove) { AnimController.Frozen = false; if (memInput.Count > 0) @@ -156,7 +156,7 @@ namespace Barotrauma UInt16 networkUpdateID = msg.ReadUInt16(); byte inputCount = msg.ReadByte(); - if (AllowInput) Enabled = true; + if (AllowInput) { Enabled = true; } for (int i = 0; i < inputCount; i++) { @@ -470,7 +470,11 @@ namespace Barotrauma msg.Write(Enabled); //character with no characterinfo (e.g. some monster) - if (Info == null) return; + if (Info == null) + { + WriteStatus(msg); + return; + } Client ownerClient = GameMain.Server.ConnectedClients.Find(c => c.Character == this); if (ownerClient != null) @@ -492,6 +496,7 @@ namespace Barotrauma msg.Write(this is AICharacter); msg.Write(info.SpeciesName); info.ServerWrite(msg); + WriteStatus(msg); DebugConsole.Log("Character spawn message length: " + (msg.LengthBytes - msgLength)); } diff --git a/Barotrauma/BarotraumaServer/Source/DebugConsole.cs b/Barotrauma/BarotraumaServer/Source/DebugConsole.cs index cb64ed2fb..1a58f9927 100644 --- a/Barotrauma/BarotraumaServer/Source/DebugConsole.cs +++ b/Barotrauma/BarotraumaServer/Source/DebugConsole.cs @@ -197,7 +197,20 @@ namespace Barotrauma } break; default: - if (key.KeyChar != 0) + if (key.Modifiers.HasFlag(ConsoleModifiers.Control)) + { + if (key.Key == ConsoleKey.Z) + { + activeQuestionCallback = null; + NewMessage("^Z"); + } + else if (key.Key == ConsoleKey.D) + { + activeQuestionCallback = null; + NewMessage("^D"); + } + } + else if (key.KeyChar != 0) { input += key.KeyChar; memoryIndex = -1; @@ -759,10 +772,12 @@ namespace Barotrauma { if (GameMain.Server == null || args.Length == 0) return; - ShowQuestionPrompt("Reason for banning the endpoint \"" + args[0] + "\"?", (reason) => + ShowQuestionPrompt("Reason for banning the endpoint \"" + args[0] + "\"? (c to cancel)", (reason) => { - ShowQuestionPrompt("Enter the duration of the ban (leave empty to ban permanently, or use the format \"[days] d [hours] h\")", (duration) => + if (reason == "c" || reason == "C") { return; } + ShowQuestionPrompt("Enter the duration of the ban (leave empty to ban permanently, or use the format \"[days] d [hours] h\") (c to cancel)", (duration) => { + if (duration == "c" || duration == "C") { return; } TimeSpan? banDuration = null; if (!string.IsNullOrWhiteSpace(duration)) { @@ -859,6 +874,11 @@ namespace Barotrauma client.SpectateOnly = false; }); + AssignOnExecute("starttraitormissionimmediately", (string[] args) => + { + GameMain.Server?.TraitorManager?.SkipStartDelay(); + }); + AssignOnExecute("difficulty|leveldifficulty", (string[] args) => { if (GameMain.Server == null || args.Length < 1) return; @@ -1140,14 +1160,7 @@ namespace Barotrauma commands.Add(new Command("mission", "mission [name]/[index]: Select the mission type for the next round. The parameter can either be the name or the index number of the mission type (0 = first mission type, 1 = second mission type, etc).", (string[] args) => { int index = -1; - if (int.TryParse(string.Join(" ", args), out index)) - { - GameMain.NetLobbyScreen.MissionTypeIndex = index; - } - else - { - GameMain.NetLobbyScreen.MissionTypeName = string.Join(" ", args); - } + GameMain.NetLobbyScreen.MissionTypeName = string.Join(" ", args); NewMessage("Set mission to " + GameMain.NetLobbyScreen.MissionTypeName, Color.Cyan); }, () => diff --git a/Barotrauma/BarotraumaServer/Source/GameMain.cs b/Barotrauma/BarotraumaServer/Source/GameMain.cs index bea654413..7f337c4ab 100644 --- a/Barotrauma/BarotraumaServer/Source/GameMain.cs +++ b/Barotrauma/BarotraumaServer/Source/GameMain.cs @@ -243,6 +243,18 @@ namespace Barotrauma maxPlayers, ownerKey, steamId); + + for (int i = 0; i < CommandLineArgs.Length; i++) + { + switch (CommandLineArgs[i].Trim()) + { + case "-playstyle": + Enum.TryParse(CommandLineArgs[i + 1], out PlayStyle playStyle); + Server.ServerSettings.PlayStyle = playStyle; + i++; + break; + } + } } public void CloseServer() diff --git a/Barotrauma/BarotraumaServer/Source/Items/Components/Machines/Steering.cs b/Barotrauma/BarotraumaServer/Source/Items/Components/Machines/Steering.cs index 28b81c2af..7ff0d9ea4 100644 --- a/Barotrauma/BarotraumaServer/Source/Items/Components/Machines/Steering.cs +++ b/Barotrauma/BarotraumaServer/Source/Items/Components/Machines/Steering.cs @@ -5,6 +5,7 @@ namespace Barotrauma.Items.Components { partial class Steering : Powered, IServerSerializable, IClientSerializable { + // TODO: an enumeration would be much cleaner public bool MaintainPos; public bool LevelStartSelected; public bool LevelEndSelected; diff --git a/Barotrauma/BarotraumaServer/Source/Map/Hull.cs b/Barotrauma/BarotraumaServer/Source/Map/Hull.cs index dd3b8de39..6300da769 100644 --- a/Barotrauma/BarotraumaServer/Source/Map/Hull.cs +++ b/Barotrauma/BarotraumaServer/Source/Map/Hull.cs @@ -29,14 +29,15 @@ namespace Barotrauma return; } + sendUpdateTimer -= deltaTime; //update client hulls if the amount of water has changed by >10% //or if oxygen percentage has changed by 5% if (Math.Abs(lastSentVolume - waterVolume) > Volume * 0.1f || Math.Abs(lastSentOxygen - OxygenPercentage) > 5f || lastSentFireCount != FireSources.Count || - FireSources.Count > 0) + FireSources.Count > 0 || + sendUpdateTimer < -NetConfig.SparseHullUpdateInterval) { - sendUpdateTimer -= deltaTime; if (sendUpdateTimer < 0.0f) { GameMain.NetworkMember.CreateEntityEvent(this); diff --git a/Barotrauma/BarotraumaServer/Source/Networking/BanList.cs b/Barotrauma/BarotraumaServer/Source/Networking/BanList.cs index 2e089edc2..929274fe0 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/BanList.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/BanList.cs @@ -52,7 +52,7 @@ namespace Barotrauma.Networking public bool CompareTo(IPAddress ipCompare) { if (string.IsNullOrEmpty(IP) || ipCompare == null) { return false; } - if (ipCompare.IsIPv4MappedToIPv6 && CompareTo(ipCompare.MapToIPv4().ToString())) + if (ipCompare.IsIPv4MappedToIPv6 && CompareTo(ipCompare.MapToIPv4NoThrow().ToString())) { return true; } @@ -138,7 +138,7 @@ namespace Barotrauma.Networking public void BanPlayer(string name, IPAddress ip, string reason, TimeSpan? duration) { - string ipStr = ip.IsIPv4MappedToIPv6 ? ip.MapToIPv4().ToString() : ip.ToString(); + string ipStr = ip.IsIPv4MappedToIPv6 ? ip.MapToIPv4NoThrow().ToString() : ip.ToString(); BanPlayer(name, ipStr, 0, reason, duration); } diff --git a/Barotrauma/BarotraumaServer/Source/Networking/Client.cs b/Barotrauma/BarotraumaServer/Source/Networking/Client.cs index ee4663238..e7600d7e1 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/Client.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/Client.cs @@ -32,6 +32,8 @@ namespace Barotrauma.Networking public float ChatSpamTimer; public int ChatSpamCount; + public int RoundsSincePlayedAsTraitor; + public float KickAFKTimer; public double MidRoundSyncTimeOut; @@ -52,12 +54,22 @@ namespace Barotrauma.Networking public bool ReadyToStart; - public List JobPreferences; - public JobPrefab AssignedJob; + public List> JobPreferences; + public Pair AssignedJob; public float DeleteDisconnectedTimer; - public CharacterInfo CharacterInfo; + private CharacterInfo characterInfo; + public CharacterInfo CharacterInfo + { + get { return characterInfo; } + set + { + if (characterInfo == value) { return; } + characterInfo?.Remove(); + characterInfo = value; + } + } public NetworkConnection Connection { get; set; } public bool SpectateOnly; @@ -84,7 +96,7 @@ namespace Barotrauma.Networking { var jobs = JobPrefab.List.Values.ToList(); // TODO: modding support? - JobPreferences = new List(jobs.GetRange(0, Math.Min(jobs.Count, 3))); + JobPreferences = new List>(jobs.GetRange(0, Math.Min(jobs.Count, 3)).Select(j => new Pair(j, 0))); VoipQueue = new VoipQueue(ID, true, true); GameMain.Server.VoipServer.RegisterQueue(VoipQueue); @@ -94,6 +106,8 @@ namespace Barotrauma.Networking { GameMain.Server.VoipServer.UnregisterQueue(VoipQueue); VoipQueue.Dispose(); + characterInfo?.Remove(); + characterInfo = null; } public void InitClientSync() @@ -128,7 +142,7 @@ namespace Barotrauma.Networking { if (lidgrenConn.IPEndPoint?.Address == null) { return false; } if ((lidgrenConn.IPEndPoint?.Address.IsIPv4MappedToIPv6 ?? false) && - lidgrenConn.IPEndPoint?.Address.MapToIPv4().ToString() == endpoint) + lidgrenConn.IPEndPoint?.Address.MapToIPv4NoThrow().ToString() == endpoint) { return true; } diff --git a/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs b/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs index fefda7b32..fd7ed2d95 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs @@ -13,6 +13,7 @@ using System.IO; using Barotrauma.Steam; using System.Xml.Linq; using System.Threading; +using Barotrauma.Extensions; namespace Barotrauma.Networking { @@ -77,7 +78,7 @@ namespace Barotrauma.Networking public TraitorManager TraitorManager; - private ServerEntityEventManager entityEventManager; + private readonly ServerEntityEventManager entityEventManager; private FileSender fileSender; #if DEBUG @@ -115,8 +116,8 @@ namespace Barotrauma.Networking public int QueryPort => serverSettings?.QueryPort ?? 0; public NetworkConnection OwnerConnection { get; private set; } - private int? ownerKey; - private UInt64? ownerSteamId; + private readonly int? ownerKey; + private readonly UInt64? ownerSteamId; public GameServer(string name, int port, int queryPort = 0, bool isPublic = false, string password = "", bool attemptUPnP = false, int maxPlayers = 10, int? ownKey = null, UInt64? steamId = null) { @@ -215,6 +216,16 @@ namespace Barotrauma.Networking GameMain.NetLobbyScreen.Select(); GameMain.NetLobbyScreen.RandomizeSettings(); + if (!string.IsNullOrEmpty(serverSettings.SelectedSubmarine)) + { + Submarine sub = Submarine.SavedSubmarines.FirstOrDefault(s => s.Name == serverSettings.SelectedSubmarine); + if (sub != null) { GameMain.NetLobbyScreen.SelectedSub = sub; } + } + if (!string.IsNullOrEmpty(serverSettings.SelectedShuttle)) + { + Submarine shuttle = Submarine.SavedSubmarines.FirstOrDefault(s => s.Name == serverSettings.SelectedShuttle); + if (shuttle != null) { GameMain.NetLobbyScreen.SelectedShuttle = shuttle; } + } started = true; GameAnalyticsManager.AddDesignEvent("GameServer:Start"); @@ -1438,7 +1449,7 @@ namespace Barotrauma.Networking } //no more room in this packet - if (outmsg.LengthBytes + tempBuffer.LengthBytes > MsgConstants.MTU - 20) + if (outmsg.LengthBytes + tempBuffer.LengthBytes > MsgConstants.MTU - 100) { break; } @@ -1523,6 +1534,7 @@ namespace Barotrauma.Networking outmsg.Write(client.SteamID); outmsg.Write(client.NameID); outmsg.Write(client.Name); + outmsg.Write(client.Character == null || !gameStarted ? (client.PreferredJob ?? "") : ""); outmsg.Write(client.Character == null || !gameStarted ? (ushort)0 : client.Character.ID); outmsg.Write(client.Muted); outmsg.Write(client.Connection != OwnerConnection); //is kicking the player allowed @@ -1578,7 +1590,7 @@ namespace Barotrauma.Networking outmsg.WriteRangedInteger((int)serverSettings.TraitorsEnabled, 0, 2); - outmsg.WriteRangedInteger((GameMain.NetLobbyScreen.MissionTypeIndex), 0, Enum.GetValues(typeof(MissionType)).Length - 1); + outmsg.WriteRangedInteger((int)GameMain.NetLobbyScreen.MissionType, 0, (int)MissionType.All); outmsg.Write((byte)GameMain.NetLobbyScreen.SelectedModeIndex); outmsg.Write(GameMain.NetLobbyScreen.LevelSeed); @@ -1807,7 +1819,7 @@ namespace Barotrauma.Networking //don't instantiate a new gamesession if we're playing a campaign if (campaign == null || GameMain.GameSession == null) { - GameMain.GameSession = new GameSession(selectedSub, "", selectedMode, (MissionType)GameMain.NetLobbyScreen.MissionTypeIndex); + GameMain.GameSession = new GameSession(selectedSub, "", selectedMode, GameMain.NetLobbyScreen.MissionType); } List playingClients = new List(connectedClients); @@ -1875,9 +1887,13 @@ namespace Barotrauma.Networking } //find the clients in this team - List teamClients = teamCount == 1 ? - new List(playingClients) : - playingClients.FindAll(c => c.TeamID == teamID); + List teamClients = teamCount == 1 ? new List(playingClients) : playingClients.FindAll(c => c.TeamID == teamID); + if (serverSettings.AllowSpectating) + { + teamClients.RemoveAll(c => c.SpectateOnly); + } + //always allow the server owner to spectate even if it's disallowed in server settings + teamClients.RemoveAll(c => c.Connection == OwnerConnection && c.SpectateOnly); if (!teamClients.Any() && n > 0) { continue; } @@ -1899,9 +1915,9 @@ namespace Barotrauma.Networking client.CharacterInfo = new CharacterInfo(Character.HumanSpeciesName, client.Name); } characterInfos.Add(client.CharacterInfo); - if (client.CharacterInfo.Job == null || client.CharacterInfo.Job.Prefab != client.AssignedJob) + if (client.CharacterInfo.Job == null || client.CharacterInfo.Job.Prefab != client.AssignedJob.First) { - client.CharacterInfo.Job = new Job(client.AssignedJob); + client.CharacterInfo.Job = new Job(client.AssignedJob.First, client.AssignedJob.Second); } } @@ -1909,7 +1925,10 @@ namespace Barotrauma.Networking int botsToSpawn = serverSettings.BotSpawnMode == BotSpawnMode.Fill ? serverSettings.BotCount - characterInfos.Count : serverSettings.BotCount; for (int i = 0; i < botsToSpawn; i++) { - var botInfo = new CharacterInfo(Character.HumanSpeciesName); + var botInfo = new CharacterInfo(Character.HumanSpeciesName) + { + TeamID = teamID + }; characterInfos.Add(botInfo); bots.Add(botInfo); } @@ -2016,7 +2035,7 @@ namespace Barotrauma.Networking msg.Write((byte)GameMain.Config.LosMode); - msg.Write((byte)GameMain.NetLobbyScreen.MissionTypeIndex); + msg.Write((byte)GameMain.NetLobbyScreen.MissionType); msg.Write(selectedSub.Name); msg.Write(selectedSub.MD5Hash.Hash); @@ -2088,7 +2107,7 @@ namespace Barotrauma.Networking GameMain.NetLobbyScreen.LastUpdateID++; } - if (serverSettings.SaveServerLogs) serverSettings.ServerLog.Save(); + if (serverSettings.SaveServerLogs) { serverSettings.ServerLog.Save(); } GameMain.GameScreen.Cam.TargetPos = Vector2.Zero; @@ -2146,18 +2165,21 @@ namespace Barotrauma.Networking { UInt16 nameId = inc.ReadUInt16(); string newName = inc.ReadString(); + string newJob = inc.ReadString(); if (c == null || string.IsNullOrEmpty(newName) || !NetIdUtils.IdMoreRecent(nameId, c.NameID)) { return false; } c.NameID = nameId; - newName = Client.SanitizeName(newName); - if (newName == c.Name) { return false; } + if (newName == c.Name && newJob == c.PreferredJob) { return false; } + c.PreferredJob = newJob; //update client list even if the name cannot be changed to the one sent by the client, //so the client will be informed what their actual name is LastClientListUpdateID++; + if (newName == c.Name) { return false; } + if (c.Connection != OwnerConnection) { if (!Client.IsValidName(newName, serverSettings)) @@ -2261,7 +2283,7 @@ namespace Barotrauma.Networking if (client.Connection is LidgrenConnection lidgrenConn) { ip = lidgrenConn.IPEndPoint.Address.IsIPv4MappedToIPv6 ? - lidgrenConn.IPEndPoint.Address.MapToIPv4().ToString() : + lidgrenConn.IPEndPoint.Address.MapToIPv4NoThrow().ToString() : lidgrenConn.IPEndPoint.Address.ToString(); if (range) { ip = serverSettings.BanList.ToRange(ip); } } @@ -2896,15 +2918,16 @@ namespace Barotrauma.Networking int moustacheIndex = message.ReadByte(); int faceAttachmentIndex = message.ReadByte(); - List jobPreferences = new List(); + List> jobPreferences = new List>(); int count = message.ReadByte(); // TODO: modding support? for (int i = 0; i < Math.Min(count, 3); i++) { string jobIdentifier = message.ReadString(); + int variant = message.ReadByte(); if (JobPrefab.List.TryGetValue(jobIdentifier, out JobPrefab jobPrefab)) { - jobPreferences.Add(jobPrefab); + jobPreferences.Add(new Pair(jobPrefab, variant)); } } @@ -2923,6 +2946,7 @@ namespace Barotrauma.Networking { var jobList = JobPrefab.List.Values.ToList(); unassigned = new List(unassigned); + unassigned = unassigned.OrderBy(sp => Rand.Int(int.MaxValue)).ToList(); Dictionary assignedClientCount = new Dictionary(); foreach (JobPrefab jp in jobList) @@ -2944,14 +2968,14 @@ namespace Barotrauma.Networking foreach (KeyValuePair clientJob in campaignAssigned) { assignedClientCount[clientJob.Value.Prefab]++; - clientJob.Key.AssignedJob = clientJob.Value.Prefab; + clientJob.Key.AssignedJob = new Pair(clientJob.Value.Prefab, clientJob.Value.Variant); } } //count the clients who already have characters with an assigned job foreach (Client c in connectedClients) { - if (c.TeamID != teamID || unassigned.Contains(c)) continue; + if (c.TeamID != teamID || unassigned.Contains(c)) { continue; } if (c.Character?.Info?.Job != null && !c.Character.IsDead) { assignedClientCount[c.Character.Info.Job.Prefab]++; @@ -2961,8 +2985,8 @@ namespace Barotrauma.Networking //if any of the players has chosen a job that is Always Allowed, give them that job for (int i = unassigned.Count - 1; i >= 0; i--) { - if (unassigned[i].JobPreferences.Count == 0) continue; - if (!unassigned[i].JobPreferences[0].AllowAlways) continue; + if (unassigned[i].JobPreferences.Count == 0) { continue; } + if (!unassigned[i].JobPreferences[0].First.AllowAlways) { continue; } unassigned[i].AssignedJob = unassigned[i].JobPreferences[0]; unassigned.RemoveAt(i); } @@ -2975,32 +2999,75 @@ namespace Barotrauma.Networking foreach (JobPrefab jobPrefab in jobList) { - if (unassigned.Count == 0) break; - if (jobPrefab.MinNumber < 1 || assignedClientCount[jobPrefab] >= jobPrefab.MinNumber) continue; + if (unassigned.Count == 0) { break; } + if (jobPrefab.MinNumber < 1 || assignedClientCount[jobPrefab] >= jobPrefab.MinNumber) { continue; } //find the client that wants the job the most, or force it to random client if none of them want it Client assignedClient = FindClientWithJobPreference(unassigned, jobPrefab, true); - assignedClient.AssignedJob = jobPrefab; + assignedClient.AssignedJob = + assignedClient.JobPreferences.FirstOrDefault(jp => jp.First == jobPrefab) ?? + new Pair(jobPrefab, 0); + assignedClientCount[jobPrefab]++; unassigned.Remove(assignedClient); //the job still needs more crew members, set unassignedJobsFound to true to keep the while loop running - if (assignedClientCount[jobPrefab] < jobPrefab.MinNumber) unassignedJobsFound = true; + if (assignedClientCount[jobPrefab] < jobPrefab.MinNumber) { unassignedJobsFound = true; } } } + List availableSpawnPoints = WayPoint.WayPointList.FindAll(wp => + wp.SpawnType == SpawnType.Human && + wp.Submarine != null && wp.Submarine.TeamID == teamID); + List unassignedSpawnPoints = new List(availableSpawnPoints); + + /*bool canAssign = false; + do + { + canAssign = false; + foreach (WayPoint spawnPoint in unassignedSpawnPoints) + { + if (unassigned.Count == 0) { break; } + + JobPrefab job = spawnPoint.AssignedJob ?? JobPrefab.List.Values.GetRandom(); + if (assignedClientCount[job] >= job.MaxNumber) { continue; } + + Client assignedClient = FindClientWithJobPreference(unassigned, job, true); + if (assignedClient != null) + { + assignedClient.AssignedJob = job; + assignedClientCount[job]++; + unassigned.Remove(assignedClient); + canAssign = true; + } + } + } while (unassigned.Count > 0 && canAssign);*/ + //attempt to give the clients a job they have in their job preferences for (int i = unassigned.Count - 1; i >= 0; i--) { - foreach (JobPrefab preferredJob in unassigned[i].JobPreferences) + if (unassignedSpawnPoints.Count == 0) { break; } + foreach (Pair preferredJob in unassigned[i].JobPreferences) { - //the maximum number of players that can have this job hasn't been reached yet - // -> assign it to the client - if (assignedClientCount[preferredJob] < preferredJob.MaxNumber && unassigned[i].Karma >= preferredJob.MinKarma) + //can't assign this job if maximum number has reached or the clien't karma is too low + if (assignedClientCount[preferredJob.First] >= preferredJob.First.MaxNumber || unassigned[i].Karma < preferredJob.First.MinKarma) { + continue; + } + //give the client their preferred job if there's a spawnpoint available for that job + var matchingSpawnPoint = unassignedSpawnPoints.Find(s => s.AssignedJob == preferredJob.First); + //if the job is not available in any spawnpoint (custom job?), treat empty spawnpoints + //as a matching ones + if (matchingSpawnPoint == null && !availableSpawnPoints.Any(s => s.AssignedJob == preferredJob.First)) + { + matchingSpawnPoint = unassignedSpawnPoints.Find(s => s.AssignedJob == null); + } + if (matchingSpawnPoint != null) + { + unassignedSpawnPoints.Remove(matchingSpawnPoint); unassigned[i].AssignedJob = preferredJob; - assignedClientCount[preferredJob]++; + assignedClientCount[preferredJob.First]++; unassigned.RemoveAt(i); break; } @@ -3023,25 +3090,36 @@ namespace Barotrauma.Networking { jobIndex++; skips++; - if (jobIndex >= jobList.Count) jobIndex -= jobList.Count; - if (skips >= jobList.Count) break; + if (jobIndex >= jobList.Count) { jobIndex -= jobList.Count; } + if (skips >= jobList.Count) { break; } } - c.AssignedJob = jobList[jobIndex]; - assignedClientCount[c.AssignedJob]++; + c.AssignedJob = + c.JobPreferences.FirstOrDefault(jp => jp.First == jobList[jobIndex]) ?? + new Pair(jobList[jobIndex], 0); + assignedClientCount[c.AssignedJob.First]++; } - else //some jobs still left, choose one of them by random + //if one of the client's preferences is still available, give them that job + else if (c.JobPreferences.Any(jp => remainingJobs.Contains(jp.First))) { - c.AssignedJob = remainingJobs[Rand.Range(0, remainingJobs.Count)]; - assignedClientCount[c.AssignedJob]++; + foreach (Pair preferredJob in c.JobPreferences) + { + c.AssignedJob = preferredJob; + assignedClientCount[preferredJob.First]++; + break; + } + } + else //none of the client's preferred jobs available, choose a random job + { + c.AssignedJob = new Pair(remainingJobs[Rand.Range(0, remainingJobs.Count)], 0); + assignedClientCount[c.AssignedJob.First]++; } } } public void AssignBotJobs(List bots, Character.TeamType teamID) { - var jobList = JobPrefab.List.Values.ToList(); Dictionary assignedPlayerCount = new Dictionary(); - foreach (JobPrefab jp in jobList) + foreach (JobPrefab jp in JobPrefab.List.Values) { assignedPlayerCount.Add(jp, 0); } @@ -3061,25 +3139,39 @@ namespace Barotrauma.Networking } List unassignedBots = new List(bots); - foreach (CharacterInfo bot in bots) - { - foreach (JobPrefab jobPrefab in jobList) - { - if (jobPrefab.MinNumber < 1 || assignedPlayerCount[jobPrefab] >= jobPrefab.MinNumber) continue; - bot.Job = new Job(jobPrefab); - assignedPlayerCount[jobPrefab]++; - unassignedBots.Remove(bot); - break; - } - } - //find a suitable job for the rest of the players + List spawnPoints = WayPoint.WayPointList.FindAll(wp => + wp.SpawnType == SpawnType.Human && + wp.Submarine != null && wp.Submarine.TeamID == teamID) + .OrderBy(sp => Rand.Int(int.MaxValue)) + .OrderBy(sp => sp.AssignedJob == null ? 0 : 1) + .ToList(); + + bool canAssign = false; + do + { + canAssign = false; + foreach (WayPoint spawnPoint in spawnPoints) + { + if (unassignedBots.Count == 0) { break; } + + JobPrefab jobPrefab = spawnPoint.AssignedJob ?? JobPrefab.List.Values.GetRandom(); + if (assignedPlayerCount[jobPrefab] >= jobPrefab.MaxNumber) { continue; } + + unassignedBots[0].Job = new Job(jobPrefab); + assignedPlayerCount[jobPrefab]++; + unassignedBots.Remove(unassignedBots[0]); + canAssign = true; + } + } while (unassignedBots.Count > 0 && canAssign); + + //find a suitable job for the rest of the bots foreach (CharacterInfo c in unassignedBots) { //find all jobs that are still available - var remainingJobs = jobList.FindAll(jp => assignedPlayerCount[jp] < jp.MaxNumber); + var remainingJobs = JobPrefab.List.Values.Where(jp => assignedPlayerCount[jp] < jp.MaxNumber); //all jobs taken, give a random job - if (remainingJobs.Count == 0) + if (remainingJobs.Count() == 0) { DebugConsole.ThrowError("Failed to assign a suitable job for bot \"" + c.Name + "\" (all jobs already have the maximum numbers of players). Assigning a random job..."); c.Job = Job.Random(); @@ -3087,7 +3179,7 @@ namespace Barotrauma.Networking } else //some jobs still left, choose one of them by random { - c.Job = new Job(remainingJobs[Rand.Range(0, remainingJobs.Count)]); + c.Job = new Job(remainingJobs.GetRandom()); assignedPlayerCount[c.Job.Prefab]++; } } @@ -3100,7 +3192,7 @@ namespace Barotrauma.Networking foreach (Client c in clients) { if (c.Karma < job.MinKarma) continue; - int index = c.JobPreferences.IndexOf(job); + int index = c.JobPreferences.IndexOf(c.JobPreferences.Find(j => j.First == job)); if (index == -1) index = 1000; if (preferredClient == null || index < bestPreference) @@ -3119,6 +3211,17 @@ namespace Barotrauma.Networking return preferredClient; } + public void UpdateMissionState(int state) + { + foreach (var client in connectedClients) + { + IWriteMessage msg = new WriteOnlyMessage(); + msg.Write((byte)ServerPacketHeader.MISSION); + msg.Write((ushort)state); + serverPeer.Send(msg, client.Connection, DeliveryMethod.Reliable); + } + } + public static void Log(string line, ServerLog.MessageType messageType) { if (GameMain.Server == null || !GameMain.Server.ServerSettings.SaveServerLogs) return; @@ -3152,6 +3255,9 @@ namespace Barotrauma.Networking started = false; serverSettings.BanList.Save(); + + if (GameMain.NetLobbyScreen.SelectedSub != null) { serverSettings.SelectedSubmarine = GameMain.NetLobbyScreen.SelectedSub.Name; } + if (GameMain.NetLobbyScreen.SelectedShuttle != null) { serverSettings.SelectedShuttle = GameMain.NetLobbyScreen.SelectedShuttle.Name; } serverSettings.SaveSettings(); if (registeredToMaster) diff --git a/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/LidgrenServerPeer.cs b/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/LidgrenServerPeer.cs index bf755a911..3d31b9f6b 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/LidgrenServerPeer.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/LidgrenServerPeer.cs @@ -342,7 +342,7 @@ namespace Barotrauma.Networking if (!Client.IsValidName(name, serverSettings)) { if (OwnerConnection != null || - !IPAddress.IsLoopback(pendingClient.Connection.RemoteEndPoint.Address.MapToIPv4()) && + !IPAddress.IsLoopback(pendingClient.Connection.RemoteEndPoint.Address.MapToIPv4NoThrow()) && ownerKey == null || ownKey == 0 && ownKey != ownerKey) { RemovePendingClient(pendingClient, DisconnectReason.InvalidName, "The name \"" + name + "\" is invalid"); @@ -362,36 +362,37 @@ namespace Barotrauma.Networking return; } - Int32 contentPackageCount = inc.ReadVariableInt32(); - List contentPackages = new List(); + int contentPackageCount = inc.ReadVariableInt32(); + List clientContentPackages = new List(); for (int i = 0; i < contentPackageCount; i++) { string packageName = inc.ReadString(); string packageHash = inc.ReadString(); - contentPackages.Add(new ClientContentPackage(packageName, packageHash)); + clientContentPackages.Add(new ClientContentPackage(packageName, packageHash)); } + //check if the client is missing any of our packages List missingPackages = new List(); - foreach (ContentPackage contentPackage in GameMain.SelectedPackages) + foreach (ContentPackage serverContentPackage in GameMain.SelectedPackages) { - if (!contentPackage.HasMultiplayerIncompatibleContent) continue; - bool packageFound = false; - for (int i = 0; i < contentPackageCount; i++) - { - if (contentPackages[i].Name == contentPackage.Name && contentPackages[i].Hash == contentPackage.MD5hash.Hash) - { - packageFound = true; - break; - } - } - if (!packageFound) missingPackages.Add(contentPackage); + if (!serverContentPackage.HasMultiplayerIncompatibleContent) continue; + bool packageFound = clientContentPackages.Any(cp => cp.Name == serverContentPackage.Name && cp.Hash == serverContentPackage.MD5hash.Hash); + if (!packageFound) { missingPackages.Add(serverContentPackage); } + } + + //check if the client is using packages we don't have + List redundantPackages = new List(); + foreach (ClientContentPackage clientContentPackage in clientContentPackages) + { + bool packageFound = GameMain.SelectedPackages.Any(cp => cp.Name == clientContentPackage.Name && cp.MD5hash.Hash == clientContentPackage.Hash); + if (!packageFound) { redundantPackages.Add(clientContentPackage); } } if (missingPackages.Count == 1) { RemovePendingClient(pendingClient, DisconnectReason.MissingContentPackage, $"DisconnectMessage.MissingContentPackage~[missingcontentpackage]={GetPackageStr(missingPackages[0])}"); - GameServer.Log(name + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (missing content package " + GetPackageStr(missingPackages[0]) + ")", ServerLog.MessageType.Error); + GameServer.Log(name + " (" + inc.SenderConnection.RemoteEndPoint.Address + ") couldn't join the server (missing content package " + GetPackageStr(missingPackages[0]) + ")", ServerLog.MessageType.Error); return; } else if (missingPackages.Count > 1) @@ -400,7 +401,23 @@ namespace Barotrauma.Networking missingPackages.ForEach(cp => packageStrs.Add(GetPackageStr(cp))); RemovePendingClient(pendingClient, DisconnectReason.MissingContentPackage, $"DisconnectMessage.MissingContentPackages~[missingcontentpackages]={string.Join(", ", packageStrs)}"); - GameServer.Log(name + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (missing content packages " + string.Join(", ", packageStrs) + ")", ServerLog.MessageType.Error); + GameServer.Log(name + " (" + inc.SenderConnection.RemoteEndPoint.Address + ") couldn't join the server (missing content packages " + string.Join(", ", packageStrs) + ")", ServerLog.MessageType.Error); + return; + } + if (redundantPackages.Count == 1) + { + RemovePendingClient(pendingClient, DisconnectReason.IncompatibleContentPackage, + $"DisconnectMessage.IncompatibleContentPackage~[incompatiblecontentpackage]={GetPackageStr(redundantPackages[0])}"); + GameServer.Log(name + " (" + inc.SenderConnection.RemoteEndPoint.Address + ") couldn't join the server (using an incompatible content package " + GetPackageStr(redundantPackages[0]) + ")", ServerLog.MessageType.Error); + return; + } + if (redundantPackages.Count > 1) + { + List packageStrs = new List(); + redundantPackages.ForEach(cp => packageStrs.Add(GetPackageStr(cp))); + RemovePendingClient(pendingClient, DisconnectReason.IncompatibleContentPackage, + $"DisconnectMessage.IncompatibleContentPackages~[incompatiblecontentpackages]={string.Join(", ", packageStrs)}"); + GameServer.Log(name + " (" + inc.SenderConnection.RemoteEndPoint.Address + ") couldn't join the server (using incompatible content packages " + string.Join(", ", packageStrs) + ")", ServerLog.MessageType.Error); return; } @@ -476,21 +493,6 @@ namespace Barotrauma.Networking } } - protected struct ClientContentPackage - { - public string Name; - public string Hash; - - public ClientContentPackage(string name, string hash) - { - Name = name; Hash = hash; - } - } - - private string GetPackageStr(ContentPackage contentPackage) - { - return "\"" + contentPackage.Name + "\" (hash " + contentPackage.MD5hash.ShortHash + ")"; - } private void UpdatePendingClient(PendingClient pendingClient, float deltaTime) { @@ -519,7 +521,7 @@ namespace Barotrauma.Networking pendingClients.Remove(pendingClient); if (OwnerConnection == null && - IPAddress.IsLoopback(pendingClient.Connection.RemoteEndPoint.Address.MapToIPv4()) && + IPAddress.IsLoopback(pendingClient.Connection.RemoteEndPoint.Address.MapToIPv4NoThrow()) && ownerKey != null && pendingClient.OwnerKey != 0 && pendingClient.OwnerKey == ownerKey) { ownerKey = null; diff --git a/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/ServerPeer.cs b/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/ServerPeer.cs index 62ac3fc0b..3977dd95b 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/ServerPeer.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/ServerPeer.cs @@ -1,12 +1,33 @@ using Facepunch.Steamworks; using System; using System.Collections.Generic; +using System.Linq; using System.Text; namespace Barotrauma.Networking { abstract class ServerPeer { + protected struct ClientContentPackage + { + public string Name; + public string Hash; + + public ClientContentPackage(string name, string hash) + { + Name = name; Hash = hash; + } + } + + protected string GetPackageStr(ContentPackage contentPackage) + { + return "\"" + contentPackage.Name + "\" (hash " + contentPackage.MD5hash.ShortHash + ")"; + } + protected string GetPackageStr(ClientContentPackage contentPackage) + { + return "\"" + contentPackage.Name + "\" (hash " + Md5Hash.GetShortHash(contentPackage.Hash) + ")"; + } + public delegate void MessageCallback(NetworkConnection connection, IReadMessage message); public delegate void DisconnectCallback(NetworkConnection connection, string reason); public delegate void InitializationCompleteCallback(NetworkConnection connection); @@ -28,6 +49,8 @@ namespace Barotrauma.Networking public abstract void Start(); public abstract void Close(string msg = null); public abstract void Update(float deltaTime); + + public abstract void Send(IWriteMessage msg, NetworkConnection conn, DeliveryMethod deliveryMethod); public abstract void Disconnect(NetworkConnection conn, string msg = null); } diff --git a/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/SteamP2PServerPeer.cs b/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/SteamP2PServerPeer.cs index 43842c8f8..694428be6 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/SteamP2PServerPeer.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/Primitives/Peers/Server/SteamP2PServerPeer.cs @@ -200,7 +200,7 @@ namespace Barotrauma.Networking return; } - if (IPAddress.IsLoopback(inc.SenderConnection.RemoteEndPoint.Address.MapToIPv4())) + if (IPAddress.IsLoopback(inc.SenderConnection.RemoteEndPoint.Address.MapToIPv4NoThrow())) { inc.SenderConnection.Approve(); netConnection = inc.SenderConnection; @@ -403,35 +403,36 @@ namespace Barotrauma.Networking } int contentPackageCount = (int)inc.ReadVariableUInt32(); - List contentPackages = new List(); + List clientContentPackages = new List(); for (int i = 0; i < contentPackageCount; i++) { string packageName = inc.ReadString(); string packageHash = inc.ReadString(); - contentPackages.Add(new ClientContentPackage(packageName, packageHash)); + clientContentPackages.Add(new ClientContentPackage(packageName, packageHash)); } + //check if the client is missing any of our packages List missingPackages = new List(); - foreach (ContentPackage contentPackage in GameMain.SelectedPackages) + foreach (ContentPackage serverContentPackage in GameMain.SelectedPackages) { - if (!contentPackage.HasMultiplayerIncompatibleContent) continue; - bool packageFound = false; - for (int i = 0; i < (int)contentPackageCount; i++) - { - if (contentPackages[i].Name == contentPackage.Name && contentPackages[i].Hash == contentPackage.MD5hash.Hash) - { - packageFound = true; - break; - } - } - if (!packageFound) missingPackages.Add(contentPackage); + if (!serverContentPackage.HasMultiplayerIncompatibleContent) continue; + bool packageFound = clientContentPackages.Any(cp => cp.Name == serverContentPackage.Name && cp.Hash == serverContentPackage.MD5hash.Hash); + if (!packageFound) { missingPackages.Add(serverContentPackage); } + } + + //check if the client is using packages we don't have + List redundantPackages = new List(); + foreach (ClientContentPackage clientContentPackage in clientContentPackages) + { + bool packageFound = GameMain.SelectedPackages.Any(cp => cp.Name == clientContentPackage.Name && cp.MD5hash.Hash == clientContentPackage.Hash); + if (!packageFound) { redundantPackages.Add(clientContentPackage); } } if (missingPackages.Count == 1) { RemovePendingClient(pendingClient, DisconnectReason.MissingContentPackage, $"DisconnectMessage.MissingContentPackage~[missingcontentpackage]={GetPackageStr(missingPackages[0])}"); - GameServer.Log(name + " (" + pendingClient.SteamID.ToString() + ") couldn't join the server (missing content package " + GetPackageStr(missingPackages[0]) + ")", ServerLog.MessageType.Error); + GameServer.Log(name + " (" + pendingClient.SteamID + ") couldn't join the server (missing content package " + GetPackageStr(missingPackages[0]) + ")", ServerLog.MessageType.Error); return; } else if (missingPackages.Count > 1) @@ -440,7 +441,23 @@ namespace Barotrauma.Networking missingPackages.ForEach(cp => packageStrs.Add(GetPackageStr(cp))); RemovePendingClient(pendingClient, DisconnectReason.MissingContentPackage, $"DisconnectMessage.MissingContentPackages~[missingcontentpackages]={string.Join(", ", packageStrs)}"); - GameServer.Log(name + " (" + pendingClient.SteamID.ToString() + ") couldn't join the server (missing content packages " + string.Join(", ", packageStrs) + ")", ServerLog.MessageType.Error); + GameServer.Log(name + " (" + pendingClient.SteamID + ") couldn't join the server (missing content packages " + string.Join(", ", packageStrs) + ")", ServerLog.MessageType.Error); + return; + } + if (redundantPackages.Count == 1) + { + RemovePendingClient(pendingClient, DisconnectReason.IncompatibleContentPackage, + $"DisconnectMessage.IncompatibleContentPackage~[incompatiblecontentpackage]={GetPackageStr(redundantPackages[0])}"); + GameServer.Log(name + " (" + pendingClient.SteamID + ") couldn't join the server (using an incompatible content package " + GetPackageStr(redundantPackages[0]) + ")", ServerLog.MessageType.Error); + return; + } + if (redundantPackages.Count > 1) + { + List packageStrs = new List(); + redundantPackages.ForEach(cp => packageStrs.Add(GetPackageStr(cp))); + RemovePendingClient(pendingClient, DisconnectReason.IncompatibleContentPackage, + $"DisconnectMessage.IncompatibleContentPackages~[incompatiblecontentpackages]={string.Join(", ", packageStrs)}"); + GameServer.Log(name + " (" + pendingClient.SteamID + ") couldn't join the server (using incompatible content packages " + string.Join(", ", packageStrs) + ")", ServerLog.MessageType.Error); return; } @@ -482,21 +499,6 @@ namespace Barotrauma.Networking } } - protected struct ClientContentPackage - { - public string Name; - public string Hash; - - public ClientContentPackage(string name, string hash) - { - Name = name; Hash = hash; - } - } - - private string GetPackageStr(ContentPackage contentPackage) - { - return "\"" + contentPackage.Name + "\" (hash " + contentPackage.MD5hash.ShortHash + ")"; - } private void UpdatePendingClient(PendingClient pendingClient) { diff --git a/Barotrauma/BarotraumaServer/Source/Networking/RespawnManager.cs b/Barotrauma/BarotraumaServer/Source/Networking/RespawnManager.cs index eab5e7431..0c53224d8 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/RespawnManager.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/RespawnManager.cs @@ -235,7 +235,7 @@ namespace Barotrauma.Networking GameMain.Server.AssignJobs(clients); foreach (Client c in clients) { - c.CharacterInfo.Job = new Job(c.AssignedJob); + c.CharacterInfo.Job = new Job(c.AssignedJob.First, c.AssignedJob.Second); } //the spawnpoints where the characters will spawn diff --git a/Barotrauma/BarotraumaServer/Source/Networking/ServerSettings.cs b/Barotrauma/BarotraumaServer/Source/Networking/ServerSettings.cs index 9a218b8a4..a1e7b414b 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/ServerSettings.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/ServerSettings.cs @@ -128,10 +128,9 @@ namespace Barotrauma.Networking if (flags.HasFlag(NetFlags.Misc)) { - int missionType = GameMain.NetLobbyScreen.MissionTypeIndex + incMsg.ReadByte() - 1; - while (missionType < 0) missionType += Enum.GetValues(typeof(MissionType)).Length; - while (missionType >= Enum.GetValues(typeof(MissionType)).Length) missionType -= Enum.GetValues(typeof(MissionType)).Length; - GameMain.NetLobbyScreen.MissionTypeIndex = missionType; + int orBits = incMsg.ReadRangedInteger(0, (int)Barotrauma.MissionType.All) & (int)Barotrauma.MissionType.All; + int andBits = incMsg.ReadRangedInteger(0, (int)Barotrauma.MissionType.All) & (int)Barotrauma.MissionType.All; + GameMain.NetLobbyScreen.MissionType = (Barotrauma.MissionType)(((int)GameMain.NetLobbyScreen.MissionType | orBits) & andBits); int traitorSetting = (int)TraitorsEnabled + incMsg.ReadByte() - 1; if (traitorSetting < 0) traitorSetting = 2; @@ -310,6 +309,9 @@ namespace Barotrauma.Networking ServerMessageText = doc.Root.GetAttributeString("ServerMessage", ""); GameMain.NetLobbyScreen.SelectedModeIdentifier = GameModeIdentifier; + //handle Random as the mission type, which is no longer a valid setting + //MissionType.All offers equivalent functionality + if (MissionType == "Random") { MissionType = "All"; } GameMain.NetLobbyScreen.MissionTypeName = MissionType; GameMain.NetLobbyScreen.SetBotSpawnMode(BotSpawnMode); diff --git a/Barotrauma/BarotraumaServer/Source/Networking/SteamManager.cs b/Barotrauma/BarotraumaServer/Source/Networking/SteamManager.cs index c15bef58d..982965209 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/SteamManager.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/SteamManager.cs @@ -62,6 +62,8 @@ namespace Barotrauma.Steam Instance.server.SetKey("modeselectionmode", server.ServerSettings.ModeSelectionMode.ToString()); Instance.server.SetKey("subselectionmode", server.ServerSettings.SubSelectionMode.ToString()); Instance.server.SetKey("voicechatenabled", server.ServerSettings.VoiceChatEnabled.ToString()); + Instance.server.SetKey("karmaenabled", server.ServerSettings.KarmaEnabled.ToString()); + Instance.server.SetKey("friendlyfireenabled", server.ServerSettings.AllowFriendlyFire.ToString()); Instance.server.SetKey("allowspectating", server.ServerSettings.AllowSpectating.ToString()); Instance.server.SetKey("allowrespawn", server.ServerSettings.AllowRespawn.ToString()); Instance.server.SetKey("traitors", server.ServerSettings.TraitorsEnabled.ToString()); diff --git a/Barotrauma/BarotraumaServer/Source/Networking/WhiteList.cs b/Barotrauma/BarotraumaServer/Source/Networking/WhiteList.cs index 9ab32db6d..c50de1630 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/WhiteList.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/WhiteList.cs @@ -101,7 +101,7 @@ namespace Barotrauma.Networking if (wlp == null) return false; if (!string.IsNullOrWhiteSpace(wlp.IP)) { - if (address.IsIPv4MappedToIPv6 && wlp.IP == address.MapToIPv4().ToString()) + if (address.IsIPv4MappedToIPv6 && wlp.IP == address.MapToIPv4NoThrow().ToString()) { return true; } diff --git a/Barotrauma/BarotraumaServer/Source/Program.cs b/Barotrauma/BarotraumaServer/Source/Program.cs index 9e7989cd3..fd725f717 100644 --- a/Barotrauma/BarotraumaServer/Source/Program.cs +++ b/Barotrauma/BarotraumaServer/Source/Program.cs @@ -25,7 +25,7 @@ namespace Barotrauma { GameMain game = null; -#if !DEBUG +#if !DEBUG || TRUE try { #endif @@ -49,7 +49,7 @@ namespace Barotrauma DebugConsole.InputThread?.Abort(); DebugConsole.InputThread?.Join(); if (GameSettings.SendUserStatistics) GameAnalytics.OnQuit(); SteamManager.ShutDown(); -#if !DEBUG +#if !DEBUG || TRUE } catch (Exception e) { diff --git a/Barotrauma/BarotraumaServer/Source/Screens/NetLobbyScreen.cs b/Barotrauma/BarotraumaServer/Source/Screens/NetLobbyScreen.cs index 2c2d78668..5eb445456 100644 --- a/Barotrauma/BarotraumaServer/Source/Screens/NetLobbyScreen.cs +++ b/Barotrauma/BarotraumaServer/Source/Screens/NetLobbyScreen.cs @@ -74,26 +74,28 @@ namespace Barotrauma get { return GameModes[SelectedModeIndex]; } } - private int missionTypeIndex; - public int MissionTypeIndex + private MissionType missionType; + public MissionType MissionType { - get { return missionTypeIndex; } + get { return missionType; } set { lastUpdateID++; - missionTypeIndex = MathHelper.Clamp(value, 0, Enum.GetValues(typeof(MissionType)).Length - 1); + missionType = value; + if (GameMain.NetworkMember?.ServerSettings != null) + { + GameMain.NetworkMember.ServerSettings.MissionType = missionType.ToString(); + } } } public string MissionTypeName { - get { return ((MissionType)missionTypeIndex).ToString(); } + get { return missionType.ToString(); } set { - if (Enum.TryParse(value, out MissionType missionType)) - { - missionTypeIndex = (int)missionType; - } + Enum.TryParse(value, out MissionType type); + MissionType = type; } } diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalDestroyItemsWithTag.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalDestroyItemsWithTag.cs index 23e129954..551158b07 100644 --- a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalDestroyItemsWithTag.cs +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalDestroyItemsWithTag.cs @@ -60,6 +60,13 @@ namespace Barotrauma ++result; } } + + // Quick fix + if (tagPrefabName == null && matchIdentifier) + { + tagPrefabName = TextManager.FormatServerMessage($"entityname.{tag}"); + } + return result; } diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalEntityTransformation.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalEntityTransformation.cs new file mode 100644 index 000000000..2472d685f --- /dev/null +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalEntityTransformation.cs @@ -0,0 +1,162 @@ +using Barotrauma.Networking; +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Barotrauma +{ + partial class Traitor + { + public sealed class GoalEntityTransformation : Goal + { + public override IEnumerable InfoTextKeys => base.InfoTextKeys.Concat(new string[] { "[catalystitem]" }); + public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] { catalystItemName }); + + private bool isCompleted; + public override bool IsCompleted => isCompleted; + + private string catalystItemIdentifier, catalystItemName; + + private Vector2 activeEntitySavedPosition; + private Entity activeEntity; + private int activeEntityIndex; + private const float gracePeriod = 1f; + private const float graceDistance = 200f; + private float graceTimer; + private double transformationTime; + + private enum EntityTypes { Character, Item } + + private string[] entities; + private EntityTypes[] entityTypes; + + public override void Update(float deltaTime) + { + base.Update(deltaTime); + isCompleted = HasTransformed(deltaTime); + } + + public override bool CanBeCompleted(ICollection traitors) + { + return graceTimer <= gracePeriod; + } + + private bool HasTransformed(float deltaTime) + { + if (activeEntity != null && !activeEntity.Removed) + { + activeEntitySavedPosition = activeEntity.WorldPosition; + } + else + { + if (transformationTime == 0) + { + graceTimer = 0.0f; + activeEntityIndex++; + transformationTime = Timing.TotalTime; + } + graceTimer += deltaTime; + + switch (entityTypes[activeEntityIndex]) + { + case EntityTypes.Character: + foreach (Character character in Character.CharacterList) + { + if (character.Submarine == null || Traitors.All(t => character.Submarine.TeamID != t.Character.TeamID) || character.SpawnTime + gracePeriod < transformationTime) + { + continue; + } + if (character.SpeciesName.ToLowerInvariant() == entities[activeEntityIndex] && Vector2.Distance(activeEntitySavedPosition, character.WorldPosition) < graceDistance) + { + activeEntity = character; + transformationTime = 0.0; + return activeEntityIndex == entities.Length - 1; + } + } + break; + case EntityTypes.Item: + foreach (Item item in Item.ItemList) + { + if (item.Submarine == null || Traitors.All(t => item.Submarine.TeamID != t.Character.TeamID) || item.SpawnTime + gracePeriod < transformationTime) + { + continue; + } + if (item.prefab.Identifier == entities[activeEntityIndex] && Vector2.Distance(activeEntitySavedPosition, item.WorldPosition) < graceDistance) + { + activeEntity = item; + transformationTime = 0.0; + return activeEntityIndex == entities.Length - 1; + } + } + break; + } + } + + return false; + } + + public override bool Start(Traitor traitor) + { + if (!base.Start(traitor)) + { + return false; + } + + catalystItemName = TextManager.FormatServerMessage($"entityname.{catalystItemIdentifier}"); + + activeEntity = null; + activeEntityIndex = 0; + + switch (entityTypes[activeEntityIndex]) + { + case EntityTypes.Character: + foreach (Character character in Character.CharacterList) + { + if (character.Submarine == null || Traitors.All(t => character.Submarine.TeamID != t.Character.TeamID)) + { + continue; + } + if (character.SpeciesName.ToLowerInvariant() == entities[activeEntityIndex].ToLowerInvariant()) + { + activeEntity = character; + break; + } + } + break; + case EntityTypes.Item: + foreach (Item item in Item.ItemList) + { + if (item.Submarine == null || Traitors.All(t => item.Submarine.TeamID != t.Character.TeamID)) + { + continue; + } + if (item.prefab.Identifier.ToLowerInvariant() == entities[0].ToLowerInvariant()) + { + activeEntity = item; + break; + } + } + break; + } + + graceTimer = 0.0f; + return activeEntity != null; + } + + public GoalEntityTransformation(string[] entities, string[] entityTypes, string catalystItemIdentifier) : base() + { + this.entities = entities; + + this.entityTypes = new EntityTypes[entityTypes.Length]; + + for (int i = 0; i < this.entityTypes.Length; i++) + { + this.entityTypes[i] = (EntityTypes)Enum.Parse(typeof(EntityTypes), entityTypes[i], true); + } + + this.catalystItemIdentifier = catalystItemIdentifier; + } + } + } +} diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalFindItem.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalFindItem.cs index 70970e954..e1da8bcac 100644 --- a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalFindItem.cs +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalFindItem.cs @@ -1,5 +1,6 @@ using Barotrauma.Items.Components; using Barotrauma.Networking; +using System; using System.Collections.Generic; using System.Linq; @@ -9,6 +10,7 @@ namespace Barotrauma { public class GoalFindItem : HumanoidGoal { + private readonly TraitorMission.CharacterFilter filter; private readonly string identifier; private readonly bool preferNew; private readonly bool allowNew; @@ -16,12 +18,17 @@ namespace Barotrauma private readonly HashSet allowedContainerIdentifiers = new HashSet(); private ItemPrefab targetPrefab; + private ItemPrefab containedPrefab; private Item targetContainer; private Item target; private HashSet existingItems = new HashSet(); private string targetNameText; private string targetContainerNameText; private string targetHullNameText; + private float percentage; + private int spawnAmount = 1; + + private const string itemContainerId = "toolbox"; public override IEnumerable InfoTextKeys => base.InfoTextKeys.Concat(new string[] { "[identifier]", "[target]", "[targethullname]" }); public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] { targetNameText ?? "", targetContainerNameText ?? "", targetHullNameText ?? "" }); @@ -85,7 +92,7 @@ namespace Barotrauma } if (suitableItems.Count == 0) { return null; } - return suitableItems[TraitorMission.Random(suitableItems.Count)]; + return suitableItems[TraitorManager.RandomInt(suitableItems.Count)]; } protected Item FindTargetContainer(ICollection traitors, ItemPrefab targetPrefabCandidate) @@ -124,12 +131,40 @@ namespace Barotrauma { return true; } - targetPrefab = FindItemPrefab(identifier); - if (targetPrefab == null) + + string targetPrefabTextId; + + if (percentage > 0f) { - return false; + spawnAmount = (int)Math.Floor(Character.CharacterList.FindAll(c => c.TeamID == traitor.Character.TeamID && c != traitor.Character && !c.IsDead && (filter == null || filter(c))).Count * percentage); } - var targetPrefabTextId = targetPrefab.GetItemNameTextId(); + + if (spawnAmount > 1 && allowNew) + { + containedPrefab = FindItemPrefab(identifier); + targetPrefab = FindItemPrefab(itemContainerId); + + if (containedPrefab == null || targetPrefab == null) + { + return false; + } + + targetPrefabTextId = containedPrefab.GetItemNameTextId(); + } + else + { + spawnAmount = 1; + containedPrefab = null; + targetPrefab = FindItemPrefab(identifier); + + if (targetPrefab == null) + { + return false; + } + + targetPrefabTextId = targetPrefab.GetItemNameTextId(); + } + targetNameText = targetPrefabTextId != null ? TextManager.FormatServerMessage(targetPrefabTextId) : targetPrefab.Name; targetContainer = FindTargetContainer(Traitors, targetPrefab); if (targetContainer == null) @@ -170,20 +205,29 @@ namespace Barotrauma base.Update(deltaTime); if (target == null) { - target = targetContainer.OwnInventory.Items.FirstOrDefault(item => item != null && item.Prefab.Identifier == identifier && !existingItems.Contains(item)); + target = targetContainer.OwnInventory.Items.FirstOrDefault(item => item != null && item.Prefab.Identifier == (containedPrefab != null ? itemContainerId : identifier) && !existingItems.Contains(item)); if (target != null) { + if (containedPrefab != null) + { + for (int i = 0; i < spawnAmount; i++) + { + Entity.Spawner.AddToSpawnQueue(containedPrefab, target.OwnInventory); + } + } existingItems.Clear(); } } } - public GoalFindItem(string identifier, bool preferNew, bool allowNew, bool allowExisting, params string[] allowedContainerIdentifiers) + public GoalFindItem(TraitorMission.CharacterFilter filter, string identifier, bool preferNew, bool allowNew, bool allowExisting, float percentage, params string[] allowedContainerIdentifiers) { + this.filter = filter; this.identifier = identifier; this.preferNew = preferNew; this.allowNew = allowNew; this.allowExisting = allowExisting; + this.percentage = percentage / 100f; this.allowedContainerIdentifiers.UnionWith(allowedContainerIdentifiers); } } diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalInjectTarget.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalInjectTarget.cs new file mode 100644 index 000000000..b33b65336 --- /dev/null +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalInjectTarget.cs @@ -0,0 +1,78 @@ +using Barotrauma.Networking; +using System.Collections.Generic; +using System.Linq; + +namespace Barotrauma +{ + partial class Traitor + { + public sealed class GoalInjectTarget : Goal + { + public TraitorMission.CharacterFilter Filter { get; private set; } + public List Targets { get; private set; } + + public override IEnumerable InfoTextKeys => base.InfoTextKeys.Concat(new string[] { "[targetname]", "[poison]" }); + public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] { traitor.Mission.GetTargetNames(Targets) ?? "(unknown)", poisonName }); + + private bool isCompleted = false; + public override bool IsCompleted => isCompleted; + + public override bool IsEnemy(Character character) => base.IsEnemy(character) || (!isCompleted && Targets.Contains(character)); + + private string poisonId; + private string afflictionId; + private string poisonName; + private int targetCount; + private float targetPercentage; + private bool[] targetWasInfected; + + public override void Update(float deltaTime) + { + base.Update(deltaTime); + isCompleted = WereAllTargetsInfected(); + } + + private bool WereAllTargetsInfected() + { + for (int i = 0; i < targetWasInfected.Length; i++) + { + if (targetWasInfected[i]) continue; + targetWasInfected[i] = Targets[i].CharacterHealth.GetAffliction(afflictionId) != null; + } + + return targetWasInfected.All(t => t == true); + } + + public override bool Start(Traitor traitor) + { + if (!base.Start(traitor)) + { + return false; + } + poisonName = TextManager.FormatServerMessage(poisonId) ?? poisonId; + + Targets = traitor.Mission.FindKillTarget(traitor.Character, Filter, targetCount, targetPercentage); + targetWasInfected = new bool[Targets.Count]; + return Targets != null && !Targets.All(t => t.IsDead); + } + + public GoalInjectTarget(TraitorMission.CharacterFilter filter, string poisonId, string afflictionId, int targetCount, float targetPercentage) : base() + { + Filter = filter; + this.poisonId = poisonId; + this.afflictionId = afflictionId; + this.targetCount = targetCount; + this.targetPercentage = targetPercentage / 100f; + + if (this.targetPercentage < 1.0f) + { + InfoTextId = "traitorgoalpoisoninfo"; + } + else + { + InfoTextId = "traitorgoalpoisoneveryoneinfo"; + } + } + } + } +} \ No newline at end of file diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalKeepTransformedAlive.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalKeepTransformedAlive.cs new file mode 100644 index 000000000..6e40f2681 --- /dev/null +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalKeepTransformedAlive.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Barotrauma +{ + partial class Traitor + { + public sealed class GoalKeepTransformedAlive : Goal + { + public override IEnumerable InfoTextKeys => base.InfoTextKeys.Concat(new string[] { "[speciesname]" }); + public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] { targetCharacterName }); + + public override bool IsCompleted => isCompleted; + private bool isCompleted; + + private const float gracePeriod = 1f; + private string speciesId; + private string targetCharacterName; + private Character targetCharacter; + private float timer; + + public override bool CanBeCompleted(ICollection traitors) + { + return timer < gracePeriod || targetCharacter != null && !targetCharacter.IsDead; + } + + public override void Update(float deltaTime) + { + base.Update(deltaTime); + + if (timer <= gracePeriod) + { + timer += deltaTime; + } + + isCompleted = targetCharacter != null && !targetCharacter.IsDead && timer >= gracePeriod; + } + + public override bool Start(Traitor traitor) + { + if (!base.Start(traitor)) + { + return false; + } + + var startTime = Timing.TotalTime; + + foreach (Character character in Character.CharacterList) + { + if (character.Submarine == null || Traitors.All(t => character.Submarine.TeamID != t.Character.TeamID) || character.SpawnTime + gracePeriod < startTime) + { + continue; + } + if (character.SpeciesName.ToLowerInvariant() == speciesId) + { + targetCharacter = character; + break; + } + } + + targetCharacterName = TextManager.FormatServerMessage($"character.{speciesId}").ToLowerInvariant(); + + return targetCharacter != null; + } + + public GoalKeepTransformedAlive(string speciesId) : base() + { + this.speciesId = speciesId.ToLowerInvariant(); + } + } + } +} diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalKillTarget.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalKillTarget.cs index e8fad3b79..ca486e419 100644 --- a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalKillTarget.cs +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalKillTarget.cs @@ -9,20 +9,109 @@ namespace Barotrauma public sealed class GoalKillTarget : Goal { public TraitorMission.CharacterFilter Filter { get; private set; } - public Character Target { get; private set; } + public List Targets { get; private set; } - public override IEnumerable InfoTextKeys => base.InfoTextKeys.Concat(new string[] { "[targetname]" }); - public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] { Target?.Name ?? "(unknown)" }); + public override IEnumerable InfoTextKeys => base.InfoTextKeys.Concat(new string[] { "[targetname]", "[causeofdeath]", "[targethullname]" }); + public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] + { traitor.Mission.GetTargetNames(Targets) ?? "(unknown)", GetCauseOfDeath(), targetHull != null ? TextManager.Get($"roomname.{targetHull}") : string.Empty }); private bool isCompleted = false; public override bool IsCompleted => isCompleted; - public override bool IsEnemy(Character character) => base.IsEnemy(character) || (!isCompleted && character == Target); + public override bool IsEnemy(Character character) => base.IsEnemy(character) || (!isCompleted && Targets.Contains(character)); + + private CauseOfDeathType requiredCauseOfDeath; + private string afflictionId; + private string targetHull; + private int targetCount; + private float targetPercentage; public override void Update(float deltaTime) { base.Update(deltaTime); - isCompleted = Target?.IsDead ?? false; + isCompleted = DoesDeathMatchCriteria(); + } + + private bool DoesDeathMatchCriteria() + { + if (Targets == null || Targets.Any(t => !t.IsDead)) return false; + + bool typeMatch = false; + + for (int i = 0; i < Targets.Count; i++) + { + // No specified cause of death required or missing cause of death + if (requiredCauseOfDeath == CauseOfDeathType.Unknown || Targets[i].CauseOfDeath == null) + { + typeMatch = true; + } + else + { + switch (Targets[i].CauseOfDeath.Type) + { + // If a cause of death is labeled as unknown, side with the traitor and accept this regardless of the required type + case CauseOfDeathType.Unknown: + typeMatch = true; + break; + case CauseOfDeathType.Pressure: + case CauseOfDeathType.Suffocation: + case CauseOfDeathType.Drowning: + typeMatch = requiredCauseOfDeath == Targets[i].CauseOfDeath.Type; + break; + case CauseOfDeathType.Affliction: + typeMatch = Targets[i].CauseOfDeath.Type == requiredCauseOfDeath && Targets[i].CauseOfDeath.Affliction.Identifier == afflictionId; + break; + case CauseOfDeathType.Disconnected: + typeMatch = false; + break; + } + } + + if (targetHull != null) + { + if (Targets[i].CurrentHull != null) + { + if (typeMatch && Targets[i].CurrentHull.RoomName == targetHull || Targets[i].CurrentHull.RoomName.Contains(targetHull)) + { + continue; + } + else + { + return false; + } + } + else + { + // Outside the submarine, not supported for now + return false; + } + } + else + { + if (typeMatch) + { + continue; + } + else + { + return false; + } + } + } + + return true; + } + + private string GetCauseOfDeath() + { + if (requiredCauseOfDeath != CauseOfDeathType.Affliction || afflictionId == string.Empty) + { + return requiredCauseOfDeath.ToString().ToLower(); + } + else + { + return TextManager.Get($"afflictionname.{afflictionId}").ToLower(); + } } public override bool Start(Traitor traitor) @@ -31,14 +120,43 @@ namespace Barotrauma { return false; } - Target = traitor.Mission.FindKillTarget(traitor.Character, Filter); - return Target != null && !Target.IsDead; + + Targets = traitor.Mission.FindKillTarget(traitor.Character, Filter, targetCount, targetPercentage); + return Targets != null && !Targets.All(t => t.IsDead); } - public GoalKillTarget(TraitorMission.CharacterFilter filter) : base() + public GoalKillTarget(TraitorMission.CharacterFilter filter, CauseOfDeathType requiredCauseOfDeath, string afflictionId, string targetHull, int targetCount, float targetPercentage) : base() { - InfoTextId = "TraitorGoalKillTargetInfo"; Filter = filter; + this.requiredCauseOfDeath = requiredCauseOfDeath; + this.afflictionId = afflictionId; + this.targetHull = targetHull; + this.targetCount = targetCount; + this.targetPercentage = targetPercentage / 100f; + + if (this.targetPercentage < 1f) + { + if (this.requiredCauseOfDeath == CauseOfDeathType.Unknown && targetHull == null) + { + InfoTextId = "traitorgoalkilltargetinfo"; + } + else if (this.requiredCauseOfDeath != CauseOfDeathType.Unknown && targetHull == null) + { + InfoTextId = "traitorgoalkilltargetinfowithcause"; + } + else if (this.requiredCauseOfDeath == CauseOfDeathType.Unknown && targetHull != null) + { + InfoTextId = "traitorgoalkilltargetinfowithhull"; + } + else if (this.requiredCauseOfDeath != CauseOfDeathType.Unknown && targetHull != null) + { + InfoTextId = "traitorgoalkilltargetinfowithcauseandhull"; + } + } + else + { + InfoTextId = "traitorgoalkilleveryoneinfo"; + } } } } diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalReachDistanceFromSub.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalReachDistanceFromSub.cs index 32c93a7f3..8db03ab3c 100644 --- a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalReachDistanceFromSub.cs +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalReachDistanceFromSub.cs @@ -12,9 +12,10 @@ namespace Barotrauma { private readonly float requiredDistance; private readonly float requiredDistanceSqr; + private float requiredDistanceInMeters; public override IEnumerable InfoTextKeys => base.InfoTextKeys.Concat(new string[] { "[distance]" }); - public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] { $"{requiredDistance:0.00}" }); + public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] { $"{requiredDistanceInMeters:0.00}" }); public override bool IsCompleted { @@ -22,12 +23,21 @@ namespace Barotrauma { return Traitors.Any(traitor => { - if (traitor.Character?.Submarine == null) + Submarine ownSub = null; + + for (int i = 0; i < Submarine.MainSubs.Length; i++) { - return false; + if (Submarine.MainSubs[i] != null && Submarine.MainSubs[i].TeamID == traitor.Character.TeamID) + { + ownSub = Submarine.MainSubs[i]; + break; + } } + + if (ownSub == null) return false; + var characterPosition = traitor.Character.WorldPosition; - var submarinePosition = traitor.Character.Submarine.WorldPosition; + var submarinePosition = ownSub.WorldPosition; var distance = Vector2.DistanceSquared(characterPosition, submarinePosition); return distance >= requiredDistanceSqr; }); @@ -37,8 +47,9 @@ namespace Barotrauma public GoalReachDistanceFromSub(float requiredDistance) : base() { InfoTextId = "TraitorGoalReachDistanceFromSub"; - this.requiredDistance = requiredDistance; - requiredDistanceSqr = requiredDistance * requiredDistance; + requiredDistanceInMeters = requiredDistance; + this.requiredDistance = requiredDistance / Physics.DisplayToRealWorldRatio; + requiredDistanceSqr = this.requiredDistance * this.requiredDistance; } } } diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalUnwiring.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalUnwiring.cs new file mode 100644 index 000000000..bcc4717aa --- /dev/null +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Goals/GoalUnwiring.cs @@ -0,0 +1,96 @@ +using Barotrauma.Items.Components; +using Barotrauma.Networking; +using System.Collections.Generic; +using System.Linq; + +namespace Barotrauma +{ + partial class Traitor + { + public sealed class GoalUnwiring : HumanoidGoal + { + private readonly string tag; + + public override IEnumerable InfoTextKeys => base.InfoTextKeys.Concat(new string[] { "[targetname]", "[connectionname]" }); + public override IEnumerable InfoTextValues(Traitor traitor) => base.InfoTextValues(traitor).Concat(new string[] { targetItemPrefabName ?? "", targetConnectionDisplayName ?? targetConnectionName }); + + private bool isCompleted = false; + public override bool IsCompleted => isCompleted; + + private readonly List targetConnectionPanels = new List(); + private string targetItemPrefabName; + private string targetConnectionName; + private string targetConnectionDisplayName; + + public override bool Start(Traitor traitor) + { + if (!base.Start(traitor)) + { + return false; + } + foreach (var item in Item.ItemList) + { + if (item.Submarine == null || Traitors.All(t => item.Submarine.TeamID != t.Character.TeamID)) + { + continue; + } + if (item.Prefab?.Identifier == tag || item.HasTag(tag)) + { + var connectionPanel = item.GetComponent(); + if (connectionPanel != null) + { + targetConnectionPanels.Add(connectionPanel); + } + } + } + if (targetConnectionPanels.Count > 0) + { + var textId = targetConnectionPanels[0].Item.Prefab.GetItemNameTextId(); + targetItemPrefabName = TextManager.FormatServerMessage(textId) ?? targetConnectionPanels[0].Item.Prefab.Name; + } + + return targetConnectionPanels.Count > 0; + } + + public override void Update(float deltaTime) + { + base.Update(deltaTime); + isCompleted = AreTargetsUnwired(); + } + + private bool AreTargetsUnwired() + { + for (int i = 0; i < targetConnectionPanels.Count; i++) + { + for (int j = 0; j < targetConnectionPanels[i].Connections.Count; j++) + { + if (targetConnectionPanels[i].Connections[j] == null || targetConnectionPanels[i].Connections[j].Wires == null) continue; + if (targetConnectionName != string.Empty) + { + if (targetConnectionPanels[i].Connections[j].Name != targetConnectionName) continue; + } + if (!targetConnectionPanels[i].Connections[j].Wires.All(w => w == null)) return false; + } + } + + return true; + } + + public GoalUnwiring(string tag, string targetConnectionName, string targetConnectionDisplayTag) : base() + { + this.tag = tag; + this.targetConnectionName = targetConnectionName; + + if (targetConnectionDisplayTag != string.Empty) + { + targetConnectionDisplayName = TextManager.FormatServerMessage(targetConnectionDisplayTag); + InfoTextId = "TraitorGoalUnwireInfo"; + } + else + { + InfoTextId = "TraitorGoalUnwireAllInfo"; + } + } + } + } +} diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/Objective.cs b/Barotrauma/BarotraumaServer/Source/Traitors/Objective.cs index 48c4819fe..b8eaf65dc 100644 --- a/Barotrauma/BarotraumaServer/Source/Traitors/Objective.cs +++ b/Barotrauma/BarotraumaServer/Source/Traitors/Objective.cs @@ -101,7 +101,7 @@ namespace Barotrauma { for (var i = allGoalsCount; i > 1;) { - int j = TraitorMission.Random(i--); + int j = TraitorManager.RandomInt(i--); var temp = indices[j]; indices[j] = indices[i]; indices[i] = temp; @@ -125,10 +125,12 @@ namespace Barotrauma completedGoals.Add(goal); } } - if (pendingGoals.Count <= 0) + + if (pendingGoals.Count <= 0 && completedGoals.Count < allGoals.Count) { return false; } + IsStarted = true; traitor.SendChatMessageBox(StartMessageText, traitor.Mission?.Identifier); diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/TraitorManager.cs b/Barotrauma/BarotraumaServer/Source/Traitors/TraitorManager.cs index 2f71ffe1c..c973356bf 100644 --- a/Barotrauma/BarotraumaServer/Source/Traitors/TraitorManager.cs +++ b/Barotrauma/BarotraumaServer/Source/Traitors/TraitorManager.cs @@ -11,6 +11,14 @@ namespace Barotrauma { partial class TraitorManager { + public static readonly Random Random = new Random((int)DateTime.UtcNow.Ticks); + + // All traitor related functionality should use the following interface for generating random values + public static int RandomInt(int n) => Random.Next(n); + + // All traitor related functionality should use the following interface for generating random values + public static double RandomDouble() => Random.NextDouble(); + public readonly Dictionary Missions = new Dictionary(); public string GetCodeWords(Character.TeamType team) => Missions.TryGetValue(team, out var mission) ? mission.CodeWords : ""; @@ -21,33 +29,12 @@ namespace Barotrauma private float startCountdown = 0.0f; private GameServer server; - private readonly Dictionary traitorCountsBySteamId = new Dictionary(); - private readonly Dictionary traitorCountsByEndPoint = new Dictionary(); - public bool ShouldEndRound { get; set; } - public int GetTraitorCount(Tuple steamIdAndEndPoint) - { - if (steamIdAndEndPoint.Item1 > 0 && traitorCountsBySteamId.TryGetValue(steamIdAndEndPoint.Item1, out var steamIdResult)) - { - return steamIdResult; - } - return traitorCountsByEndPoint.TryGetValue(steamIdAndEndPoint.Item2, out var endPointResult) ? endPointResult : 0; - } - - public void SetTraitorCount(Tuple steamIdAndEndPoint, int count) - { - if (steamIdAndEndPoint.Item1 > 0) - { - traitorCountsBySteamId[steamIdAndEndPoint.Item1] = count; - } - traitorCountsByEndPoint[steamIdAndEndPoint.Item2] = count; - } - public bool IsTraitor(Character character) { if (Traitors == null) @@ -80,11 +67,13 @@ namespace Barotrauma ShouldEndRound = false; - Traitor.TraitorMission.InitializeRandom(); this.server = server; - startCountdown = MathHelper.Lerp(server.ServerSettings.TraitorsMinStartDelay, server.ServerSettings.TraitorsMaxStartDelay, (float)Traitor.TraitorMission.RandomDouble()); - traitorCountsBySteamId.Clear(); - traitorCountsByEndPoint.Clear(); + startCountdown = MathHelper.Lerp(server.ServerSettings.TraitorsMinStartDelay, server.ServerSettings.TraitorsMaxStartDelay, (float)RandomDouble()); + } + + public void SkipStartDelay() + { + startCountdown = 0.01f; } public void Update(float deltaTime) @@ -134,7 +123,7 @@ namespace Barotrauma if (missionCompleted) { Missions.Clear(); - startCountdown = MathHelper.Lerp(server.ServerSettings.TraitorsMinRestartDelay, server.ServerSettings.TraitorsMaxRestartDelay, (float)Traitor.TraitorMission.RandomDouble()); + startCountdown = MathHelper.Lerp(server.ServerSettings.TraitorsMinRestartDelay, server.ServerSettings.TraitorsMaxRestartDelay, (float)RandomDouble()); } } else if (startCountdown > 0.0f && server.GameStarted) @@ -145,7 +134,7 @@ namespace Barotrauma int playerCharactersCount = server.ConnectedClients.Sum(client => client.Character != null && !client.Character.IsDead ? 1 : 0); if (playerCharactersCount < server.ServerSettings.TraitorsMinPlayerCount) { - startCountdown = MathHelper.Lerp(server.ServerSettings.TraitorsMinRestartDelay, server.ServerSettings.TraitorsMaxRestartDelay, (float)Traitor.TraitorMission.RandomDouble()); + startCountdown = MathHelper.Lerp(server.ServerSettings.TraitorsMinRestartDelay, server.ServerSettings.TraitorsMaxRestartDelay, (float)RandomDouble()); return; } if (GameMain.GameSession.Mission is CombatMission) @@ -184,7 +173,7 @@ namespace Barotrauma } } Missions.Clear(); - startCountdown = MathHelper.Lerp(server.ServerSettings.TraitorsMinRestartDelay, server.ServerSettings.TraitorsMaxRestartDelay, (float)Traitor.TraitorMission.RandomDouble()); + startCountdown = MathHelper.Lerp(server.ServerSettings.TraitorsMinRestartDelay, server.ServerSettings.TraitorsMaxRestartDelay, (float)RandomDouble()); } } } @@ -198,42 +187,5 @@ namespace Barotrauma return TextManager.JoinServerMessages("\n\n", Missions.Select(mission => mission.Value.GlobalEndMessage).ToArray()); } - - public static T WeightedRandom(IList collection, int startIndex, int count, Func random, Func readSelectedWeight, Action writeSelectedWeight, int entryWeight, int selectionWeight) where T : class - { - if (count <= 0) - { - return null; - } - var maxWeight = readSelectedWeight(collection[startIndex]); - var totalWeight = entryWeight + maxWeight; - for (var i = 1; i < count; ++i) - { - var weight = readSelectedWeight(collection[startIndex + i]); - maxWeight = Math.Max(maxWeight, weight); - totalWeight += weight; - } - maxWeight += entryWeight; - totalWeight = count * maxWeight - totalWeight; - var selected = random(totalWeight); - for(var i = 0; i < count; ++i) - { - var entry = collection[startIndex + i]; - var weight = readSelectedWeight(entry); - selected -= maxWeight; - selected += weight; - if (selected <= 0) - { - writeSelectedWeight(entry, weight + selectionWeight); - return entry; - } - } - return null; - } - - public static T WeightedRandom(IList collection, Func random, Func readSelectedWeight, Action writeSelectedWeight, int entryWeight, int selectionWeight) where T : class - { - return WeightedRandom(collection, 0, collection.Count, random, readSelectedWeight, writeSelectedWeight, entryWeight, selectionWeight); - } } } diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/TraitorMission.cs b/Barotrauma/BarotraumaServer/Source/Traitors/TraitorMission.cs index dbb5235db..730cadcde 100644 --- a/Barotrauma/BarotraumaServer/Source/Traitors/TraitorMission.cs +++ b/Barotrauma/BarotraumaServer/Source/Traitors/TraitorMission.cs @@ -16,23 +16,16 @@ namespace Barotrauma { public class TraitorMission { - private static System.Random random = null; - - public static void InitializeRandom() => random = new System.Random((int)DateTime.UtcNow.Ticks); - - // All traitor related functionality should use the following interface for generating random values - public static int Random(int n) => random.Next(n); - - // All traitor related functionality should use the following interface for generating random values - public static double RandomDouble() => random.NextDouble(); - private static string wordsTxt = Path.Combine("Content", "CodeWords.txt"); private readonly List allObjectives = new List(); private readonly List pendingObjectives = new List(); private readonly List completedObjectives = new List(); - public virtual bool IsCompleted => pendingObjectives.Count <= 0; + /// + /// Has the mission been completed (does not mean that the traitor necessarily won, the mission is considered completed if the traitor fails for whatever reason) + /// + public bool IsCompleted => pendingObjectives.Count <= 0; public readonly Dictionary Traitors = new Dictionary(); @@ -168,14 +161,8 @@ namespace Barotrauma { ++numCandidates; } - var selected = TraitorManager.WeightedRandom(availableCandidates, 0, numCandidates, Random, t => - { - var previousClient = server.FindPreviousClientData(t.Item1); - return Math.Max( - previousClient != null ? traitorManager.GetTraitorCount(previousClient) : 0, - traitorManager.GetTraitorCount(Tuple.Create(t.Item1.SteamID, t.Item1.Connection?.EndPointString ?? ""))); - }, (t, c) => { traitorManager.SetTraitorCount(Tuple.Create(t.Item1.SteamID, t.Item1.Connection?.EndPointString ?? ""), c); }, 2, 3); + var selected = ToolBox.SelectWeightedRandom(availableCandidates, availableCandidates.Select(c => Math.Max(c.Item1.RoundsSincePlayedAsTraitor, 0.1f)).ToList(), TraitorManager.Random); assignedCandidates.Add(Tuple.Create(currentRole, selected)); foreach (var candidate in roleCandidates.Values) { @@ -189,7 +176,7 @@ namespace Barotrauma return assignedCandidates; } - public virtual bool CanBeStarted(GameServer server, TraitorManager traitorManager, Character.TeamType team) + public bool CanBeStarted(GameServer server, TraitorManager traitorManager, Character.TeamType team) { foreach (var role in Roles) { @@ -202,7 +189,7 @@ namespace Barotrauma return AssignTraitors(server, traitorManager, team) != null; } - public virtual bool Start(GameServer server, TraitorManager traitorManager, Character.TeamType team) + public bool Start(GameServer server, TraitorManager traitorManager, Character.TeamType team) { var assignedCandidates = AssignTraitors(server, traitorManager, team); if (assignedCandidates == null) @@ -210,11 +197,17 @@ namespace Barotrauma return false; } + foreach (Client client in server.ConnectedClients) + { + client.RoundsSincePlayedAsTraitor++; + } + Traitors.Clear(); foreach (var candidate in assignedCandidates) { var traitor = new Traitor(this, candidate.Item1, candidate.Item2.Item1.Character); Traitors.Add(candidate.Item1, traitor); + candidate.Item2.Item1.RoundsSincePlayedAsTraitor = 0; } CodeWords = ToolBox.GetRandomLine(wordsTxt) + ", " + ToolBox.GetRandomLine(wordsTxt); CodeResponse = ToolBox.GetRandomLine(wordsTxt) + ", " + ToolBox.GetRandomLine(wordsTxt); @@ -250,15 +243,17 @@ namespace Barotrauma public delegate void TraitorWinHandler(); - public virtual void Update(float deltaTime, TraitorWinHandler winHandler) + public void Update(float deltaTime, TraitorWinHandler winHandler) { if (pendingObjectives.Count <= 0 || Traitors.Count <= 0) { return; } - if (Traitors.Values.Any(traitor => traitor.Character?.IsDead ?? true)) + if (Traitors.Values.Any(traitor => traitor.Character?.IsDead ?? true || traitor.Character.Removed)) { Traitors.Values.ForEach(traitor => traitor.UpdateCurrentObjective("", Identifier)); + pendingObjectives.Clear(); + Traitors.Clear(); return; } var startedObjectives = new List(); @@ -321,28 +316,69 @@ namespace Barotrauma } public delegate bool CharacterFilter(Character character); - public Character FindKillTarget(Character traitor, CharacterFilter filter) + public List FindKillTarget(Character traitor, CharacterFilter filter, int count = -1, float percentage = -1f) { if (traitor == null) { return null; } - List validCharacters = Character.CharacterList.FindAll(c => - c.TeamID == traitor.TeamID && - c != traitor && - !c.IsDead && - (filter == null || filter(c))); + List validCharacters = Character.CharacterList.FindAll(c => c.TeamID == traitor.TeamID && + c != traitor && !c.IsDead && + (filter == null || filter(c))); + + int targetCount = 1; + if (count > 0) + { + targetCount = count; + } + else if (percentage > 0f) + { + targetCount = (int)Math.Max(1, Math.Floor(validCharacters.Count * percentage)); + } + + List targetCharacters = new List(); if (validCharacters.Count > 0) { - return validCharacters[Random(validCharacters.Count)]; + for (int i = 0; i < targetCount; i++) + { + if (validCharacters.Count == 0) break; + Character character = validCharacters[TraitorManager.RandomInt(validCharacters.Count)]; + targetCharacters.Add(character); + validCharacters.Remove(character); + } + return targetCharacters; } #if ALLOW_SOLO_TRAITOR - return traitor; + targetCharacters.Add(traitor); + return targetCharacters; #else return null; #endif } + public string GetTargetNames(List targets) + { + string names = string.Empty; + for (int i = 0; i < targets.Count; i++) + { + names += targets[i].Name; + + if (i < targets.Count - 1) + { + names += ", "; + } + } + + if (names.Length > 0) + { + return names; + } + else + { + return TextManager.FormatServerMessage("unknown"); + } + } + public TraitorMission(string identifier, string startText, string globalEndMessageSuccessTextId, string globalEndMessageSuccessDeadTextId, string globalEndMessageSuccessDetainedTextId, string globalEndMessageFailureTextId, string globalEndMessageFailureDeadTextId, string globalEndMessageFailureDetainedTextId, IEnumerable> roles, ICollection objectives) { Identifier = identifier; diff --git a/Barotrauma/BarotraumaServer/Source/Traitors/TraitorMissionPrefab.cs b/Barotrauma/BarotraumaServer/Source/Traitors/TraitorMissionPrefab.cs index bd7d03f5f..758db65f8 100644 --- a/Barotrauma/BarotraumaServer/Source/Traitors/TraitorMissionPrefab.cs +++ b/Barotrauma/BarotraumaServer/Source/Traitors/TraitorMissionPrefab.cs @@ -12,12 +12,11 @@ namespace Barotrauma public class TraitorMissionEntry { public readonly TraitorMissionPrefab Prefab; - public int SelectedWeight; + public float SelectedWeight; public TraitorMissionEntry(XElement element) { Prefab = new TraitorMissionPrefab(element); - SelectedWeight = 0; } } public static readonly List List = new List(); @@ -39,7 +38,14 @@ namespace Barotrauma public static TraitorMissionPrefab RandomPrefab() { - return TraitorManager.WeightedRandom(List, Traitor.TraitorMission.Random, entry => entry.SelectedWeight, (entry, weight) => entry.SelectedWeight = weight, 2, 3)?.Prefab; + var selected = ToolBox.SelectWeightedRandom(List, List.Select(mission => Math.Max(mission.SelectedWeight, 0.1f)).ToList(), TraitorManager.Random); + //the weight of the missions that didn't get selected keeps growing the make them more likely to get picked + foreach (var mission in List) + { + mission.SelectedWeight += 10; + } + selected.SelectedWeight = 0.0f; + return selected.Prefab; } private class AttributeChecker : IDisposable @@ -113,15 +119,23 @@ namespace Barotrauma case "killtarget": { checker.Optional(targetFilters.Keys.ToArray()); - List filters = new List(); + checker.Optional("causeofdeath"); + checker.Optional("affliction"); + checker.Optional("roomname"); + checker.Optional("targetcount"); + checker.Optional("targetpercentage"); + List killFilters = new List(); foreach (var attribute in Config.Attributes()) { if (targetFilters.TryGetValue(attribute.Name.ToString().ToLower(System.Globalization.CultureInfo.InvariantCulture), out var filter)) { - filters.Add((character) => filter(attribute.Value, character)); + killFilters.Add((character) => filter(attribute.Value, character)); } } - goal = new Traitor.GoalKillTarget((character) => filters.All(f => f(character))); + goal = new Traitor.GoalKillTarget((character) => killFilters.All(f => f(character)), + (CauseOfDeathType)Enum.Parse(typeof(CauseOfDeathType), Config.GetAttributeString("causeofdeath", "Unknown"), true), + Config.GetAttributeString("affliction", null), Config.GetAttributeString("targethull", null), Config.GetAttributeInt("targetcount", -1), + Config.GetAttributeFloat("targetpercentage", -1f)); break; } case "destroyitems": @@ -157,8 +171,16 @@ namespace Barotrauma break; case "finditem": checker.Required("identifier"); - checker.Optional("preferNew", "allowNew", "allowExisting", "allowedContainers"); - goal = new Traitor.GoalFindItem(Config.GetAttributeString("identifier", null), Config.GetAttributeBool("preferNew", true), Config.GetAttributeBool("allowNew", true), Config.GetAttributeBool("allowExisting", true), Config.GetAttributeStringArray("allowedContainers", new string[] {"steelcabinet", "mediumsteelcabinet", "suppliescabinet"})); + checker.Optional("preferNew", "allowNew", "allowExisting", "allowedContainers", "percentage"); + List itemCountFilters = new List(); + foreach (var attribute in Config.Attributes()) + { + if (targetFilters.TryGetValue(attribute.Name.ToString().ToLower(System.Globalization.CultureInfo.InvariantCulture), out var filter)) + { + itemCountFilters.Add((character) => filter(attribute.Value, character)); + } + } + goal = new Traitor.GoalFindItem((character) => itemCountFilters.All(f => f(character)), Config.GetAttributeString("identifier", null), Config.GetAttributeBool("preferNew", true), Config.GetAttributeBool("allowNew", true), Config.GetAttributeBool("allowExisting", true), Config.GetAttributeFloat("percentage", -1f), Config.GetAttributeStringArray("allowedContainers", new string[] {"steelcabinet", "mediumsteelcabinet", "suppliescabinet"})); break; case "replaceinventory": checker.Required("containers", "replacements"); @@ -167,7 +189,39 @@ namespace Barotrauma break; case "reachdistancefromsub": checker.Optional("distance"); - goal = new Traitor.GoalReachDistanceFromSub(Config.GetAttributeFloat("distance", 10000.0f)); + goal = new Traitor.GoalReachDistanceFromSub(Config.GetAttributeFloat("distance", 125f)); + break; + case "injectpoison": + checker.Optional(targetFilters.Keys.ToArray()); + checker.Required("poison"); + checker.Required("affliction"); + checker.Optional("targetcount"); + checker.Optional("targetpercentage"); + List poisonFilters = new List(); + foreach (var attribute in Config.Attributes()) + { + if (targetFilters.TryGetValue(attribute.Name.ToString().ToLower(System.Globalization.CultureInfo.InvariantCulture), out var filter)) + { + poisonFilters.Add((character) => filter(attribute.Value, character)); + } + } + goal = new Traitor.GoalInjectTarget((character) => poisonFilters.All(f => f(character)), Config.GetAttributeString("poison", null), + Config.GetAttributeString("affliction", null), Config.GetAttributeInt("targetcount", -1), Config.GetAttributeFloat("targetpercentage", -1f)); + break; + case "unwire": + checker.Required("tag"); + checker.Optional("connectionname"); + checker.Optional("connectiondisplayname"); + goal = new Traitor.GoalUnwiring(Config.GetAttributeString("tag", null), Config.GetAttributeString("connectionname", null), Config.GetAttributeString("connectiondisplayname)", null)); + break; + case "transformentity": + checker.Required("entities", "entitytypes"); + checker.Optional("catalystid"); + goal = new Traitor.GoalEntityTransformation(Config.GetAttributeStringArray("entities", null), Config.GetAttributeStringArray("entitytypes", null), Config.GetAttributeString("catalystid", null)); + break; + case "keeptransformedalive": + checker.Required("speciesname"); + goal = new Traitor.GoalKeepTransformedAlive(Config.GetAttributeString("speciesname", null)); break; default: GameServer.Log($"Unrecognized goal type \"{goalType}\".", ServerLog.MessageType.Error); diff --git a/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml b/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml index f1f352a9a..b0500a51c 100644 --- a/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml +++ b/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml @@ -58,6 +58,8 @@ + + @@ -81,6 +83,8 @@ + + diff --git a/Barotrauma/BarotraumaShared/Mods/ExampleMod/Redcrawler/Ragdolls/RedcrawlerDefaultRagdoll.xml b/Barotrauma/BarotraumaShared/Mods/ExampleMod/Redcrawler/Ragdolls/RedcrawlerDefaultRagdoll.xml index ac897c815..71035be33 100644 --- a/Barotrauma/BarotraumaShared/Mods/ExampleMod/Redcrawler/Ragdolls/RedcrawlerDefaultRagdoll.xml +++ b/Barotrauma/BarotraumaShared/Mods/ExampleMod/Redcrawler/Ragdolls/RedcrawlerDefaultRagdoll.xml @@ -1,7 +1,7 @@  - + @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -29,37 +29,37 @@ - + - + - + - + - + - + @@ -68,28 +68,28 @@ - + - + - + - + - + - + diff --git a/Barotrauma/BarotraumaShared/SharedCode.projitems b/Barotrauma/BarotraumaShared/SharedCode.projitems index c16a050b1..b7ffe114d 100644 --- a/Barotrauma/BarotraumaShared/SharedCode.projitems +++ b/Barotrauma/BarotraumaShared/SharedCode.projitems @@ -155,9 +155,11 @@ + + @@ -169,6 +171,7 @@ + @@ -275,6 +278,7 @@ + diff --git a/Barotrauma/BarotraumaShared/SharedContent.projitems b/Barotrauma/BarotraumaShared/SharedContent.projitems index a83760e28..b71d0d013 100644 --- a/Barotrauma/BarotraumaShared/SharedContent.projitems +++ b/Barotrauma/BarotraumaShared/SharedContent.projitems @@ -20,13 +20,9 @@ - - - - @@ -114,6 +110,174 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -225,69 +389,6 @@ PreserveNewest - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - PreserveNewest @@ -333,6 +434,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -384,6 +488,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -393,9 +500,6 @@ PreserveNewest - - PreserveNewest - PreserveNewest @@ -459,6 +563,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -468,12 +575,39 @@ PreserveNewest + + PreserveNewest + PreserveNewest PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -489,33 +623,118 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest PreserveNewest + + PreserveNewest + PreserveNewest + + PreserveNewest + PreserveNewest + + PreserveNewest + PreserveNewest PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -779,18 +998,45 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest PreserveNewest + + PreserveNewest + Never PreserveNewest + + PreserveNewest + PreserveNewest @@ -848,6 +1094,33 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -896,6 +1169,33 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -1694,9 +1994,6 @@ PreserveNewest - - PreserveNewest - PreserveNewest @@ -2559,10 +2856,10 @@ PreserveNewest - Never + PreserveNewest - Never + PreserveNewest diff --git a/Barotrauma/BarotraumaShared/SharedContent.shproj.user b/Barotrauma/BarotraumaShared/SharedContent.shproj.user index 7e04c94d7..5bc13ae87 100644 --- a/Barotrauma/BarotraumaShared/SharedContent.shproj.user +++ b/Barotrauma/BarotraumaShared/SharedContent.shproj.user @@ -1,6 +1,6 @@  - false + true \ No newline at end of file diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/AIController.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/AIController.cs index 80aa66cb1..f87c4be5e 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/AIController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/AIController.cs @@ -1,8 +1,9 @@ using Microsoft.Xna.Framework; +using System.Collections.Generic; namespace Barotrauma { - public enum AIState { Idle, Attack, Escape, Eat } + public enum AIState { Idle, Attack, Escape, Eat, Flee } abstract partial class AIController : ISteerable { @@ -11,7 +12,11 @@ namespace Barotrauma public readonly Character Character; private AIState state; + private AIState previousState; + // Update only when the value changes, not when it keeps the same. + protected AITarget _lastAiTarget; + // Updated each time the value is updated (also when the value is the same). protected AITarget _previousAiTarget; protected AITarget _selectedAiTarget; public AITarget SelectedAiTarget @@ -21,6 +26,13 @@ namespace Barotrauma { _previousAiTarget = _selectedAiTarget; _selectedAiTarget = value; + if (_selectedAiTarget != _previousAiTarget) + { + if (_previousAiTarget != null) + { + _lastAiTarget = _previousAiTarget; + } + } } } @@ -72,16 +84,38 @@ namespace Barotrauma get { return state; } set { - if (state == value) return; + if (state == value) { return; } + previousState = state; OnStateChanged(state, value); state = value; } } + public AIState PreviousState => previousState; + + private IEnumerable visibleHulls; + private float hullVisibilityTimer; + const float hullVisibilityInterval = 0.5f; + public IEnumerable VisibleHulls + { + get + { + if (visibleHulls == null) + { + visibleHulls = Character.GetVisibleHulls(); + } + return visibleHulls; + } + private set + { + visibleHulls = value; + } + } + public AIController (Character c) { Character = c; - + hullVisibilityTimer = Rand.Range(0f, hullVisibilityTimer); Enabled = true; } @@ -89,7 +123,18 @@ namespace Barotrauma public virtual void SelectTarget(AITarget target) { } - public virtual void Update(float deltaTime) { } + public virtual void Update(float deltaTime) + { + if (hullVisibilityTimer > 0) + { + hullVisibilityTimer--; + } + else + { + hullVisibilityTimer = hullVisibilityInterval; + VisibleHulls = Character.GetVisibleHulls(); + } + } protected virtual void OnStateChanged(AIState from, AIState to) { } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs index e85432eef..e89761972 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs @@ -19,6 +19,7 @@ namespace Barotrauma /// public bool TargetOutposts; + // TODO: use a struct? class WallTarget { public Vector2 Position; @@ -37,6 +38,8 @@ namespace Barotrauma private const float RaycastInterval = 1.0f; + private float avoidLookAheadDistance; + private SteeringManager outsideSteering, insideSteering; private float updateTargetsTimer; @@ -81,11 +84,16 @@ namespace Barotrauma private Dictionary targetMemories; - private float colliderSize; + private float colliderWidth; + private float colliderLength; + private bool canAttackSub; // TODO: expose? private readonly float priorityFearIncreasement = 2; private readonly float memoryFadeTime = 0.5f; + private readonly float avoidTime = 3; + + private float avoidTimer; public LatchOntoAI LatchOntoAI { get; private set; } public SwarmBehavior SwarmBehavior { get; private set; } @@ -94,8 +102,8 @@ namespace Barotrauma { get { - var targetingPriority = GetTargetingPriority(Character.HumanSpeciesName); - return targetingPriority != null && targetingPriority.State == AIState.Attack && targetingPriority.Priority > 0.0f; + var target = GetTarget(Character.HumanSpeciesName); + return target != null && target.State == AIState.Attack && target.Priority > 0.0f; } } @@ -103,8 +111,8 @@ namespace Barotrauma { get { - var targetingPriority = GetTargetingPriority("room"); - return targetingPriority != null && targetingPriority.State == AIState.Attack && targetingPriority.Priority > 0.0f; + var target = GetTarget("room"); + return target != null && target.State == AIState.Attack && target.Priority > 0.0f; } } @@ -113,7 +121,7 @@ namespace Barotrauma get { //can't enter a submarine when attached to something - return LatchOntoAI == null || !LatchOntoAI.IsAttached; + return Character.AnimController.CanEnterSubmarine && (LatchOntoAI == null || !LatchOntoAI.IsAttached); } } @@ -121,8 +129,12 @@ namespace Barotrauma { get { - //can't flip when attached to something or when reversing - return !Reverse && (LatchOntoAI == null || !LatchOntoAI.IsAttached); + //can't flip when attached to something, when eating, or reversing or in a (relatively) small room + return !Reverse && + (State != AIState.Eat || Character.SelectedCharacter == null) && + (LatchOntoAI == null || !LatchOntoAI.IsAttached) && + (Character.CurrentHull == null || !Character.AnimController.InWater || Math.Min(Character.CurrentHull.Size.X, Character.CurrentHull.Size.Y) > ConvertUnits.ToDisplayUnits(Math.Max(colliderLength, colliderWidth))); + } } @@ -178,14 +190,14 @@ namespace Barotrauma } bool canBreakDoors = false; - if (GetTargetingPriority("room")?.Priority > 0.0f) + if (GetTarget("room")?.Priority > 0.0f) { - AttackContext currentContext = Character.GetAttackContext(); + var currentContexts = Character.GetAttackContexts(); foreach (Limb limb in Character.AnimController.Limbs) { if (limb.attack == null) { continue; } if (!limb.attack.IsValidTarget(AttackTarget.Structure)) { continue; } - if (limb.attack.IsValidContext(currentContext) && limb.attack.StructureDamage > 0.0f) + if (limb.attack.IsValidContext(currentContexts) && limb.attack.StructureDamage > 0.0f) { canBreakDoors = true; break; @@ -198,22 +210,17 @@ namespace Barotrauma steeringManager = outsideSteering; State = AIState.Idle; - colliderSize = 0.1f; - switch (Character.AnimController.Collider.BodyShape) - { - case PhysicsBody.Shape.Capsule: - case PhysicsBody.Shape.HorizontalCapsule: - case PhysicsBody.Shape.Circle: - colliderSize = Character.AnimController.Collider.radius * 2; - break; - case PhysicsBody.Shape.Rectangle: - colliderSize = Math.Min(Character.AnimController.Collider.width, Character.AnimController.Collider.height); - break; - } + var size = Character.AnimController.Collider.GetSize(); + colliderWidth = size.X; + colliderLength = size.Y; + + avoidLookAheadDistance = Math.Max(colliderWidth * 3, 1.5f); + + canAttackSub = Character.AnimController.CanAttackSubmarine; } private CharacterParams.AIParams AIParams => Character.Params.AI; - private CharacterParams.TargetParams GetTargetingPriority(string targetTag) => AIParams.GetTarget(targetTag, false); + private CharacterParams.TargetParams GetTarget(string targetTag) => AIParams.GetTarget(targetTag, false); public override void SelectTarget(AITarget target) => SelectTarget(target, 100); @@ -222,12 +229,12 @@ namespace Barotrauma SelectedAiTarget = target; selectedTargetMemory = GetTargetMemory(target); selectedTargetMemory.Priority = priority; - targetValue = priority; } public override void Update(float deltaTime) { if (DisableEnemyAI) { return; } + base.Update(deltaTime); bool ignorePlatforms = (-Character.AnimController.TargetMovement.Y > Math.Abs(Character.AnimController.TargetMovement.X)); if (steeringManager is IndoorsSteeringManager) @@ -263,7 +270,11 @@ namespace Barotrauma ignoredTargets.Clear(); targetIgnoreTimer = targetIgnoreTime; } - + avoidTimer -= deltaTime; + if (avoidTimer < 0) + { + avoidTimer = 0; + } UpdateTargetMemories(deltaTime); if (updateTargetsTimer > 0.0) { @@ -271,21 +282,20 @@ namespace Barotrauma } else { - UpdateTargets(Character, out CharacterParams.TargetParams targetingPriority); + UpdateTargets(Character, out CharacterParams.TargetParams targetingParams); updateTargetsTimer = UpdateTargetsInterval * Rand.Range(0.75f, 1.25f); - if (SelectedAiTarget == null) + if (avoidTimer > 0) + { + State = AIState.Escape; + } + else if (SelectedAiTarget == null) { State = AIState.Idle; } - else if (Character.HealthPercentage < FleeHealthThreshold && SwarmBehavior == null) + else if (targetingParams != null) { - // Don't flee from damage if in a swarm. - State = AIState.Escape; - } - else if (targetingPriority != null) - { - State = targetingPriority.State; + State = targetingParams.State; } } @@ -326,6 +336,7 @@ namespace Barotrauma UpdateEating(deltaTime); break; case AIState.Escape: + case AIState.Flee: run = true; UpdateEscape(deltaTime); break; @@ -348,31 +359,59 @@ namespace Barotrauma private void UpdateIdle(float deltaTime) { - if (Character.Submarine == null && - SimPosition.Y < ConvertUnits.ToSimUnits(Character.CharacterHealth.CrushDepth * 0.75f)) + var pathSteering = SteeringManager as IndoorsSteeringManager; + if (pathSteering == null) { - //steer straight up if very deep - steeringManager.SteeringManual(deltaTime, Vector2.UnitY); - return; + if (SimPosition.Y < ConvertUnits.ToSimUnits(Character.CharacterHealth.CrushDepth * 0.75f)) + { + //steer straight up if very deep + steeringManager.SteeringManual(deltaTime, Vector2.UnitY); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 1); + return; + } + SteerInsideLevel(deltaTime); } - - SteerInsideLevel(deltaTime); - - if (SelectedAiTarget != null && SelectedAiTarget.Entity.Submarine == Character.Submarine) + if (pathSteering == null && SelectedAiTarget?.Entity != null && SelectedAiTarget.Entity.Submarine == Character.Submarine) { // Steer towards the target Vector2 targetSimPos = Character.Submarine == null ? ConvertUnits.ToSimUnits(SelectedAiTarget.WorldPosition) : SelectedAiTarget.SimPosition; - steeringManager.SteeringAvoid(deltaTime, colliderSize * 3.0f); - steeringManager.SteeringSeek(targetSimPos); + steeringManager.SteeringSeek(targetSimPos, 5); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 5); } else { - // Wander around randomly - if (Character.Submarine == null) + if (pathSteering != null) { - steeringManager.SteeringAvoid(deltaTime, colliderSize * 5.0f); + pathSteering.Wander(deltaTime, ConvertUnits.ToDisplayUnits(colliderLength), stayStillInTightSpace: false); + } + else + { + var target = SelectedAiTarget ?? _lastAiTarget; + if (target?.Entity != null && PreviousState == AIState.Attack) + { + var memory = GetTargetMemory(target); + if (memory != null) + { + var location = memory.Location; + var dist = Vector2.DistanceSquared(WorldPosition, location); + float minDist = 50; + if (dist < minDist * minDist) + { + // Target is gone + SelectedAiTarget = null; + _lastAiTarget = null; + } + else + { + steeringManager.SteeringSeek(Character.GetRelativeSimPosition(target.Entity, location), 5); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 5); + return; + } + } + } + steeringManager.SteeringWander(); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 5); } - steeringManager.SteeringWander(0.5f); } } @@ -400,26 +439,26 @@ namespace Barotrauma { if (gap.Submarine != Character.Submarine) { continue; } if (gap.Open < 1 || gap.IsRoomToRoom) { continue; } + if (escapePoint != Vector2.Zero) + { + // Ignore the gap if it's further away than the previously assigned escape point + if (Vector2.DistanceSquared(Character.SimPosition, gap.SimPosition) > Vector2.DistanceSquared(Character.SimPosition, escapePoint)) { continue; } + } var path = indoorSteering.PathFinder.FindPath(Character.SimPosition, gap.SimPosition, Character.Submarine); if (!path.Unreachable) { - if (escapePoint != Vector2.Zero) - { - // Ignore the gap if it's further away than the previously assigned escape point - if (Vector2.DistanceSquared(Character.SimPosition, gap.SimPosition) > Vector2.DistanceSquared(Character.SimPosition, escapePoint)) { continue; } - } escapePoint = gap.SimPosition; } } } } - else + else if (Character.Submarine == null) { SteerInsideLevel(deltaTime); } if (escapePoint != Vector2.Zero && Vector2.DistanceSquared(Character.SimPosition, escapePoint) > 1) { - SteeringManager.SteeringSeek(escapePoint); + SteeringManager.SteeringSeek(escapePoint, 10); } else { @@ -429,7 +468,7 @@ namespace Barotrauma if (!MathUtils.IsValid(escapeDir)) escapeDir = Vector2.UnitY; SteeringManager.SteeringManual(deltaTime, escapeDir); SteeringManager.SteeringWander(); - SteeringManager.SteeringAvoid(deltaTime, colliderSize * 3.0f); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 5); } } @@ -437,16 +476,19 @@ namespace Barotrauma #region Attack + private Vector2 attackWorldPos; + private Vector2 attackSimPos; + private void UpdateAttack(float deltaTime) { - if (SelectedAiTarget == null) + if (SelectedAiTarget == null || SelectedAiTarget.Entity == null || SelectedAiTarget.Entity.Removed) { State = AIState.Idle; return; } - Vector2 attackWorldPos = SelectedAiTarget.WorldPosition; - Vector2 attackSimPos = SelectedAiTarget.SimPosition; + attackWorldPos = SelectedAiTarget.WorldPosition; + attackSimPos = SelectedAiTarget.SimPosition; if (SelectedAiTarget.Entity is Item item) { @@ -475,23 +517,6 @@ namespace Barotrauma raycastTimer = RaycastInterval; } - if (SelectedAiTarget.Entity is Character c) - { - //target the closest limb if the target is a character - float closestDist = Vector2.DistanceSquared(SelectedAiTarget.WorldPosition, WorldPosition) * 10.0f; - foreach (Limb limb in c.AnimController.Limbs) - { - if (limb == null) continue; - float dist = Vector2.DistanceSquared(limb.WorldPosition, WorldPosition) / Math.Max(limb.AttackPriority, 0.1f); - if (dist < closestDist) - { - closestDist = dist; - attackWorldPos = limb.WorldPosition; - attackSimPos = limb.SimPosition; - } - } - } - if (wallTarget != null) { attackWorldPos = wallTarget.Position; @@ -503,32 +528,10 @@ namespace Barotrauma } else { - // Take the sub position into account in the sim pos - if (Character.Submarine == null && SelectedAiTarget.Entity.Submarine != null) - { - attackSimPos += SelectedAiTarget.Entity.Submarine.SimPosition; - } - else if (Character.Submarine != null && SelectedAiTarget.Entity.Submarine == null) - { - attackSimPos -= Character.Submarine.SimPosition; - } - else if (Character.Submarine != SelectedAiTarget.Entity.Submarine) - { - if (Character.Submarine != null && SelectedAiTarget.Entity.Submarine != null) - { - Vector2 diff = Character.Submarine.SimPosition - SelectedAiTarget.Entity.Submarine.SimPosition; - attackSimPos -= diff; - } - } + attackSimPos = Character.GetRelativeSimPosition(SelectedAiTarget.Entity); } - if (Math.Abs(Character.AnimController.movement.X) > 0.1f && !Character.AnimController.InWater && - (GameMain.NetworkMember == null || GameMain.NetworkMember.IsServer || Character.Controlled == Character)) - { - Character.AnimController.TargetDir = Character.WorldPosition.X < attackWorldPos.X ? Direction.Right : Direction.Left; - } - - if (AggressiveBoarding) + if (CanEnterSubmarine && Character.CurrentHull != null) { //targeting a wall section that can be passed through -> steer manually through the hole if (wallTarget != null && wallTarget.SectionIndex > -1 && CanPassThroughHole(wallTarget.Structure, wallTarget.SectionIndex)) @@ -557,17 +560,55 @@ namespace Barotrauma else if (SelectedAiTarget.Entity is Item i) { var door = i.GetComponent(); - //steer through the door manually if it's open or broken + // Steer through the door manually if it's open or broken + // Don't try to enter dry hulls if cannot walk or if the gap is too narrow if (door?.LinkedGap?.FlowTargetHull != null && !door.LinkedGap.IsRoomToRoom && (door.IsOpen || door.Item.Condition <= 0.0f)) { - LatchOntoAI?.DeattachFromBody(); - Character.AnimController.ReleaseStuckLimbs(); - var velocity = Vector2.Normalize(door.LinkedGap.FlowTargetHull.WorldPosition - Character.WorldPosition); - steeringManager.SteeringManual(deltaTime, velocity); - return; + if (Character.AnimController.CanWalk || door.LinkedGap.FlowTargetHull.WaterPercentage > 25) + { + if (door.LinkedGap.Size > ConvertUnits.ToDisplayUnits(colliderWidth)) + { + LatchOntoAI?.DeattachFromBody(); + Character.AnimController.ReleaseStuckLimbs(); + var velocity = Vector2.Normalize(door.LinkedGap.FlowTargetHull.WorldPosition - Character.WorldPosition); + steeringManager.SteeringManual(deltaTime, velocity); + return; + } + } } } } + else if (SelectedAiTarget.Entity is Structure w && wallTarget == null) + { + // Targeting only the outer walls + bool isBroken = true; + for (int i = 0; i < w.Sections.Length; i++) + { + if (!w.SectionBodyDisabled(i)) + { + isBroken = false; + Vector2 sectionPos = w.SectionPosition(i); + attackWorldPos = sectionPos; + if (w.Submarine != null) + { + attackWorldPos += w.Submarine.Position; + } + attackSimPos = ConvertUnits.ToSimUnits(attackWorldPos); + break; + } + } + if (isBroken) + { + IgnoreTarget(SelectedAiTarget); + State = AIState.Idle; + } + } + + if (Math.Abs(Character.AnimController.movement.X) > 0.1f && !Character.AnimController.InWater && + (GameMain.NetworkMember == null || GameMain.NetworkMember.IsServer || Character.Controlled == Character)) + { + Character.AnimController.TargetDir = Character.WorldPosition.X < attackWorldPos.X ? Direction.Right : Direction.Left; + } bool canAttack = true; if (IsCoolDownRunning) @@ -693,64 +734,58 @@ namespace Barotrauma attackVector = null; } - if (!CanAttack()) - { - // Invalid target - State = AIState.Idle; - IgnoreTarget(SelectedAiTarget); - return; - } - if (canAttack) { if (AttackingLimb == null || _previousAiTarget != SelectedAiTarget) { AttackingLimb = GetAttackLimb(attackWorldPos); } - if (AttackingLimb == null) + canAttack = AttackingLimb != null && AttackingLimb.attack.CoolDownTimer <= 0; + } + if (!canAttack && wallTarget != null && SelectedAiTarget.Entity.Submarine != null && !canAttackSub) + { + // Steer towards the target, but turn away if a wall is blocking the way + float d = ConvertUnits.ToDisplayUnits(colliderLength) * 3; + if (Vector2.DistanceSquared(Character.AnimController.MainLimb.WorldPosition, attackWorldPos) < d * d) { - if (wallTarget != null) - { - float d = ConvertUnits.ToDisplayUnits(colliderSize) * 10; - if (Vector2.DistanceSquared(Character.AnimController.MainLimb.WorldPosition, attackWorldPos) < d * d) - { - // No valid attack limb -> let's turn away - State = AIState.Idle; - IgnoreTarget(SelectedAiTarget); - return; - } - } - canAttack = false; - } - else - { - canAttack = AttackingLimb.attack.CoolDownTimer <= 0; + State = AIState.Idle; + IgnoreTarget(SelectedAiTarget); + return; } } float distance = 0; Limb attackTargetLimb = null; + Character targetCharacter = SelectedAiTarget.Entity as Character; if (canAttack) { - if (SelectedAiTarget.Entity is Character targetCharacter) + // Target a specific limb instead of the target center position + if (wallTarget == null && targetCharacter != null) { var targetLimbType = AttackingLimb.Params.Attack.Attack.TargetLimbType; - if (targetLimbType != LimbType.None) + attackTargetLimb = GetTargetLimb(AttackingLimb, targetCharacter, targetLimbType); + if (attackTargetLimb == null) { - attackTargetLimb = GetTargetLimb(AttackingLimb, targetLimbType, targetCharacter); - if (attackTargetLimb == null) - { - State = AIState.Idle; - return; - } - attackWorldPos = attackTargetLimb.WorldPosition; + State = AIState.Idle; + IgnoreTarget(SelectedAiTarget); + return; } + attackWorldPos = attackTargetLimb.WorldPosition; + attackSimPos = Character.GetRelativeSimPosition(attackTargetLimb); } // Check that we can reach the target Vector2 toTarget = attackWorldPos - AttackingLimb.WorldPosition; - if (SelectedAiTarget.Entity is Character targetC) + if (wallTarget != null) + { + if (wallTarget.Structure.Submarine != null) + { + Vector2 margin = CalculateMargin(wallTarget.Structure.Submarine.Velocity); + toTarget += margin; + } + } + else if (targetCharacter != null) { // Add a margin when the target is moving away, because otherwise it might be difficult to reach it (the attack takes some time to perform) - Vector2 margin = CalculateMargin(targetC.AnimController.Collider.LinearVelocity); + Vector2 margin = CalculateMargin(targetCharacter.AnimController.Collider.LinearVelocity); toTarget += margin; } else if (SelectedAiTarget.Entity is MapEntity e) @@ -764,6 +799,7 @@ namespace Barotrauma Vector2 CalculateMargin(Vector2 targetVelocity) { + if (targetVelocity == Vector2.Zero) { return targetVelocity; } float dot = Vector2.Dot(Vector2.Normalize(targetVelocity), Vector2.Normalize(Character.AnimController.Collider.LinearVelocity)); return ConvertUnits.ToDisplayUnits(targetVelocity) * AttackingLimb.attack.Duration * dot; } @@ -811,40 +847,51 @@ namespace Barotrauma Vector2 offset = Character.SimPosition - steeringLimb.SimPosition; // Offset so that we don't overshoot the movement Vector2 steerPos = attackSimPos + offset; - SteeringManager.SteeringSeek(steerPos, 10); - if (SteeringManager is IndoorsSteeringManager indoorsSteering) + if (SteeringManager is IndoorsSteeringManager pathSteering) { - if (indoorsSteering.CurrentPath != null && !indoorsSteering.IsPathDirty) + if (pathSteering.CurrentPath != null) { - if (indoorsSteering.CurrentPath.Unreachable) + // Attack doors + if (canAttackSub && pathSteering.CurrentPath.CurrentNode?.ConnectedDoor != null && SelectedAiTarget != pathSteering.CurrentPath.CurrentNode.ConnectedDoor.Item.AiTarget) { - if (selectedTargetMemory != null) + SelectTarget(pathSteering.CurrentPath.CurrentNode.ConnectedDoor.Item.AiTarget); + return; + } + else if (canAttackSub && pathSteering.CurrentPath.NextNode?.ConnectedDoor != null && SelectedAiTarget != pathSteering.CurrentPath.NextNode.ConnectedDoor.Item.AiTarget) + { + SelectTarget(pathSteering.CurrentPath.NextNode.ConnectedDoor.Item.AiTarget); + return; + } + else + { + // Steer towards the target if in the same room and swimming + if (Character.AnimController.InWater && targetCharacter != null && VisibleHulls.Contains(targetCharacter.CurrentHull)) { - //wander around randomly and decrease the priority faster if no path is found - selectedTargetMemory.Priority -= deltaTime * memoryFadeTime * 10; + SteeringManager.SteeringManual(deltaTime, Vector2.Normalize(attackSimPos - steeringLimb.SimPosition)); + } + else + { + SteeringManager.SteeringSeek(steerPos, 2); + // Switch to Idle when cannot reach the target and if cannot damage the walls + if ((!canAttackSub || wallTarget == null) && !pathSteering.IsPathDirty && pathSteering.CurrentPath.Unreachable) + { + State = AIState.Idle; + return; + } } - SteeringManager.SteeringWander(); - } - else if (indoorsSteering.CurrentPath.Finished) - { - SteeringManager.SteeringManual(deltaTime, Vector2.Normalize(attackSimPos - steeringLimb.SimPosition)); - } - else if (indoorsSteering.CurrentPath.CurrentNode?.ConnectedDoor != null) - { - wallTarget = null; - SelectedAiTarget = indoorsSteering.CurrentPath.CurrentNode.ConnectedDoor.Item.AiTarget; - } - else if (indoorsSteering.CurrentPath.NextNode?.ConnectedDoor != null) - { - wallTarget = null; - SelectedAiTarget = indoorsSteering.CurrentPath.NextNode.ConnectedDoor.Item.AiTarget; } } + else + { + SteeringManager.SteeringSeek(steerPos, 10); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 5); + } } - else if (Character.CurrentHull == null) + else { - SteeringManager.SteeringAvoid(deltaTime, colliderSize * 1.5f); + SteeringManager.SteeringSeek(steerPos, 10); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 5); } if (canAttack) @@ -887,9 +934,6 @@ namespace Barotrauma return false; } - - private bool CanAttack() => CanAttack(wallTarget != null ? wallTarget.Structure : SelectedAiTarget?.Entity); - private bool CanAttack(Entity target) { if (target == null) { return false; } @@ -905,7 +949,7 @@ namespace Barotrauma private Limb GetAttackLimb(Vector2 attackWorldPos, Limb ignoredLimb = null) { - AttackContext currentContext = Character.GetAttackContext(); + var currentContexts = Character.GetAttackContexts(); Entity target = wallTarget != null ? wallTarget.Structure : SelectedAiTarget?.Entity; if (!CanAttack(target)) { return null; } Limb selectedLimb = null; @@ -917,7 +961,7 @@ namespace Barotrauma var attack = limb.attack; if (attack == null) { continue; } if (attack.CoolDownTimer > 0) { continue; } - if (!attack.IsValidContext(currentContext)) { continue; } + if (!attack.IsValidContext(currentContexts)) { continue; } if (!attack.IsValidTarget(target)) { continue; } if (target is ISerializableEntity se && target is Character) { @@ -973,9 +1017,8 @@ namespace Barotrauma { if (wall.SectionBodyDisabled(i)) { - if (AggressiveBoarding && CanPassThroughHole(wall, i)) + if (CanEnterSubmarine && CanPassThroughHole(wall, i)) { - //aggressive boarders always target holes they can pass through sectionIndex = i; break; } @@ -985,7 +1028,10 @@ namespace Barotrauma continue; } } - if (wall.SectionDamage(i) > sectionDamage) sectionIndex = i; + if (wall.SectionDamage(i) > sectionDamage) + { + sectionIndex = i; + } } Vector2 sectionPos = wall.SectionPosition(sectionIndex); @@ -1036,14 +1082,30 @@ namespace Barotrauma LatchOntoAI?.DeattachFromBody(); Character.AnimController.ReleaseStuckLimbs(); + if (Character.HealthPercentage <= FleeHealthThreshold) + { + State = AIState.Flee; + SelectedAiTarget = null; + wallTarget = null; + return; + } + if (attacker == null || attacker.AiTarget == null) { return; } AITargetMemory targetMemory = GetTargetMemory(attacker.AiTarget); targetMemory.Priority += GetRelativeDamage(attackResult.Damage, Character.Vitality) * AggressionHurt; - // Reduce the cooldown so that the character can react // Only allow to react once. Otherwise would attack the target with only a fraction of cooldown - if (SelectedAiTarget != attacker.AiTarget && Character.Params.AI.RetaliateWhenTakingDamage) + bool retaliate = attacker.Submarine == Character.Submarine && SelectedAiTarget != attacker.AiTarget; + bool avoidGunFire = attacker.Submarine != Character.Submarine && Character.Params.AI.AvoidGunfire; + if (State == AIState.Attack && !IsCoolDownRunning) { + // Don't retaliate or escape while performing an attack + retaliate = false; + avoidGunFire = false; + } + if (retaliate) + { + // Reduce the cooldown so that the character can react foreach (var limb in Character.AnimController.Limbs) { if (limb.attack != null) @@ -1052,6 +1114,10 @@ namespace Barotrauma } } } + else if (avoidGunFire) + { + avoidTimer = avoidTime * Rand.Range(0.75f, 1.25f); + } } // 10 dmg, 100 health -> 0.1 @@ -1059,7 +1125,7 @@ namespace Barotrauma private bool UpdateLimbAttack(float deltaTime, Limb attackingLimb, Vector2 attackSimPos, float distance = -1, Limb targetLimb = null) { - if (SelectedAiTarget == null) { return false; } + if (SelectedAiTarget?.Entity == null) { return false; } if (wallTarget != null) { // If the selected target is not the wall target, make the wall target the selected target. @@ -1093,6 +1159,7 @@ namespace Barotrauma { if (attackVector == null) { + // TODO: test adding some random variance here? attackVector = attackWorldPos - WorldPosition; } Vector2 attackDir = Vector2.Normalize(followThrough ? attackVector.Value : -attackVector.Value); @@ -1101,7 +1168,7 @@ namespace Barotrauma attackDir = Vector2.UnitY; } steeringManager.SteeringManual(deltaTime, attackDir); - steeringManager.SteeringAvoid(deltaTime, colliderSize * 3.0f); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 1); } #endregion @@ -1115,30 +1182,36 @@ namespace Barotrauma State = AIState.Idle; return; } - Limb mouthLimb = Character.AnimController.GetLimb(LimbType.Head); - if (mouthLimb == null) + if (SelectedAiTarget.Entity is Character target) { - DebugConsole.ThrowError("Character \"" + Character.SpeciesName + "\" failed to eat a target (No head limb defined)"); - State = AIState.Idle; - return; - } - Vector2 mouthPos = Character.AnimController.GetMouthPosition().Value; - Vector2 attackSimPosition = Character.Submarine == null ? ConvertUnits.ToSimUnits(SelectedAiTarget.WorldPosition) : SelectedAiTarget.SimPosition; - Vector2 limbDiff = attackSimPosition - mouthPos; - float limbDist = limbDiff.Length(); - if (limbDist < 2.0f) - { - if (SelectedAiTarget.Entity is Character c) + Limb mouthLimb = Character.AnimController.GetLimb(LimbType.Head); + if (mouthLimb == null) { - // TODO: what if we use this for eating something else than characters? - Character.SelectCharacter(c); + DebugConsole.ThrowError("Character \"" + Character.SpeciesName + "\" failed to eat a target (No head limb defined)"); + State = AIState.Idle; + return; + } + Vector2 mouthPos = Character.AnimController.GetMouthPosition().Value; + Vector2 attackSimPosition = Character.GetRelativeSimPosition(target); + Vector2 limbDiff = attackSimPosition - mouthPos; + float limbDist = limbDiff.LengthSquared(); + if (limbDist < 2 * 2) + { + Character.SelectCharacter(target); + steeringManager.SteeringManual(deltaTime, Vector2.Normalize(limbDiff) * 3); + Character.AnimController.Collider.ApplyForce(limbDiff * mouthLimb.Mass * 50.0f, mouthPos); + } + else + { + //steeringManager.SteeringSeek(attackSimPosition - (mouthPos - SimPosition), 2); + steeringManager.SteeringSeek(attackSimPosition + limbDiff, 2); + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: avoidLookAheadDistance, weight: 1); } - steeringManager.SteeringManual(deltaTime, Vector2.Normalize(limbDiff)); - Character.AnimController.Collider.ApplyForce(limbDiff * mouthLimb.Mass * 50.0f, mouthPos); } else { - steeringManager.SteeringSeek(attackSimPosition - (mouthPos - SimPosition), 2); + IgnoreTarget(SelectedAiTarget); + State = AIState.Idle; } } @@ -1150,7 +1223,7 @@ 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 AITarget UpdateTargets(Character character, out CharacterParams.TargetParams priority) + public AITarget UpdateTargets(Character character, out CharacterParams.TargetParams targetingParams) { if ((SelectedAiTarget != null || wallTarget != null) && IsLatchedOnSub) { @@ -1181,50 +1254,44 @@ namespace Barotrauma { // If attached to a valid target, just keep the target. // Priority not used in this case. - priority = null; + targetingParams = null; return SelectedAiTarget; } } AITarget newTarget = null; - priority = null; + targetValue = 0; selectedTargetMemory = null; - targetValue = 0.0f; + targetingParams = null; - foreach (AITarget target in AITarget.List) + foreach (AITarget aiTarget in AITarget.List) { - if (!target.Enabled) {continue; } - // Only ignore targets that are not in the same sub. - if (ignoredTargets.Contains(target) && target.Entity.Submarine != character.Submarine) { continue; } - if (Level.Loaded != null && target.WorldPosition.Y > Level.Loaded.Size.Y) + if (!aiTarget.Enabled) { continue; } + if (ignoredTargets.Contains(aiTarget)) { continue; } + if (Level.Loaded != null && aiTarget.WorldPosition.Y > Level.Loaded.Size.Y) { continue; } - if (target.Type == AITarget.TargetType.HumanOnly) { continue; } + if (aiTarget.Type == AITarget.TargetType.HumanOnly) { continue; } if (!TargetOutposts) { - if (target.Entity.Submarine != null && target.Entity.Submarine.IsOutpost) { continue; } + if (aiTarget.Entity.Submarine != null && aiTarget.Entity.Submarine.IsOutpost) { continue; } } - Character targetCharacter = target.Entity as Character; + Character targetCharacter = aiTarget.Entity as Character; //ignore the aitarget if it is the Character itself - if (targetCharacter == character) continue; + if (targetCharacter == character) { continue; } float valueModifier = 1; string targetingTag = null; if (targetCharacter != null) { + if (targetCharacter.Submarine != Character.Submarine) + { + // In a different sub or the target is outside when we are inside or vice versa. + continue; + } if (targetCharacter.IsDead) { targetingTag = "dead"; - if (targetCharacter.Submarine != Character.Submarine) - { - // In a different sub or the target is outside when we are inside or vice versa -> Ignore the target - continue; - } - else if (targetCharacter.CurrentHull != Character.CurrentHull) - { - // In the same sub, halve the priority, if not in the same hull. - valueModifier = 0.5f; - } } else if (targetCharacter.AIController is EnemyAIController enemy) { @@ -1241,28 +1308,15 @@ namespace Barotrauma { targetingTag = "weaker"; } - if (State == AIState.Escape && targetingTag == "stronger") + if (targetingTag == "stronger" && State == AIState.Escape && SelectedAiTarget.Entity is Character c && c.AIController is EnemyAIController) { // Frightened valueModifier = 2; } - else - { - if (targetCharacter.Submarine != Character.Submarine) - { - // In a different sub or the target is outside when we are inside or vice versa -> Ignore the target - continue; - } - else if (targetCharacter.CurrentHull != Character.CurrentHull) - { - // In the same sub, halve the priority, if not in the same hull. - valueModifier = 0.5f; - } - } } - else if (targetCharacter.Submarine != null && Character.Submarine == null && !AggressiveBoarding) + else if (targetCharacter.CurrentHull != null && character.CurrentHull == null) { - //target inside, AI outside -> we'll be attacking a wall between the characters so use the priority for attacking rooms + // the character is inside and we're outside. targetingTag = "room"; } else if (AIParams.Targets.Any(t => t.Tag.Equals(targetCharacter.SpeciesName, StringComparison.OrdinalIgnoreCase))) @@ -1270,16 +1324,16 @@ namespace Barotrauma targetingTag = targetCharacter.SpeciesName.ToLowerInvariant(); } } - else if (target.Entity != null) + else if (aiTarget.Entity != null) { // Ignore the target if it's a room and the character is already inside a sub - if (character.CurrentHull != null && target.Entity is Hull) { continue; } + if (character.CurrentHull != null && aiTarget.Entity is Hull) { continue; } Door door = null; - if (target.Entity is Item item) + if (aiTarget.Entity is Item item) { //item inside and we're outside -> attack the hull - if (item.CurrentHull != null && character.CurrentHull == null && !AggressiveBoarding) + if (item.CurrentHull != null && character.CurrentHull == null) { targetingTag = "room"; } @@ -1300,7 +1354,7 @@ namespace Barotrauma continue; } } - else if (target.Entity is Structure s) + else if (aiTarget.Entity is Structure s) { targetingTag = "wall"; if (!s.HasBody) @@ -1314,61 +1368,61 @@ namespace Barotrauma } if (character.CurrentHull != null) { - // Ignore walls when inside. + // Ignore walls when inside (walltargets still work) continue; } valueModifier = 1; - float wallMaxHealth = 400; // Anything more than this is ignored -> 200 = 1 - // Prefer weaker targets. - valueModifier *= MathHelper.Lerp(1.5f, 0.5f, MathUtils.InverseLerp(0, 1, s.Health / wallMaxHealth)); - bool canAttackSub = Character.AnimController.CanAttackSubmarine; - if (!AggressiveBoarding) + if (!Character.AnimController.CanEnterSubmarine) { // Ignore disabled walls - bool isDisabled = true; - for (int i = 0; i < s.Sections.Length; i++) + bool isBroken = false; + if (!isBroken) { - if (!s.SectionBodyDisabled(i)) + for (int i = 0; i < s.Sections.Length; i++) { - isDisabled = false; - break; + if (!s.SectionBodyDisabled(i)) + { + isBroken = false; + break; + } } } - if (isDisabled) + if (isBroken) { continue; } } - //var hulls = s.Submarine.GetHulls(false); for (int i = 0; i < s.Sections.Length; i++) { var section = s.Sections[i]; - if (section.gap != null) + if (section.gap == null) { continue; } + bool leadsInside = !section.gap.IsRoomToRoom && section.gap.FlowTargetHull != null; + if (Character.AnimController.CanEnterSubmarine) { - if (AggressiveBoarding) + if (CanPassThroughHole(s, i)) { - if (CanPassThroughHole(s, i)) + valueModifier *= leadsInside ? (AggressiveBoarding ? 5 : 1) : 0; + } + else + { + // Ignore holes that cannot be passed through if cannot attack items/structures. Holes that are big enough should be targeted, so that we can get in + if (!canAttackSub) { - bool leadsInside = !section.gap.IsRoomToRoom && section.gap.FlowTargetHull != null; // hulls.Any(h => h.Rect.Intersects(section.rect) - valueModifier *= leadsInside ? 5 : 0; + valueModifier = 0; + break; } - else + if (AggressiveBoarding) { - // Ignore holes that cannot be passed through if cannot attack items/structures. Holes that are big enough should be targeted, so that we can get in if we are aggressive boarders - if (!canAttackSub) - { - valueModifier = 0; - break; - } // Up to 100% priority increase for every gap in the wall valueModifier *= 1 + section.gap.Open; } } - else - { - bool leadsInside = !section.gap.IsRoomToRoom && section.gap.FlowTargetHull != null; - valueModifier *= leadsInside ? 1 : 0; - } + } + else if (!leadsInside) + { + // Ignore inner walls + valueModifier = 0; + break; } } } @@ -1383,9 +1437,10 @@ namespace Barotrauma { targetingTag = "door"; } + if (door.Item.Submarine == null) { continue;} bool isOutdoor = door.LinkedGap?.FlowTargetHull != null && !door.LinkedGap.IsRoomToRoom; bool isOpen = door.IsOpen || door.Item.Condition <= 0.0f; - if (!isOpen && (!Character.AnimController.CanAttackSubmarine)) + if (!isOpen && (!canAttackSub)) { // Ignore doors that are not open if cannot attack items/structures. Open doors should be targeted, so that we can get in if we are aggressive boarders valueModifier = 0; @@ -1406,40 +1461,41 @@ namespace Barotrauma valueModifier *= isOpen ? 0 : 1; } } - else if (isOpen) //ignore broken and open doors + else if (!Character.AnimController.CanEnterSubmarine && isOpen) //ignore broken and open doors { continue; } } - else if (target.Entity is IDamageable targetDamageable && targetDamageable.Health <= 0.0f) + else if (aiTarget.Entity is IDamageable targetDamageable && targetDamageable.Health <= 0.0f) { continue; } } - if (targetingTag == null) continue; - var targetPrio = GetTargetingPriority(targetingTag); - if (targetPrio == null) { continue; } - valueModifier *= targetPrio.Priority; + if (targetingTag == null) { continue; } + var targetParams = GetTarget(targetingTag); + if (targetParams == null) { continue; } + valueModifier *= targetParams.Priority; - if (valueModifier == 0.0f) continue; + if (valueModifier == 0.0f) { continue; } - Vector2 toTarget = target.WorldPosition - character.WorldPosition; + Vector2 toTarget = aiTarget.WorldPosition - character.WorldPosition; float dist = toTarget.Length(); //if the target has been within range earlier, the character will notice it more easily - //(i.e. remember where the target was) - if (targetMemories.ContainsKey(target)) dist *= 0.5f; + if (targetMemories.ContainsKey(aiTarget)) + { + dist *= 0.9f; + } - //ignore target if it's too far to see or hear - if (dist > target.SightRange * Sight && dist > target.SoundRange * Hearing) continue; - if (!target.IsWithinSector(WorldPosition)) continue; + if (!CanPerceive(aiTarget, dist)) { continue; } + if (!aiTarget.IsWithinSector(WorldPosition)) { continue; } //if the target is very close, the distance doesn't make much difference // -> just ignore the distance and attack whatever has the highest priority dist = Math.Max(dist, 100.0f); - AITargetMemory targetMemory = GetTargetMemory(target); + AITargetMemory targetMemory = GetTargetMemory(aiTarget); if (Character.CurrentHull != null && Math.Abs(toTarget.Y) > Character.CurrentHull.Size.Y) { // Inside the sub, treat objects that are up or down, as they were farther away. @@ -1449,10 +1505,10 @@ namespace Barotrauma if (valueModifier > targetValue) { - newTarget = target; + newTarget = aiTarget; selectedTargetMemory = targetMemory; - priority = GetTargetingPriority(targetingTag); targetValue = valueModifier; + targetingParams = GetTarget(targetingTag); } } @@ -1468,24 +1524,52 @@ namespace Barotrauma { if (!targetMemories.TryGetValue(target, out AITargetMemory memory)) { - memory = new AITargetMemory(10); + memory = new AITargetMemory(target, 10); targetMemories.Add(target, memory); } return memory; } - private List removals = new List(); + private readonly List removals = new List(); private void UpdateTargetMemories(float deltaTime) { - removals.Clear(); - foreach (var memory in targetMemories) + if (_selectedAiTarget != null) { - // Slowly decrease all memories - memory.Value.Priority -= memoryFadeTime * deltaTime; - // Remove targets that have no priority or have been removed - if (memory.Value.Priority <= 1 || !AITarget.List.Contains(memory.Key)) + if (_selectedAiTarget.Entity == null || _selectedAiTarget.Entity.Removed) { - removals.Add(memory.Key); + _selectedAiTarget = null; + } + else + { + if (CanPerceive(_selectedAiTarget, distSquared: Vector2.DistanceSquared(Character.WorldPosition, _selectedAiTarget.WorldPosition))) + { + var memory = GetTargetMemory(_selectedAiTarget); + memory.Location = _selectedAiTarget.WorldPosition; + } + } + } + removals.Clear(); + foreach (var kvp in targetMemories) + { + var target = kvp.Key; + var memory = kvp.Value; + // Slowly decrease all memories + float fadeTime = memoryFadeTime; + if (target == SelectedAiTarget) + { + // Don't decrease the current memory + fadeTime = 0; + } + else if (target == _lastAiTarget) + { + // Halve the latest memory fading. + fadeTime /= 2; + } + memory.Priority -= fadeTime * deltaTime; + // Remove targets that have no priority or have been removed + if (memory.Priority <= 1 || target.Entity == null || target.Entity.Removed || !AITarget.List.Contains(target)) + { + removals.Add(target); } } removals.ForEach(r => targetMemories.Remove(r)); @@ -1496,6 +1580,7 @@ namespace Barotrauma private readonly HashSet ignoredTargets = new HashSet(); public void IgnoreTarget(AITarget target) { + if (target == null) { return; } ignoredTargets.Add(target); targetIgnoreTimer = targetIgnoreTime; } @@ -1511,6 +1596,18 @@ namespace Barotrauma AttackingLimb = null; } + private bool CanPerceive(AITarget target, float dist = -1, float distSquared = -1) + { + if (distSquared > -1) + { + return distSquared <= MathUtils.Pow(target.SightRange * Sight, 2) || distSquared <= MathUtils.Pow(target.SoundRange * Hearing, 2); + } + else + { + return dist <= target.SightRange * Sight || dist <= target.SoundRange * Hearing; + } + } + private void SteerInsideLevel(float deltaTime) { if (Level.Loaded == null) { return; } @@ -1521,7 +1618,7 @@ namespace Barotrauma float margin = 10.0f; - if (SimPosition.Y < 0.0f) + if (SimPosition.Y < 0.0) { steeringManager.SteeringManual(deltaTime, Vector2.UnitY * MathUtils.InverseLerp(0.0f, -margin, SimPosition.Y)); } @@ -1537,7 +1634,7 @@ namespace Barotrauma private int GetMinimumPassableHoleCount() { - return (int)Math.Ceiling(ConvertUnits.ToDisplayUnits(colliderSize) / Structure.WallSectionSize); + return (int)Math.Ceiling(ConvertUnits.ToDisplayUnits(colliderWidth) / Structure.WallSectionSize); } private bool CanPassThroughHole(Structure wall, int sectionIndex) @@ -1564,11 +1661,12 @@ namespace Barotrauma } private List targetLimbs = new List(); - public Limb GetTargetLimb(Limb attackLimb, LimbType targetLimbType, Character target) + public Limb GetTargetLimb(Limb attackLimb, Character target, LimbType targetLimbType = LimbType.None) { targetLimbs.Clear(); foreach (var limb in target.AnimController.Limbs) { + if (limb.IsSevered) { continue; } if (limb.type == targetLimbType || targetLimbType == LimbType.None) { targetLimbs.Add(limb); @@ -1576,12 +1674,21 @@ namespace Barotrauma } if (targetLimbs.None()) { - // If no limbs of given type was found, accept any limb + // If no limbs of given type was found, accept any limb. targetLimbs.AddRange(target.AnimController.Limbs); } - targetLimbs.Sort((limb1, limb2) => Vector2.DistanceSquared(limb1.WorldPosition, attackLimb.WorldPosition) - .CompareTo(Vector2.DistanceSquared(limb2.WorldPosition, attackLimb.WorldPosition))); - return targetLimbs.FirstOrDefault(); + float closestDist = float.MaxValue; + Limb targetLimb = null; + foreach (Limb limb in targetLimbs) + { + float dist = Vector2.DistanceSquared(limb.WorldPosition, attackLimb.WorldPosition) / Math.Max(limb.AttackPriority, 0.1f); + if (dist < closestDist) + { + closestDist = dist; + targetLimb = limb; + } + } + return targetLimb; } } @@ -1591,6 +1698,9 @@ namespace Barotrauma //and if the target attacks the Character, the priority increases) class AITargetMemory { + public readonly AITarget Target; + public Vector2 Location { get; set; } + private float priority; public float Priority @@ -1599,8 +1709,10 @@ namespace Barotrauma set { priority = MathHelper.Clamp(value, 1.0f, 100.0f); } } - public AITargetMemory(float priority) + public AITargetMemory(AITarget target, float priority) { + Target = target; + Location = target.WorldPosition; this.priority = priority; } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/HumanAIController.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/HumanAIController.cs index 117f28a91..feb1411d7 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/HumanAIController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/HumanAIController.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; using Barotrauma.Extensions; +using Barotrauma.Items.Components; namespace Barotrauma { @@ -16,16 +17,20 @@ namespace Barotrauma private float sortTimer; private float crouchRaycastTimer; private float reactTimer; - private float hullVisibilityTimer; + private float unreachableClearTimer; private bool shouldCrouch; const float reactionTime = 0.5f; - const float hullVisibilityInterval = 0.5f; const float crouchRaycastInterval = 1; const float sortObjectiveInterval = 1; + const float clearUnreachableInterval = 30; + + private float flipTimer; + private const float FlipInterval = 0.5f; public static float HULL_SAFETY_THRESHOLD = 50; + public HashSet UnreachableHulls { get; private set; } = new HashSet(); public HashSet UnsafeHulls { get; private set; } = new HashSet(); private SteeringManager outsideSteering, insideSteering; @@ -50,23 +55,6 @@ namespace Barotrauma private set; } - private IEnumerable visibleHulls; - public IEnumerable VisibleHulls - { - get - { - if (visibleHulls == null) - { - visibleHulls = Character.GetVisibleHulls(); - } - return visibleHulls; - } - private set - { - visibleHulls = value; - } - } - public HumanAIController(Character c) : base(c) { if (!c.IsHuman) @@ -78,7 +66,6 @@ namespace Barotrauma objectiveManager = new AIObjectiveManager(c); reactTimer = Rand.Range(0f, reactionTime); sortTimer = Rand.Range(0f, sortObjectiveInterval); - hullVisibilityTimer = Rand.Range(0f, hullVisibilityTimer); InitProjSpecific(); } partial void InitProjSpecific(); @@ -86,6 +73,17 @@ namespace Barotrauma public override void Update(float deltaTime) { if (DisableCrewAI || Character.IsUnconscious || Character.Removed) { return; } + base.Update(deltaTime); + + if (unreachableClearTimer > 0) + { + unreachableClearTimer -= deltaTime; + } + else + { + unreachableClearTimer = clearUnreachableInterval; + UnreachableHulls.Clear(); + } float maxDistanceToSub = 3000; if (Character.Submarine != null || SelectedAiTarget?.Entity?.Submarine != null && @@ -110,17 +108,6 @@ namespace Barotrauma CheckCrouching(deltaTime); Character.ClearInputs(); - if (hullVisibilityTimer > 0) - { - hullVisibilityTimer--; - } - else - { - hullVisibilityTimer = hullVisibilityInterval; - VisibleHulls = Character.GetVisibleHulls(); - } - - objectiveManager.UpdateObjectives(deltaTime); if (sortTimer > 0.0f) { sortTimer -= deltaTime; @@ -130,6 +117,8 @@ namespace Barotrauma objectiveManager.SortObjectives(); sortTimer = sortObjectiveInterval; } + objectiveManager.UpdateObjectives(deltaTime); + if (reactTimer > 0.0f) { reactTimer -= deltaTime; @@ -221,96 +210,316 @@ namespace Barotrauma float speedMultiplier = Character.SpeedMultiplier; if (run || speedMultiplier <= 0.0f) targetMovement *= speedMultiplier; Character.ResetSpeedMultiplier(); // Reset, items will set the value before the next update + + if (Character.AnimController.InWater && targetMovement.LengthSquared() < 0.000001f) + { + bool isAiming = false; + var holdable = Character.SelectedConstruction?.GetComponent(); + if (holdable != null) + { + isAiming = holdable.ControlPose; + } + bool swimInPlace = !isAiming; + if (swimInPlace && ObjectiveManager.GetActiveObjective() is AIObjectiveGoTo goToObjective) + { + if (goToObjective.Target != Character) + { + swimInPlace = false; + } + } + if (swimInPlace) + { + // Swim in place so that we don't fall motionless and look dead. + targetMovement = new Vector2(targetMovement.X, Rand.Range(-0.001f, 0.001f)); + } + } + Character.AnimController.TargetMovement = targetMovement; if (!Character.LockHands) { - DropUnnecessaryItems(); + UnequipUnnecessaryItems(); } - if (Character.IsKeyDown(InputType.Aim)) + flipTimer -= deltaTime; + if (flipTimer <= 0.0f) { - var cursorDiffX = Character.CursorPosition.X - Character.Position.X; - if (cursorDiffX > 10.0f) + Direction newDir = Character.AnimController.TargetDir; + if (Character.IsKeyDown(InputType.Aim)) { - Character.AnimController.TargetDir = Direction.Right; + var cursorDiffX = Character.CursorPosition.X - Character.Position.X; + if (cursorDiffX > 10.0f) + { + newDir = Direction.Right; + } + else if (cursorDiffX < -10.0f) + { + newDir = Direction.Left; + } + if (Character.SelectedConstruction != null) Character.SelectedConstruction.SecondaryUse(deltaTime, Character); } - else if (cursorDiffX < -10.0f) + else if (Math.Abs(Character.AnimController.TargetMovement.X) > 0.1f && !Character.AnimController.InWater) { - Character.AnimController.TargetDir = Direction.Left; + newDir = Character.AnimController.TargetMovement.X > 0.0f ? Direction.Right : Direction.Left; + } + if (newDir != Character.AnimController.TargetDir) + { + Character.AnimController.TargetDir = newDir; + flipTimer = FlipInterval; } - - if (Character.SelectedConstruction != null) Character.SelectedConstruction.SecondaryUse(deltaTime, Character); - - } - else if (Math.Abs(Character.AnimController.TargetMovement.X) > 0.1f && !Character.AnimController.InWater) - { - Character.AnimController.TargetDir = Character.AnimController.TargetMovement.X > 0.0f ? Direction.Right : Direction.Left; } } - private void DropUnnecessaryItems() + private void UnequipUnnecessaryItems() { - if (!NeedsDivingGear(Character.CurrentHull)) + if (ObjectiveManager.HasActiveObjective()) { return; } + if (findItemState == FindItemState.None || findItemState == FindItemState.Extinguisher) { - bool oxygenLow = Character.OxygenAvailable < CharacterHealth.LowOxygenThreshold; - bool highPressure = Character.CurrentHull == null || Character.CurrentHull.LethalPressure > 0 && Character.PressureProtection <= 0; - bool shouldKeepTheGearOn = !ObjectiveManager.IsCurrentObjective(); - bool removeDivingSuit = oxygenLow && !highPressure; - if (!removeDivingSuit) + if (!ObjectiveManager.IsCurrentObjective() && !objectiveManager.HasActiveObjective()) { - bool targetHasNoSuit = objectiveManager.CurrentOrder is AIObjectiveGoTo gtObj && gtObj.mimic && !HasDivingSuit(gtObj.Target as Character); - bool canDropTheSuit = Character.CurrentHull.WaterPercentage < 1 && !Character.IsClimbing && steeringManager == insideSteering && !PathSteering.InStairs; - removeDivingSuit = (!shouldKeepTheGearOn || targetHasNoSuit) && canDropTheSuit; - } - if (removeDivingSuit) - { - var divingSuit = Character.Inventory.FindItemByIdentifier("divingsuit") ?? Character.Inventory.FindItemByTag("divingsuit"); - if (divingSuit != null) + var extinguisher = Character.Inventory.FindItemByTag("extinguisher"); + if (extinguisher != null && Character.HasEquippedItem(extinguisher)) { - // TODO: take the item where it was taken from? - divingSuit.Drop(Character); - } - } - bool targetHasNoMask = objectiveManager.CurrentOrder is AIObjectiveGoTo gotoObjective && gotoObjective.mimic && !HasDivingMask(gotoObjective.Target as Character); - bool takeMaskOff = oxygenLow || (!shouldKeepTheGearOn && Character.CurrentHull.WaterPercentage < 20) || targetHasNoMask; - if (takeMaskOff) - { - var mask = Character.Inventory.FindItemByIdentifier("divingmask"); - if (mask != null && Character.Inventory.IsInLimbSlot(mask, InvSlotType.Head)) - { - // Try to put the mask in an Any slot, and drop it if that fails - if (!mask.AllowedSlots.Contains(InvSlotType.Any) || !Character.Inventory.TryPutItem(mask, Character, new List() { InvSlotType.Any })) + if (ObjectiveManager.GetCurrentPriority() >= AIObjectiveManager.RunPriority) { - mask.Drop(Character); + extinguisher.Drop(Character); + } + else + { + findItemState = FindItemState.Extinguisher; + if (FindSuitableContainer(Character, extinguisher, out Item targetContainer)) + { + findItemState = FindItemState.None; + itemIndex = 0; + if (targetContainer != null) + { + var decontainObjective = new AIObjectiveDecontainItem(Character, extinguisher, targetContainer.GetComponent(), ObjectiveManager, targetContainer.GetComponent()); + decontainObjective.Abandoned += () => ignoredContainers.Add(targetContainer); + ObjectiveManager.CurrentObjective.AddSubObjective(decontainObjective, addFirst: true); + return; + } + else + { + extinguisher.Drop(Character); + } + } } } } } - if (!ObjectiveManager.IsCurrentObjective() && !ObjectiveManager.IsCurrentObjective()) + if (findItemState == FindItemState.None || findItemState == FindItemState.DivingSuit || findItemState == FindItemState.DivingMask) { - var extinguisherItem = Character.Inventory.FindItemByIdentifier("extinguisher") ?? Character.Inventory.FindItemByTag("extinguisher"); - if (extinguisherItem != null && Character.HasEquippedItem(extinguisherItem)) + if (!NeedsDivingGear(Character, Character.CurrentHull, out _)) { - // TODO: take the item where it was taken from? - extinguisherItem.Drop(Character); - } - } - foreach (var item in Character.Inventory.Items) - { - if (item == null) { continue; } - if (ObjectiveManager.CurrentObjective is AIObjectiveIdle) - { - if (item.AllowedSlots.Contains(InvSlotType.RightHand | InvSlotType.LeftHand) && Character.HasEquippedItem(item)) + bool oxygenLow = Character.OxygenAvailable < CharacterHealth.LowOxygenThreshold; + bool shouldKeepTheGearOn = Character.AnimController.HeadInWater + || Character.CurrentHull.WaterPercentage > 50 + || ObjectiveManager.IsCurrentObjective() + || ObjectiveManager.CurrentObjective.GetSubObjectivesRecursive(true).Any(o => o.KeepDivingGearOn); + bool removeDivingSuit = !Character.AnimController.HeadInWater && oxygenLow; + AIObjectiveGoTo gotoObjective = ObjectiveManager.CurrentOrder as AIObjectiveGoTo; + if (!removeDivingSuit) { - // Try to put the weapon in an Any slot, and drop it if that fails - if (!item.AllowedSlots.Contains(InvSlotType.Any) || !Character.Inventory.TryPutItem(item, Character, new List() { InvSlotType.Any })) + bool targetHasNoSuit = gotoObjective != null && gotoObjective.mimic && !HasDivingSuit(gotoObjective.Target as Character); + removeDivingSuit = !shouldKeepTheGearOn && (gotoObjective == null || targetHasNoSuit); + } + bool takeMaskOff = !Character.AnimController.HeadInWater && oxygenLow; + if (!takeMaskOff && Character.CurrentHull.WaterPercentage < 40) + { + bool targetHasNoMask = gotoObjective != null && gotoObjective.mimic && !HasDivingMask(gotoObjective.Target as Character); + takeMaskOff = !shouldKeepTheGearOn && (gotoObjective == null || targetHasNoMask); + } + if (gotoObjective != null) + { + if (gotoObjective.Target is Hull h) { - item.Drop(Character); + if (NeedsDivingGear(Character, h, out _)) + { + removeDivingSuit = false; + takeMaskOff = false; + } + } + else if (gotoObjective.Target is Character c) + { + if (NeedsDivingGear(Character, c.CurrentHull, out _)) + { + removeDivingSuit = false; + takeMaskOff = false; + } + } + else if (gotoObjective.Target is Item i) + { + if (NeedsDivingGear(Character, i.CurrentHull, out _)) + { + removeDivingSuit = false; + takeMaskOff = false; + } + } + } + if (findItemState == FindItemState.None || findItemState == FindItemState.DivingSuit) + { + if (removeDivingSuit) + { + var divingSuit = Character.Inventory.FindItemByTag("divingsuit"); + if (divingSuit != null) + { + if (oxygenLow || ObjectiveManager.GetCurrentPriority() >= AIObjectiveManager.RunPriority) + { + divingSuit.Drop(Character); + } + else + { + findItemState = FindItemState.DivingSuit; + if (FindSuitableContainer(Character, divingSuit, out Item targetContainer)) + { + findItemState = FindItemState.None; + itemIndex = 0; + if (targetContainer != null) + { + var decontainObjective = new AIObjectiveDecontainItem(Character, divingSuit, targetContainer.GetComponent(), ObjectiveManager, targetContainer.GetComponent()); + decontainObjective.Abandoned += () => ignoredContainers.Add(targetContainer); + ObjectiveManager.CurrentObjective.AddSubObjective(decontainObjective, addFirst: true); + return; + } + else + { + divingSuit.Drop(Character); + } + } + } + } + } + } + if (findItemState == FindItemState.None || findItemState == FindItemState.DivingMask) + { + if (takeMaskOff) + { + var mask = Character.Inventory.FindItemByTag("divingmask"); + if (mask != null && Character.Inventory.IsInLimbSlot(mask, InvSlotType.Head)) + { + if (!mask.AllowedSlots.Contains(InvSlotType.Any) || !Character.Inventory.TryPutItem(mask, Character, new List() { InvSlotType.Any })) + { + if (oxygenLow || ObjectiveManager.GetCurrentPriority() >= AIObjectiveManager.RunPriority) + { + mask.Drop(Character); + } + else + { + findItemState = FindItemState.DivingMask; + if (FindSuitableContainer(Character, mask, out Item targetContainer)) + { + findItemState = FindItemState.None; + itemIndex = 0; + if (targetContainer != null) + { + var decontainObjective = new AIObjectiveDecontainItem(Character, mask, targetContainer.GetComponent(), ObjectiveManager, targetContainer.GetComponent()); + decontainObjective.Abandoned += () => ignoredContainers.Add(targetContainer); + ObjectiveManager.CurrentObjective.AddSubObjective(decontainObjective, addFirst: true); + return; + } + else + { + mask.Drop(Character); + } + } + } + } + } } } } } + if (findItemState == FindItemState.None || findItemState == FindItemState.OtherItem) + { + if (ObjectiveManager.IsCurrentObjective() || + ObjectiveManager.IsCurrentObjective() || + ObjectiveManager.IsCurrentObjective() || + ObjectiveManager.IsCurrentObjective()) + { + foreach (var item in Character.Inventory.Items) + { + if (item == null) { continue; } + if (Character.HasEquippedItem(item) && + (Character.Inventory.IsInLimbSlot(item, InvSlotType.RightHand) || + Character.Inventory.IsInLimbSlot(item, InvSlotType.LeftHand) || + Character.Inventory.IsInLimbSlot(item, InvSlotType.RightHand | InvSlotType.LeftHand))) + { + if (!item.AllowedSlots.Contains(InvSlotType.Any) || !Character.Inventory.TryPutItem(item, Character, new List() { InvSlotType.Any })) + { + if (FindSuitableContainer(Character, item, out Item targetContainer)) + { + findItemState = FindItemState.None; + itemIndex = 0; + if (targetContainer != null) + { + var decontainObjective = new AIObjectiveDecontainItem(Character, item, targetContainer.GetComponent(), ObjectiveManager, targetContainer.GetComponent()); + decontainObjective.Abandoned += () => ignoredContainers.Add(targetContainer); + ObjectiveManager.CurrentObjective.AddSubObjective(decontainObjective, addFirst: true); + return; + } + else + { + item.Drop(Character); + } + } + else + { + findItemState = FindItemState.OtherItem; + } + } + } + } + } + } + } + + private enum FindItemState + { + None, + DivingSuit, + DivingMask, + Extinguisher, + OtherItem + } + private FindItemState findItemState; + private int itemIndex; + private List ignoredContainers = new List(); + public bool FindSuitableContainer(Character character, Item containableItem, out Item suitableContainer) + { + suitableContainer = null; + if (character.FindItem(ref itemIndex, out Item targetContainer, ignoredItems: ignoredContainers, customPriorityFunction: i => + { + var container = i.GetComponent(); + if (container == null) { return 0; } + if (container.Inventory.IsFull()) { return 0; } + if (container.ShouldBeContained(containableItem, out bool isRestrictionsDefined)) + { + if (isRestrictionsDefined) + { + return 3; + } + else + { + if (containableItem.Prefab.IsContainerPreferred(container, out bool isPreferencesDefined)) + { + return isPreferencesDefined ? 2 : 1; + } + else + { + return isPreferencesDefined ? 0 : 1; + } + } + } + else + { + return 0; + } + })) + { + suitableContainer = targetContainer; + return true; + } + return false; } protected void ReportProblems() @@ -322,7 +531,7 @@ namespace Barotrauma { foreach (Character c in Character.CharacterList) { - if (c.CurrentHull != hull) { continue; } + if (c.CurrentHull != hull || !c.Enabled) { continue; } if (AIObjectiveFightIntruders.IsValidTarget(c, Character)) { AddTargets(Character, c); @@ -559,23 +768,42 @@ namespace Barotrauma shouldCrouch = Submarine.PickBody(startPos, startPos + Vector2.UnitY * minCeilingDist, null, Physics.CollisionWall) != null; } - public static bool NeedsDivingGear(Hull hull) => hull == null || hull.OxygenPercentage < 50 || hull.WaterPercentage > 50; + public static bool NeedsDivingGear(Character character, Hull hull, out bool needsSuit) + { + needsSuit = false; + if (hull == null || + hull.WaterPercentage > 80 || + (hull.LethalPressure > 0 && character.PressureProtection <= 0) || + (hull.ConnectedGaps.Any() && hull.ConnectedGaps.Max(g => AIObjectiveFixLeaks.GetLeakSeverity(g)) > 60)) + { + needsSuit = true; + return true; + } + if (hull.WaterPercentage > 60 || hull.OxygenPercentage < CharacterHealth.LowOxygenThreshold) + { + return true; + } + return false; + } + + + public static bool HasDivingGear(Character character, float conditionPercentage = 0) => HasDivingSuit(character, conditionPercentage) || HasDivingMask(character, conditionPercentage); /// /// Check whether the character has a diving suit in usable condition plus some oxygen. /// - public static bool HasDivingSuit(Character character) => HasItem(character, "divingsuit", "oxygensource"); + public static bool HasDivingSuit(Character character, float conditionPercentage = 0) => HasItem(character, "divingsuit", "oxygensource", conditionPercentage); /// /// Check whether the character has a diving mask in usable condition plus some oxygen. /// - public static bool HasDivingMask(Character character) => HasItem(character, "diving", "oxygensource"); + public static bool HasDivingMask(Character character, float conditionPercentage = 0) => HasItem(character, "divingmask", "oxygensource", conditionPercentage); - public static bool HasItem(Character character, string tag, string containedTag, float conditionPercentage = 0) + public static bool HasItem(Character character, string identifier, string containedTag, float conditionPercentage = 0) { if (character == null) { return false; } if (character.Inventory == null) { return false; } - var item = character.Inventory.FindItemByTag(tag); + var item = character.Inventory.FindItemByIdentifier(identifier) ?? character.Inventory.FindItemByTag(identifier); return item != null && item.ConditionPercentage > conditionPercentage && character.HasEquippedItem(item) && @@ -700,30 +928,27 @@ namespace Barotrauma public float GetHullSafety(Hull hull, Character character, IEnumerable visibleHulls = null) { - bool updateCurrentHullSafety = character == Character && character.CurrentHull == hull; + bool isCurrentHull = character == Character && character.CurrentHull == hull; if (hull == null) { - if (updateCurrentHullSafety) + if (isCurrentHull) { CurrentHullSafety = 0; } return CurrentHullSafety; } - if (character == Character) + if (isCurrentHull && visibleHulls == null) { - // If the character is this character, we can use the cached hulls. - // If no visible hulls are provided, the calculations don't take visible/adjacent hulls into account. - if (visibleHulls == null) - { - visibleHulls = VisibleHulls; - } + // Use the cached visible hulls + visibleHulls = VisibleHulls; } - bool ignoreFire = ObjectiveManager.IsCurrentObjective() || ObjectiveManager.IsCurrentObjective(); + // TODO: should we calculate the visible hulls for each hull? -> could be a bit heavy. + bool ignoreFire = ObjectiveManager.IsCurrentObjective() || objectiveManager.HasActiveObjective(); bool ignoreWater = HasDivingSuit(character); bool ignoreOxygen = ignoreWater || HasDivingMask(character); bool ignoreEnemies = ObjectiveManager.IsCurrentObjective(); float safety = GetHullSafety(hull, visibleHulls, character, ignoreWater, ignoreOxygen, ignoreFire, ignoreEnemies); - if (updateCurrentHullSafety) + if (isCurrentHull) { CurrentHullSafety = safety; } @@ -752,7 +977,7 @@ namespace Barotrauma float enemyFactor = 1; if (!ignoreEnemies) { - Func isValidTarget = e => !e.IsDead && !e.IsUnconscious && !e.Removed && !IsFriendly(character, e); + Func isValidTarget = e => IsActive(e) && !IsFriendly(character, e); int enemyCount = visibleHulls == null ? Character.CharacterList.Count(e => e.CurrentHull == hull && isValidTarget(e)) : Character.CharacterList.Count(e => visibleHulls.Contains(e.CurrentHull) && isValidTarget(e)); @@ -763,11 +988,15 @@ namespace Barotrauma return MathHelper.Clamp(safety * 100, 0, 100); } + public void FaceTarget(ISpatialEntity target) => Character.AnimController.TargetDir = target.WorldPosition.X > Character.WorldPosition.X ? Direction.Right : Direction.Left; + public bool IsFriendly(Character other) => IsFriendly(Character, other); public static bool IsFriendly(Character me, Character other) => (other.TeamID == me.TeamID || other.TeamID == Character.TeamType.FriendlyNPC || me.TeamID == Character.TeamType.FriendlyNPC) && (other.SpeciesName == me.SpeciesName || other.Params.CompareGroup(me.Params.Group)); + + public static bool IsActive(Character other) => !other.Removed && !other.IsDead && !other.IsUnconscious; } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/IndoorsSteeringManager.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/IndoorsSteeringManager.cs index 90ade2677..e7aead8d7 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/IndoorsSteeringManager.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/IndoorsSteeringManager.cs @@ -3,6 +3,7 @@ using Microsoft.Xna.Framework; using System; using System.Linq; using Barotrauma.Extensions; +using FarseerPhysics; namespace Barotrauma { @@ -142,65 +143,60 @@ namespace Barotrauma IsPathDirty = false; } - public Func startNodeFilter; - public Func endNodeFilter; - - protected override Vector2 DoSteeringSeek(Vector2 target, float weight) + public void SteeringSeek(Vector2 target, float weight, Func startNodeFilter = null, Func endNodeFilter = null, Func nodeFilter = null) { - bool needsNewPath = currentPath != null && currentPath.Unreachable || Vector2.DistanceSquared(target, currentTarget) > 1; + steering += CalculateSteeringSeek(target, weight, startNodeFilter, endNodeFilter, nodeFilter); + } + + private Vector2 CalculateSteeringSeek(Vector2 target, float weight, Func startNodeFilter = null, Func endNodeFilter = null, Func nodeFilter = null) + { + bool needsNewPath = currentPath == null || (currentPath.Unreachable || currentPath.NextNode == null) || Vector2.DistanceSquared(target, currentTarget) > 1; //find a new path if one hasn't been found yet or the target is different from the current target - if (currentPath == null || needsNewPath || findPathTimer < -1.0f) + if (needsNewPath || findPathTimer < -1.0f) { IsPathDirty = true; - - if (findPathTimer > 0.0f) return Vector2.Zero; - + if (findPathTimer > 0.0f) { return Vector2.Zero; } currentTarget = target; - Vector2 pos = host.SimPosition; - // TODO: remove this and handle differently? + Vector2 currentPos = host.SimPosition; if (character != null && character.Submarine == null) { var targetHull = Hull.FindHull(FarseerPhysics.ConvertUnits.ToDisplayUnits(target), null, false); if (targetHull != null && targetHull.Submarine != null) { - pos -= targetHull.Submarine.SimPosition; + currentPos -= targetHull.Submarine.SimPosition; } } - - var newPath = pathFinder.FindPath(pos, target, character.Submarine, "(Character: " + character.Name + ")", startNodeFilter, endNodeFilter); - bool useNewPath = currentPath == null || needsNewPath; + var newPath = pathFinder.FindPath(currentPos, target, character.Submarine, "(Character: " + character.Name + ")", startNodeFilter, endNodeFilter, nodeFilter); + bool useNewPath = currentPath == null || needsNewPath || currentPath.Finished; if (!useNewPath && currentPath != null && currentPath.CurrentNode != null && newPath.Nodes.Any() && !newPath.Unreachable) { // It's possible that the current path was calculated from a start point that is no longer valid. // Therefore, let's accept also paths with a greater cost than the current, if the current node is much farther than the new start node. - useNewPath = newPath.Cost < currentPath.Cost || - Vector2.DistanceSquared(character.WorldPosition, currentPath.CurrentNode.WorldPosition) > Math.Pow(Vector2.Distance(character.WorldPosition, newPath.Nodes.First().WorldPosition) * 2, 2); + useNewPath = newPath.Cost < currentPath.Cost || + Vector2.DistanceSquared(character.WorldPosition, currentPath.CurrentNode.WorldPosition) > Math.Pow(Vector2.Distance(character.WorldPosition, newPath.Nodes.First().WorldPosition) * 3, 2); } if (useNewPath) { currentPath = newPath; } - findPathTimer = Rand.Range(1.0f, 1.2f); - IsPathDirty = false; - return DiffToCurrentNode(); + return DiffToCurrentNode(); } Vector2 diff = DiffToCurrentNode(); - var collider = character.AnimController.Collider; //if not in water and the waypoint is between the top and bottom of the collider, no need to move vertically if (!character.AnimController.InWater && !character.IsClimbing && diff.Y < collider.height / 2 + collider.radius) { diff.Y = 0.0f; } - - if (diff.LengthSquared() < 0.001f) return -host.Steering; - - return Vector2.Normalize(diff) * weight; + if (diff.LengthSquared() < 0.001f) { return -host.Steering; } + return Vector2.Normalize(diff) * weight; } + protected override Vector2 DoSteeringSeek(Vector2 target, float weight) => CalculateSteeringSeek(target, weight, null, null, null); + private Vector2 DiffToCurrentNode() { if (currentPath == null || currentPath.Unreachable) return Vector2.Zero; @@ -270,13 +266,15 @@ namespace Barotrauma { diff.Y = Math.Max(diff.Y, 1.0f); } - - bool aboveFloor = heightFromFloor > 0 && heightFromFloor < collider.height * 1.5f; + // We need some margin, because if a hatch has closed, it's possible that the height from floor is slightly negative. + float margin = 0.1f; + bool aboveFloor = heightFromFloor > -margin && heightFromFloor < collider.height * 1.5f; if (aboveFloor || IsNextNodeLadder) { - if (!nextLadderSameAsCurrent) + if (!nextLadderSameAsCurrent || currentPath.NextNode == null && aboveFloor) { character.AnimController.Anim = AnimController.Animation.None; + character.SelectedConstruction = null; } currentPath.SkipToNextNode(); } @@ -302,7 +300,8 @@ namespace Barotrauma character.SelectedConstruction = null; } float multiplier = MathHelper.Lerp(1, 10, MathHelper.Clamp(collider.LinearVelocity.Length() / 10, 0, 1)); - if (Vector2.DistanceSquared(pos, currentPath.CurrentNode.SimPosition) < MathUtils.Pow(collider.radius * 2 * multiplier, 2)) + float targetDistance = collider.GetSize().X * multiplier; + if (Vector2.DistanceSquared(pos, currentPath.CurrentNode.SimPosition) < MathUtils.Pow(targetDistance, 2)) { currentPath.SkipToNextNode(); } @@ -387,13 +386,13 @@ namespace Barotrauma door = currentWaypoint.ConnectedGap.ConnectedDoor; if (door.LinkedGap.IsHorizontal) { - int currentDir = Math.Sign(nextWaypoint.WorldPosition.X - door.Item.WorldPosition.X); - shouldBeOpen = (door.Item.WorldPosition.X - character.WorldPosition.X) * currentDir > -50.0f; + int dir = Math.Sign(nextWaypoint.WorldPosition.X - door.Item.WorldPosition.X); + shouldBeOpen = (door.Item.WorldPosition.X - character.WorldPosition.X) * dir > -50.0f; } else { - int currentDir = Math.Sign(nextWaypoint.WorldPosition.Y - door.Item.WorldPosition.Y); - shouldBeOpen = (door.Item.WorldPosition.Y - character.WorldPosition.Y) * currentDir > -80.0f; + int dir = Math.Sign(nextWaypoint.WorldPosition.Y - door.Item.WorldPosition.Y); + shouldBeOpen = (door.Item.WorldPosition.Y - character.WorldPosition.Y) * dir > -80.0f; } } } @@ -408,7 +407,18 @@ namespace Barotrauma bool canAccess = CanAccessDoor(door, button => { if (currentWaypoint == null) { return true; } - float distance = Vector2.DistanceSquared(button.Item.WorldPosition, door.Item.WorldPosition); + // Check that the button is on the right side of the door. + if (door.LinkedGap.IsHorizontal) + { + int dir = Math.Sign(nextWaypoint.WorldPosition.X - door.Item.WorldPosition.X); + if (button.Item.WorldPosition.X * dir > door.Item.WorldPosition.X * dir) { return false; } + } + else + { + int dir = Math.Sign(nextWaypoint.WorldPosition.Y - door.Item.WorldPosition.Y); + if (button.Item.WorldPosition.Y * dir > door.Item.WorldPosition.Y * dir) { return false; } + } + float distance = Vector2.DistanceSquared(button.Item.WorldPosition, character.WorldPosition); if (closestButton == null || distance < closestDist) { closestButton = button; @@ -434,17 +444,30 @@ namespace Barotrauma } else { - // Can't reach the button closest to the door. + // Can't reach the button closest to the character. // It's possible that we could reach another buttons. // If this becomes an issue, we could go through them here and check if any of them are reachable // (would have to cache a collection of buttons instead of a single reference in the CanAccess filter method above) - //currentPath.Unreachable = true; + var body = Submarine.PickBody(character.SimPosition, character.GetRelativeSimPosition(closestButton.Item), collisionCategory: Physics.CollisionWall | Physics.CollisionLevel); + if (body != null) + { + if (body.UserData is Item item) + { + var d = item.GetComponent(); + if (d == null || d.IsOpen) { return; } + } + // The button is on the wrong side of the door or a wall + currentPath.Unreachable = true; + } return; } } } else if (shouldBeOpen) { +#if DEBUG + DebugConsole.NewMessage($"{character.Name}: Pathfinding error: Cannot access the door", Color.Yellow); +#endif currentPath.Unreachable = true; return; } @@ -520,6 +543,72 @@ namespace Barotrauma return penalty; } - } - + + public void Wander(float deltaTime, float wallAvoidDistance = 150, bool stayStillInTightSpace = true) + { + //steer away from edges of the hull + bool wander = false; + bool inWater = character.AnimController.InWater; + var currentHull = character.CurrentHull; + if (currentHull != null && !inWater) + { + float roomWidth = currentHull.Rect.Width; + if (stayStillInTightSpace && roomWidth < wallAvoidDistance * 4) + { + Reset(); + } + else + { + float leftDist = character.Position.X - currentHull.Rect.X; + float rightDist = currentHull.Rect.Right - character.Position.X; + if (leftDist < wallAvoidDistance && rightDist < wallAvoidDistance) + { + if (Math.Abs(rightDist - leftDist) > wallAvoidDistance / 2) + { + SteeringManual(deltaTime, Vector2.UnitX * Math.Sign(rightDist - leftDist)); + return; + } + else if (stayStillInTightSpace) + { + Reset(); + return; + } + } + if (leftDist < wallAvoidDistance) + { + float speed = (wallAvoidDistance - leftDist) / wallAvoidDistance; + SteeringManual(deltaTime, Vector2.UnitX * MathHelper.Clamp(speed, 0.25f, 1)); + WanderAngle = 0.0f; + } + else if (rightDist < wallAvoidDistance) + { + float speed = (wallAvoidDistance - rightDist) / wallAvoidDistance; + SteeringManual(deltaTime, -Vector2.UnitX * MathHelper.Clamp(speed, 0.25f, 1)); + WanderAngle = MathHelper.Pi; + } + else + { + wander = true; + } + } + } + else + { + wander = true; + } + if (wander) + { + SteeringWander(); + if (currentHull == null) + { + SteeringAvoid(deltaTime, lookAheadDistance: ConvertUnits.ToSimUnits(wallAvoidDistance)); + } + } + if (!inWater) + { + //reset vertical steering to prevent dropping down from platforms etc + ResetY(); + } + } + } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/LatchOntoAI.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/LatchOntoAI.cs index 5ddf4e7f3..816179149 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/LatchOntoAI.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/LatchOntoAI.cs @@ -133,32 +133,41 @@ namespace Barotrauma case AIState.Idle: if (attachToWalls && character.Submarine == null && Level.Loaded != null) { - raycastTimer -= deltaTime; - //check if there are any walls nearby the character could attach to - if (raycastTimer < 0.0f) + if (!IsAttached) { - wallAttachPos = Vector2.Zero; - - var cells = Level.Loaded.GetCells(character.WorldPosition, 1); - if (cells.Count > 0) + raycastTimer -= deltaTime; + //check if there are any walls nearby the character could attach to + if (raycastTimer < 0.0f) { - foreach (Voronoi2.VoronoiCell cell in cells) + wallAttachPos = Vector2.Zero; + + var cells = Level.Loaded.GetCells(character.WorldPosition, 1); + if (cells.Count > 0) { - foreach (Voronoi2.GraphEdge edge in cell.Edges) + float closestDist = float.PositiveInfinity; + foreach (Voronoi2.VoronoiCell cell in cells) { - if (MathUtils.GetLineIntersection(edge.Point1, edge.Point2, character.WorldPosition, cell.Center, out Vector2 intersection)) + foreach (Voronoi2.GraphEdge edge in cell.Edges) { - attachSurfaceNormal = edge.GetNormal(cell); - attachTargetBody = cell.Body; - wallAttachPos = ConvertUnits.ToSimUnits(intersection); - break; + if (MathUtils.GetLineIntersection(edge.Point1, edge.Point2, character.WorldPosition, cell.Center, out Vector2 intersection)) + { + attachSurfaceNormal = edge.GetNormal(cell); + attachTargetBody = cell.Body; + Vector2 potentialAttachPos = ConvertUnits.ToSimUnits(intersection); + float distSqr = Vector2.DistanceSquared(character.SimPosition, wallAttachPos); + if (distSqr < closestDist) + { + wallAttachPos = potentialAttachPos; + closestDist = distSqr; + } + break; + } } } - if (WallAttachPos != Vector2.Zero) break; } + raycastTimer = RaycastInterval; } - raycastTimer = RaycastInterval; - } + } } else { diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjective.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjective.cs index f51799a7a..0eba82daf 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjective.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjective.cs @@ -12,6 +12,16 @@ namespace Barotrauma public abstract string DebugTag { get; } public virtual bool ForceRun => false; + public virtual bool IgnoreUnsafeHulls => false; + public virtual bool AbandonWhenCannotCompleteSubjectives => true; + public virtual bool AllowSubObjectiveSorting => false; + public virtual bool ReportFailures => true; + + /// + /// Can there be multiple objective instaces of the same type? Currently multiple instances allowed only for main objectives and the subobjectives of objetive loops. + /// In theory, there could be multiple subobjectives of same type for concurrent objectives, but that would make things more complex -> potential issues + /// + public virtual bool AllowMultipleInstances => false; /// /// Run the main objective with all subobjectives concurrently? @@ -19,19 +29,30 @@ namespace Barotrauma /// public virtual bool ConcurrentObjectives => false; + public virtual bool KeepDivingGearOn => false; + protected readonly List subObjectives = new List(); public float Priority { get; set; } public float PriorityModifier { get; private set; } = 1; public readonly Character character; public readonly AIObjectiveManager objectiveManager; - public string Option { get; protected set; } + public string Option { get; private set; } - protected bool abandon; + private bool _abandon; + public bool Abandon + { + get { return _abandon; } + set + { + _abandon = value; + if (_abandon) + { + OnAbandon(); + } + } + } - /// - /// Can the objective be completed. That is, does the objective have failing subobjectives or other conditions that prevent it from completing. - /// - public virtual bool CanBeCompleted => !abandon && subObjectives.All(so => so.CanBeCompleted); + public virtual bool CanBeCompleted => !Abandon; /// /// When true, the objective is never completed, unless CanBeCompleted returns false. @@ -39,71 +60,85 @@ namespace Barotrauma public virtual bool IsLoop { get; set; } public IEnumerable SubObjectives => subObjectives; + private readonly List all = new List(); + public IEnumerable GetSubObjectivesRecursive(bool includingSelf = false) + { + all.Clear(); + if (includingSelf) + { + all.Add(this); + } + foreach (var subObjective in subObjectives) + { + all.AddRange(subObjective.GetSubObjectivesRecursive(true)); + } + return all; + } + public event Action Completed; + public event Action Abandoned; + public event Action Selected; + public event Action Deselected; protected HumanAIController HumanAIController => character.AIController as HumanAIController; protected IndoorsSteeringManager PathSteering => HumanAIController.PathSteering; protected SteeringManager SteeringManager => HumanAIController.SteeringManager; - + + public AIObjective GetActiveObjective() + { + var subObjective = SubObjectives.FirstOrDefault(); + return subObjective == null ? this : subObjective.GetActiveObjective(); + } + public AIObjective(Character character, AIObjectiveManager objectiveManager, float priorityModifier, string option = null) { this.objectiveManager = objectiveManager; this.character = character; Option = option ?? string.Empty; - PriorityModifier = priorityModifier; -#if DEBUG - IsDuplicate(null); -#endif } /// - /// makes the character act according to the objective, or according to any subobjectives that - /// need to be completed before this one + /// Makes the character act according to the objective, or according to any subobjectives that need to be completed before this one /// public void TryComplete(float deltaTime) { + if (isCompleted) { return; } + //if (Abandon && !IsLoop && subObjectives.None()) { return; } + if (CheckState()) { return; } + // Not ready -> act (can't do foreach because it's possible that the collection is modified in event callbacks. for (int i = 0; i < subObjectives.Count; i++) { - var subObjective = subObjectives[i]; - if (subObjective.IsCompleted()) - { -#if DEBUG - DebugConsole.NewMessage($"Removing subobjective {subObjective.DebugTag} of {DebugTag}, because it is completed."); -#endif - subObjective.OnCompleted(); - subObjectives.Remove(subObjective); - } - else if (!subObjective.CanBeCompleted) - { -#if DEBUG - DebugConsole.NewMessage($"Removing subobjective {subObjective.DebugTag} of {DebugTag}, because it cannot be completed."); -#endif - subObjectives.Remove(subObjective); - } + subObjectives[i].TryComplete(deltaTime); + if (!ConcurrentObjectives) { return; } } - - foreach (AIObjective objective in subObjectives) - { - objective.TryComplete(deltaTime); - if (!ConcurrentObjectives) - { - return; - } - } - Act(deltaTime); - if (IsCompleted()) + } + + // TODO: check turret aioperate + public void AddSubObjective(AIObjective objective, bool addFirst = false) + { + var type = objective.GetType(); + subObjectives.RemoveAll(o => o.GetType() == type); + if (addFirst) { - OnCompleted(); + subObjectives.Insert(0, objective); + } + else + { + subObjectives.Add(objective); } } - // TODO: go through AIOperate methods where subobjectives are added and ensure that they add the subobjectives correctly -> use TryAddSubObjective method instead? - public void AddSubObjective(AIObjective objective) + /// + /// This method allows multiple subobjectives of same type. Use with caution. + /// + public void AddSubObjectiveInQueue(AIObjective objective) { - if (subObjectives.Any(o => o.IsDuplicate(objective))) { return; } - subObjectives.Add(objective); + if (!subObjectives.Contains(objective)) + { + subObjectives.Add(objective); + } } public void RemoveSubObjective(ref T objective) where T : AIObjective @@ -120,6 +155,7 @@ namespace Barotrauma public void SortSubObjectives() { + if (!AllowSubObjectiveSorting) { return; } if (subObjectives.None()) { return; } subObjectives.Sort((x, y) => y.GetPriority().CompareTo(x.GetPriority())); if (ConcurrentObjectives) @@ -134,6 +170,8 @@ namespace Barotrauma public virtual float GetPriority() => Priority * PriorityModifier; + public virtual bool IsDuplicate(T otherObjective) where T : AIObjective => otherObjective.Option == Option; + public virtual void Update(float deltaTime) { if (objectiveManager.CurrentOrder == this) @@ -150,8 +188,8 @@ namespace Barotrauma } } Priority = MathHelper.Clamp(Priority, 0, 100); - subObjectives.ForEach(so => so.Update(deltaTime)); } + subObjectives.ForEach(so => so.Update(deltaTime)); } /// @@ -174,9 +212,9 @@ namespace Barotrauma /// /// Checks if the objective already is created and added in subobjectives. If not, creates it. /// Handles objectives that cannot be completed. If the objective has been removed form the subobjectives, a null value is assigned to the reference. - /// Returns true if the objective was created. + /// Returns true if the objective was created and successfully added. /// - protected bool TryAddSubObjective(ref T objective, Func constructor, Action onAbandon = null) where T : AIObjective + protected bool TryAddSubObjective(ref T objective, Func constructor, Action onCompleted = null, Action onAbandon = null) where T : AIObjective { if (objective != null) { @@ -184,11 +222,6 @@ namespace Barotrauma // If the sub objective is removed -> it's either completed or impossible to complete. if (!subObjectives.Contains(objective)) { - if (!objective.CanBeCompleted) - { - abandon = true; - onAbandon?.Invoke(); - } objective = null; } return false; @@ -198,37 +231,122 @@ namespace Barotrauma objective = constructor(); if (!subObjectives.Contains(objective)) { - AddSubObjective(objective); + if (objective.AllowMultipleInstances) + { + subObjectives.Add(objective); + } + else + { + AddSubObjective(objective); + } + if (onCompleted != null) + { + objective.Completed += onCompleted; + } + if (onAbandon != null) + { + objective.Abandoned += onAbandon; + } + return true; } - return true; +#if DEBUG + DebugConsole.ThrowError("Attempted to add a duplicate subobjective!\n" + Environment.StackTrace); +#endif + return false; } } public virtual void OnSelected() { - // Should we reset steering here? - //if (!ConcurrentObjectives) - //{ - // SteeringManager.Reset(); - //} + Reset(); + Selected?.Invoke(); + } + + public virtual void OnDeselected() + { + Deselected?.Invoke(); } protected virtual void OnCompleted() { Completed?.Invoke(); - //if (Completed != null) - //{ - // Completed(); - // Completed = null; - //} } - public virtual void Reset() { } + protected virtual void OnAbandon() + { + Abandoned?.Invoke(); + } + + public virtual void Reset() + { + isCompleted = false; + hasBeenChecked = false; + _abandon = false; + } protected abstract void Act(float deltaTime); - public abstract bool IsCompleted(); + private bool isCompleted; + private bool hasBeenChecked; - public abstract bool IsDuplicate(AIObjective otherObjective); + public bool IsCompleted + { + get + { + if (!hasBeenChecked) + { + CheckState(); + } + return isCompleted; + } + protected set + { + isCompleted = value; + } + } + + protected abstract bool Check(); + + private bool CheckState() + { + hasBeenChecked = true; + CheckSubObjectives(); + if (subObjectives.None()) + { + if (Check()) + { + isCompleted = true; + OnCompleted(); + } + } + return isCompleted; + } + + private void CheckSubObjectives() + { + for (int i = 0; i < subObjectives.Count; i++) + { + var subObjective = subObjectives[i]; + subObjective.CheckState(); + if (subObjective.IsCompleted) + { +#if DEBUG + DebugConsole.NewMessage($"{character.Name}: Removing SUBobjective {subObjective.DebugTag} of {DebugTag}, because it is completed.", Color.LightGreen); +#endif + subObjectives.Remove(subObjective); + } + else if (!subObjective.CanBeCompleted) + { +#if DEBUG + DebugConsole.NewMessage($"{character.Name}: Removing SUBobjective {subObjective.DebugTag} of {DebugTag}, because it cannot be completed.", Color.Red); +#endif + subObjectives.Remove(subObjective); + if (AbandonWhenCannotCompleteSubjectives) + { + Abandon = true; + } + } + } + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveChargeBatteries.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveChargeBatteries.cs index e96b00e6b..fc083ed4f 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveChargeBatteries.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveChargeBatteries.cs @@ -15,11 +15,6 @@ namespace Barotrauma public AIObjectiveChargeBatteries(Character character, AIObjectiveManager objectiveManager, string option, float priorityModifier) : base(character, objectiveManager, priorityModifier, option) { } - public override bool IsDuplicate(AIObjective otherObjective) - { - return otherObjective is AIObjectiveChargeBatteries other && other.Option == Option; - } - protected override bool Filter(PowerContainer battery) { if (battery == null) { return false; } @@ -29,15 +24,8 @@ namespace Barotrauma if (item.Submarine.TeamID != character.TeamID) { return false; } if (item.ConditionPercentage <= 0) { return false; } if (character.Submarine != null && !character.Submarine.IsEntityFoundOnThisSub(item, true)) { return false; } - if (Character.CharacterList.Any(c => c.CurrentHull == item.CurrentHull && !HumanAIController.IsFriendly(c))) { return false; } - if (Option == "charge") - { - if (battery.RechargeRatio >= PowerContainer.aiRechargeTargetRatio - 0.01f) { return false; } - } - else - { - if (battery.RechargeRatio <= 0) { return false; } - } + if (Character.CharacterList.Any(c => c.CurrentHull == item.CurrentHull && !HumanAIController.IsFriendly(c) && HumanAIController.IsActive(c))) { return false; } + if (IsReady(battery)) { return false; } return true; } @@ -67,8 +55,26 @@ namespace Barotrauma return batteryList; } - protected override AIObjective ObjectiveConstructor(PowerContainer battery) - => new AIObjectiveOperateItem(battery, character, objectiveManager, Option, false, priorityModifier: PriorityModifier) { IsLoop = false }; + private bool IsReady(PowerContainer battery) + { + if (battery.HasBeenTuned && character.CurrentOrder == null) { return true; } + if (Option == "charge") + { + return battery.RechargeRatio >= PowerContainer.aiRechargeTargetRatio; + } + else + { + return battery.RechargeRatio <= 0; + } + } + + protected override AIObjective ObjectiveConstructor(PowerContainer battery) => + new AIObjectiveOperateItem(battery, character, objectiveManager, Option, false, priorityModifier: PriorityModifier) + { + IsLoop = false, + Override = character.CurrentOrder != null, + completionCondition = () => IsReady(battery) + }; protected override void OnObjectiveCompleted(AIObjective objective, PowerContainer target) => HumanAIController.RemoveTargets(character, target); diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveCombat.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveCombat.cs index 94ac4404c..435a06077 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveCombat.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveCombat.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Linq; using Barotrauma.Extensions; -using FarseerPhysics; namespace Barotrauma { @@ -12,9 +11,19 @@ namespace Barotrauma { public override string DebugTag => "combat"; + public override bool KeepDivingGearOn => true; + public override bool IgnoreUnsafeHulls => true; + private readonly CombatMode initialMode; + private float seekWeaponsTimer; + const float seekWeaponsInterval = 1; + private float ignoreWeaponTimer; + const float ignoredWeaponsClearTime = 10; + const float coolDown = 10.0f; + // Won't take the offensive with weapons that have lower priority than this + const float goodWeaponPriority = 30; public Character Enemy { get; private set; } public bool HoldPosition { get; set; } @@ -48,9 +57,11 @@ namespace Barotrauma } public override bool ConcurrentObjectives => true; + public override bool AbandonWhenCannotCompleteSubjectives => false; private readonly AIObjectiveFindSafety findSafety; private readonly HashSet weapons = new HashSet(); + private readonly HashSet ignoredWeapons = new HashSet(); private AIObjectiveContainItem seekAmmunition; private AIObjectiveGoTo retreatObjective; @@ -79,7 +90,7 @@ namespace Barotrauma if (findSafety != null) { findSafety.Priority = 0; - findSafety.unreachable.Clear(); + HumanAIController.UnreachableHulls.Clear(); } Mode = mode; initialMode = Mode; @@ -91,15 +102,19 @@ namespace Barotrauma public override float GetPriority() => (Enemy != null && (Enemy.Removed || Enemy.IsDead)) ? 0 : Math.Min(100 * PriorityModifier, 100); - public override bool IsDuplicate(AIObjective otherObjective) + public override void Update(float deltaTime) { - if (!(otherObjective is AIObjectiveCombat objective)) return false; - return objective.Enemy == Enemy; + base.Update(deltaTime); + ignoreWeaponTimer -= deltaTime; + seekWeaponsTimer -= deltaTime; + if (ignoreWeaponTimer < 0) + { + ignoredWeapons.Clear(); + ignoreWeaponTimer = ignoredWeaponsClearTime; + } } - public override void OnSelected() => Weapon = null; - - public override bool IsCompleted() + protected override bool Check() { bool completed = (Enemy != null && (Enemy.Removed || Enemy.IsDead)) || (initialMode != CombatMode.Offensive && coolDownTimer <= 0); if (completed) @@ -122,18 +137,16 @@ namespace Barotrauma { coolDownTimer -= deltaTime; } - if (abandon) { return; } - TryArm(); - if (seekAmmunition == null || !subObjectives.Contains(seekAmmunition)) + if (seekAmmunition == null) { - if (!HoldPosition) - { - Move(); - } - if (WeaponComponent != null) + if (TryArm()) { OperateWeapon(deltaTime); } + if (!HoldPosition && seekAmmunition == null) + { + Move(); + } } } @@ -153,42 +166,117 @@ namespace Barotrauma } } + private bool IsLoaded(ItemComponent weapon) => weapon.HasRequiredContainedItems(character, addMessage: false); + private bool TryArm() { - if (character.LockHands) { return false; } - - if (Weapon != null) + if (character.LockHands || Enemy == null) { - if (!character.Inventory.Items.Contains(Weapon) || WeaponComponent == null) + Weapon = null; + return false; + } + if (seekWeaponsTimer < 0) + { + seekWeaponsTimer = seekWeaponsInterval; + // First go through all weapons and try to reload without seeking ammunition + var allWeapons = GetAllWeapons().ToList(); + while (allWeapons.Any()) { - Weapon = null; - } - else if (!WeaponComponent.HasRequiredContainedItems(character, addMessage: false)) - { - // Seek ammunition only if cannot find a new weapon - if (!Reload(!HoldPosition, () => GetWeapon(out _) == null)) + Weapon = GetWeapon(allWeapons, out _weaponComponent); + if (Weapon == null) { - if (seekAmmunition != null && subObjectives.Contains(seekAmmunition)) - { - return false; - } - else + // No weapons + break; + } + if (!character.Inventory.Items.Contains(Weapon) || WeaponComponent == null) + { + // Not in the inventory anymore or cannot find the weapon component + allWeapons.Remove(WeaponComponent); + Weapon = null; + continue; + } + if (initialMode == CombatMode.Offensive) + { + // In the offensive mode, let's ignore weapons that cannot be used in the offensive mode + if (WeaponComponent.CombatPriority < goodWeaponPriority) { + allWeapons.Remove(WeaponComponent); Weapon = null; + continue; + } + } + if (IsLoaded(WeaponComponent)) + { + // All good, the weapon is loaded + break; + } + if (Reload(seekAmmo: false)) + { + // All good, reloading successful + break; + } + else + { + // No ammo. + allWeapons.Remove(WeaponComponent); + Weapon = null; + } + } + if (Weapon == null) + { + // No weapon found with the conditions above. Try again, now let's try to seek ammunition too + Weapon = GetWeapon(out _weaponComponent); + if (Weapon != null) + { + if (!CheckWeapon(seekAmmo: true)) + { + if (seekAmmunition != null) + { + // No loaded weapon, but we are trying to seek ammunition. + return false; + } + else + { + Weapon = null; + } } } } } - if (Weapon == null) + else { - Weapon = GetWeapon(out _weaponComponent); + if (!CheckWeapon(seekAmmo: false)) + { + Weapon = null; + } } if (Weapon == null) { - Weapon = GetWeapon(out _weaponComponent, ignoreRequiredItems: true); + Mode = CombatMode.Retreat; + } + else + { + Mode = WeaponComponent.CombatPriority >= goodWeaponPriority ? initialMode : CombatMode.Defensive; } - Mode = Weapon == null ? CombatMode.Retreat : initialMode; return Weapon != null; + + bool CheckWeapon(bool seekAmmo) + { + if (!character.Inventory.Items.Contains(Weapon) || WeaponComponent == null) + { + // Not in the inventory anymore or cannot find the weapon component + return false; + } + if (!IsLoaded(WeaponComponent)) + { + // Try reloading (and seek ammo) + if (!Reload(seekAmmo)) + { + return false; + } + } + return true; + }; } private void OperateWeapon(float deltaTime) @@ -209,59 +297,72 @@ namespace Barotrauma } } - private Item GetWeapon(out ItemComponent weaponComponent, bool ignoreRequiredItems = false) + private Item GetWeapon(out ItemComponent weaponComponent) { - weapons.Clear(); - _weaponComponent = null; - foreach (var item in character.Inventory.Items) - { - if (item == null) { continue; } - SeekWeapons(item); - if (item.OwnInventory != null) - { - item.OwnInventory.Items.ForEach(i => SeekWeapons(i)); - } - } - weaponComponent = weapons.OrderByDescending(w => w.CombatPriority).FirstOrDefault(); + GetAllWeapons(); + return GetWeapon(weapons, out weaponComponent); + } + + private Item GetWeapon(IEnumerable weaponList, out ItemComponent weaponComponent) + { + weaponComponent = weaponList.OrderByDescending(w => CalculateWeaponPriority(w)).FirstOrDefault(); if (weaponComponent == null) { return null; } if (weaponComponent.CombatPriority < 1) { return null; } return weaponComponent.Item; + } - void SeekWeapons(Item item) + private float CalculateWeaponPriority(ItemComponent weapon) + { + float priority = weapon.CombatPriority; + // Halve the priority for weapons that don't have proper ammunition loaded. + if (!weapon.HasRequiredContainedItems(character, addMessage: false)) { - if (item == null) { return; } - foreach (var component in item.Components) + priority /= 2; + } + return priority; + } + + private HashSet GetAllWeapons() + { + weapons.Clear(); + foreach (var item in character.Inventory.Items) + { + if (item == null) { continue; } + if (ignoredWeapons.Contains(item)) { continue; } + SeekWeapons(item, weapons); + if (item.OwnInventory != null) { - if (component is RangedWeapon rw) + item.OwnInventory.Items.ForEach(i => SeekWeapons(i, weapons)); + } + } + return weapons; + } + + private void SeekWeapons(Item item, ICollection weaponList) + { + if (item == null) { return; } + foreach (var component in item.Components) + { + if (component is RangedWeapon rw) + { + weaponList.Add(rw); + } + else if (component is MeleeWeapon mw) + { + weaponList.Add(mw); + } + else + { + var effects = component.statusEffectLists; + if (effects != null) { - if (ignoreRequiredItems || rw.HasRequiredContainedItems(character, addMessage: false)) + foreach (var statusEffects in effects.Values) { - weapons.Add(rw); - } - } - else if (component is MeleeWeapon mw) - { - if (ignoreRequiredItems || mw.HasRequiredContainedItems(character, addMessage: false)) - { - weapons.Add(mw); - } - } - else - { - var effects = component.statusEffectLists; - if (effects != null) - { - foreach (var statusEffects in effects.Values) + foreach (var statusEffect in statusEffects) { - foreach (var statusEffect in statusEffects) + if (statusEffect.Afflictions.Any()) { - if (statusEffect.Afflictions.Any()) - { - if (ignoreRequiredItems || component.HasRequiredContainedItems(character, addMessage: false)) - { - weapons.Add(component); - } - } + weaponList.Add(component); } } } @@ -286,17 +387,14 @@ namespace Barotrauma if (character.LockHands) { return false; } if (!WeaponComponent.HasRequiredContainedItems(character, addMessage: false)) { - Mode = CombatMode.Retreat; return false; } - //if (!character.SelectedItems.Contains(Weapon)) if (!character.HasEquippedItem(Weapon)) { Weapon.TryInteract(character, forceSelectKey: true); var slots = Weapon.AllowedSlots.FindAll(s => s == InvSlotType.LeftHand || s == InvSlotType.RightHand || s == (InvSlotType.LeftHand | InvSlotType.RightHand)); if (character.Inventory.TryPutItem(Weapon, character, slots)) { - Weapon.Equip(character); aimTimer = Rand.Range(0.5f, 1f); } else @@ -323,13 +421,15 @@ namespace Barotrauma } if (character.CurrentHull != retreatTarget) { - TryAddSubObjective(ref retreatObjective, () => new AIObjectiveGoTo(retreatTarget, character, objectiveManager, false, true)); + TryAddSubObjective(ref retreatObjective, () => new AIObjectiveGoTo(retreatTarget, character, objectiveManager, false, true), + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref retreatObjective)); } } private void Engage() { - if (character.LockHands) + if (character.LockHands || Enemy == null) { Mode = CombatMode.Retreat; SteeringManager.Reset(); @@ -346,18 +446,18 @@ namespace Barotrauma TryAddSubObjective(ref followTargetObjective, constructor: () => new AIObjectiveGoTo(Enemy, character, objectiveManager, repeat: true, getDivingGearIfNeeded: true) { - AllowGoingOutside = true, IgnoreIfTargetDead = true }, onAbandon: () => { - Mode = CombatMode.Retreat; + Mode = CombatMode.Defensive; SteeringManager.Reset(); + RemoveSubObjective(ref followTargetObjective); }); - if (followTargetObjective != null && subObjectives.Contains(followTargetObjective)) + if (followTargetObjective != null) { followTargetObjective.CloseEnough = - WeaponComponent is RangedWeapon ? 300 : + WeaponComponent is RangedWeapon ? 1000 : WeaponComponent is MeleeWeapon mw ? mw.Range : WeaponComponent is RepairTool rt ? rt.Range : 50; } @@ -377,29 +477,40 @@ namespace Barotrauma targetItemCount = Weapon.GetComponent().Capacity, checkInventory = false }, + onCompleted: () => RemoveSubObjective(ref seekAmmunition), onAbandon: () => { - Weapon = null; - Mode = CombatMode.Retreat; SteeringManager.Reset(); + RemoveSubObjective(ref seekAmmunition); + ignoredWeapons.Add(Weapon); + Weapon = null; }); } /// /// Reloads the ammunition found in the inventory. - /// If seekAmmo is true and the condition is met or not provided, tries to get find the ammo elsewhere. + /// If seekAmmo is true, tries to get find the ammo elsewhere. /// - private bool Reload(bool seekAmmo, Func condition = null) + private bool Reload(bool seekAmmo) { if (WeaponComponent == null) { return false; } if (!WeaponComponent.requiredItems.ContainsKey(RelatedItem.RelationType.Contained)) { return false; } var containedItems = Weapon.ContainedItems; + // Drop empty ammo + foreach (Item containedItem in containedItems) + { + if (containedItem == null) { continue; } + if (containedItem.Condition <= 0) + { + containedItem.Drop(character); + } + } RelatedItem item = null; Item ammunition = null; string[] ammunitionIdentifiers = null; foreach (RelatedItem requiredItem in WeaponComponent.requiredItems[RelatedItem.RelationType.Contained]) { - ammunition = containedItems.FirstOrDefault(it => it.Condition > 0.0f && requiredItem.MatchesItem(it)); + ammunition = containedItems.FirstOrDefault(it => it.Condition > 0 && requiredItem.MatchesItem(it)); if (ammunition != null) { // Ammunition still remaining @@ -411,20 +522,25 @@ namespace Barotrauma // No ammo if (ammunition == null) { - var container = Weapon.GetComponent(); - // Try reload ammunition in inventory - foreach (string identifier in ammunitionIdentifiers) + if (ammunitionIdentifiers != null) { - foreach (var i in character.Inventory.Items) + // Try reload ammunition from inventory + ammunition = character.Inventory.FindItem(i => ammunitionIdentifiers.Any(id => id == i.Prefab.Identifier || i.HasTag(id)) && i.Condition > 0, true); + if (ammunition != null) { - if (i == null) { continue; } - if (i.Prefab.Identifier == identifier || i.HasTag(identifier)) + var container = Weapon.GetComponent(); + if (container.Item.ParentInventory == character.Inventory) { - if (i.Condition > 0) + character.Inventory.RemoveItem(ammunition); + if (!container.Inventory.TryPutItem(ammunition, null)) { - container.Inventory.TryPutItem(ammunition, null); + ammunition.Drop(character); } } + else + { + container.Combine(ammunition, character); + } } } } @@ -432,12 +548,9 @@ namespace Barotrauma { return true; } - else if (ammunition == null) + else if (ammunition == null && !HoldPosition && initialMode == CombatMode.Offensive && seekAmmo && ammunitionIdentifiers != null) { - if (seekAmmo && ammunitionIdentifiers != null && (condition == null || condition())) - { - SeekAmmunition(ammunitionIdentifiers); - } + SeekAmmunition(ammunitionIdentifiers); } return false; } @@ -495,7 +608,8 @@ namespace Barotrauma { myBodies = character.AnimController.Limbs.Select(l => l.body.FarseerBody); } - var collisionCategories = Physics.CollisionCharacter | Physics.CollisionWall; + + var collisionCategories = Physics.CollisionCharacter | Physics.CollisionWall | Physics.CollisionLevel; var pickedBody = Submarine.PickBody(Weapon.SimPosition, Enemy.SimPosition, myBodies, collisionCategories); if (pickedBody != null) { @@ -512,7 +626,16 @@ namespace Barotrauma { character.SetInput(InputType.Shoot, false, true); Weapon.Use(deltaTime, character); - aimTimer = Rand.Range(0.25f, 0.5f); + float reloadTime = 0; + if (WeaponComponent is RangedWeapon rangedWeapon) + { + reloadTime = rangedWeapon.Reload; + } + if (WeaponComponent is MeleeWeapon mw) + { + reloadTime = mw.Reload; + } + aimTimer = reloadTime * Rand.Range(1f, 1.5f); } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveContainItem.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveContainItem.cs index f9ee68dff..95d53f3a8 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveContainItem.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveContainItem.cs @@ -19,17 +19,28 @@ namespace Barotrauma //can either be a tag or an identifier public readonly string[] itemIdentifiers; public readonly ItemContainer container; + public readonly Item item; private AIObjectiveGetItem getItemObjective; private AIObjectiveGoTo goToObjective; private readonly HashSet containedItems = new HashSet(); + public bool AllowToFindDivingGear { get; set; } = true; + public float ConditionLevel { get; set; } + + public AIObjectiveContainItem(Character character, Item item, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier = 1) + : base(character, objectiveManager, priorityModifier) + { + this.container = container; + this.item = item; + } + public AIObjectiveContainItem(Character character, string itemIdentifier, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier = 1) : this(character, new string[] { itemIdentifier }, container, objectiveManager, priorityModifier) { } public AIObjectiveContainItem(Character character, string[] itemIdentifiers, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier = 1) - : base (character, objectiveManager, priorityModifier) + : base(character, objectiveManager, priorityModifier) { this.itemIdentifiers = itemIdentifiers; for (int i = 0; i < itemIdentifiers.Length; i++) @@ -40,17 +51,25 @@ namespace Barotrauma this.container = container; } - public override bool IsCompleted() + protected override bool Check() { - int containedItemCount = 0; - foreach (Item item in container.Inventory.Items) + if (IsCompleted) { return true; } + if (item != null) { - if (item != null && itemIdentifiers.Any(id => item.Prefab.Identifier == id || item.HasTag(id))) - { - containedItemCount++; - } + return container.Inventory.Items.Contains(item); + } + else + { + int containedItemCount = 0; + foreach (Item i in container.Inventory.Items) + { + if (i != null && itemIdentifiers.Any(id => i.Prefab.Identifier == id || i.HasTag(id))) + { + containedItemCount++; + } + } + return containedItemCount >= targetItemCount; } - return containedItemCount >= targetItemCount; } public override float GetPriority() @@ -62,20 +81,58 @@ namespace Barotrauma return 1.0f; } + private bool CheckItem(Item i) => itemIdentifiers.Any(id => i.Prefab.Identifier == id || i.HasTag(id)) && i.ConditionPercentage > ConditionLevel; + protected override void Act(float deltaTime) { - //get the item that should be contained - Item itemToContain = null; - foreach (string identifier in itemIdentifiers) + Item itemToContain = item ?? character.Inventory.FindItem(i => CheckItem(i) && i.Container != container.Item, recursive: true); + if (itemToContain != null) { - itemToContain = character.Inventory.FindItemByIdentifier(identifier) ?? character.Inventory.FindItemByTag(identifier); - if (itemToContain != null && itemToContain.Condition > 0.0f) { break; } - } - if (itemToContain == null) - { - if (getItemObjective != null) + // Contain the item + if (itemToContain.ParentInventory == character.Inventory) { - if (getItemObjective.IsCompleted()) + character.Inventory.RemoveItem(itemToContain); + if (!container.Inventory.TryPutItem(itemToContain, null)) + { + itemToContain.Drop(character); + Abandon = true; + } + } + else + { + if (character.CanInteractWith(container.Item, out _, checkLinked: false)) + { + if (container.Combine(itemToContain, character)) + { + IsCompleted = true; + } + else + { + Abandon = true; + } + } + else + { + TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(container.Item, character, objectiveManager, getDivingGearIfNeeded: AllowToFindDivingGear), + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref goToObjective)); + } + } + } + else + { + // No matching items in the inventory, try to get an item + TryAddSubObjective(ref getItemObjective, () => + new AIObjectiveGetItem(character, itemIdentifiers, objectiveManager, equip: false, checkInventory: checkInventory) + { + GetItemPriority = GetItemPriority, + ignoredContainerIdentifiers = ignoredContainerIdentifiers, + ignoredItems = containedItems, + AllowToFindDivingGear = this.AllowToFindDivingGear + }, onAbandon: () => + { + Abandon = true; + }, onCompleted: () => { if (getItemObjective.TargetItem != null) { @@ -83,55 +140,18 @@ namespace Barotrauma } else { - // Reduce the target item count to prevent getting stuck here, if the target item for some reason is null, which shouldn't happen. - targetItemCount--; + if (container.Inventory.FindItem(i => CheckItem(i), recursive: false) != null) + { + IsCompleted = true; + } + else + { + Abandon = true; + } } - getItemObjective = null; - } - else if (!getItemObjective.CanBeCompleted) - { - getItemObjective = null; - targetItemCount--; - } - } - TryAddSubObjective(ref getItemObjective, () => - new AIObjectiveGetItem(character, itemIdentifiers, objectiveManager, checkInventory: checkInventory) - { - GetItemPriority = GetItemPriority, - ignoredContainerIdentifiers = ignoredContainerIdentifiers, - ignoredItems = containedItems + RemoveSubObjective(ref getItemObjective); }); - return; } - if (container.Item.ParentInventory == character.Inventory) - { - character.Inventory.RemoveItem(itemToContain); - container.Inventory.TryPutItem(itemToContain, null); - } - else - { - if (!character.CanInteractWith(container.Item, out _, checkLinked: false)) - { - TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(container.Item, character, objectiveManager)); - return; - } - container.Combine(itemToContain, character); - } - } - - public override bool IsDuplicate(AIObjective otherObjective) - { - if (!(otherObjective is AIObjectiveContainItem objective)) { return false; } - if (objective.container != container) { return false; } - if (objective.itemIdentifiers.Length != itemIdentifiers.Length) { return false; } - for (int i = 0; i < itemIdentifiers.Length; i++) - { - if (objective.itemIdentifiers[i] != itemIdentifiers[i]) - { - return false; - } - } - return true; - } + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveDecontainItem.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveDecontainItem.cs index c26fbbc51..eda55095b 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveDecontainItem.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveDecontainItem.cs @@ -1,6 +1,7 @@ using Barotrauma.Items.Components; using Microsoft.Xna.Framework; using System; +using System.Linq; namespace Barotrauma { @@ -12,24 +13,25 @@ namespace Barotrauma //can either be a tag or an identifier private readonly string[] itemIdentifiers; - private readonly ItemContainer container; + private readonly ItemContainer sourceContainer; + private ItemContainer targetContainer; private readonly Item targetItem; private AIObjectiveGoTo goToObjective; - private bool isCompleted; + private AIObjectiveContainItem containObjective; - public AIObjectiveDecontainItem(Character character, Item targetItem, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier = 1) + public AIObjectiveDecontainItem(Character character, Item targetItem, ItemContainer sourceContainer, AIObjectiveManager objectiveManager, ItemContainer targetContainer = null, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { this.targetItem = targetItem; - this.container = container; + this.sourceContainer = sourceContainer; + this.targetContainer = targetContainer; } + public AIObjectiveDecontainItem(Character character, string itemIdentifier, ItemContainer sourceContainer, AIObjectiveManager objectiveManager, ItemContainer targetContainer = null, float priorityModifier = 1) + : this(character, new string[] { itemIdentifier }, sourceContainer, objectiveManager, targetContainer, priorityModifier) { } - public AIObjectiveDecontainItem(Character character, string itemIdentifier, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier = 1) - : this(character, new string[] { itemIdentifier }, container, objectiveManager, priorityModifier) { } - - public AIObjectiveDecontainItem(Character character, string[] itemIdentifiers, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier = 1) + public AIObjectiveDecontainItem(Character character, string[] itemIdentifiers, ItemContainer sourceContainer, AIObjectiveManager objectiveManager, ItemContainer targetContainer = null, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { this.itemIdentifiers = itemIdentifiers; @@ -37,10 +39,11 @@ namespace Barotrauma { itemIdentifiers[i] = itemIdentifiers[i].ToLowerInvariant(); } - this.container = container; + this.sourceContainer = sourceContainer; + this.targetContainer = targetContainer; } - public override bool IsCompleted() => isCompleted; + protected override bool Check() => IsCompleted; public override float GetPriority() { @@ -53,58 +56,50 @@ namespace Barotrauma protected override void Act(float deltaTime) { - if (isCompleted) { return; } - Item itemToDecontain = null; - //get the item that should be de-contained - if (targetItem == null) + Item itemToDecontain = targetItem ?? sourceContainer.Inventory.FindItem(i => itemIdentifiers.Any(id => i.Prefab.Identifier == id || i.HasTag(id)), recursive: false); + if (itemToDecontain == null) { - if (itemIdentifiers != null) + Abandon = true; + return; + } + if (targetContainer == null) + { + if (itemToDecontain.Container != sourceContainer.Item) { - foreach (string identifier in itemIdentifiers) - { - itemToDecontain = container.Inventory.FindItemByIdentifier(identifier) ?? container.Inventory.FindItemByTag(identifier); - if (itemToDecontain != null) { break; } - } + IsCompleted = true; + return; } } else { - itemToDecontain = targetItem; - } - if (itemToDecontain == null || itemToDecontain.Container != container.Item) // Item not found or already de-contained, consider complete - { - isCompleted = true; - return; - } - if (itemToDecontain.OwnInventory != character.Inventory && itemToDecontain.ParentInventory != character.Inventory) - { - if (!character.CanInteractWith(container.Item, out _, checkLinked: false)) + if (targetContainer.Inventory.Items.Contains(itemToDecontain)) { - TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(container.Item, character, objectiveManager)); + IsCompleted = true; return; } } - itemToDecontain.Drop(character); - isCompleted = true; - } - - public override bool IsDuplicate(AIObjective otherObjective) - { - if (!(otherObjective is AIObjectiveDecontainItem decontainItem)) { return false; } - if (decontainItem.itemIdentifiers != null && itemIdentifiers != null) + if (goToObjective == null && !itemToDecontain.IsOwnedBy(character)) { - if (decontainItem.itemIdentifiers.Length != itemIdentifiers.Length) { return false; } - for (int i = 0; i < decontainItem.itemIdentifiers.Length; i++) + if (!character.CanInteractWith(sourceContainer.Item, out _, checkLinked: false)) { - if (decontainItem.itemIdentifiers[i] != itemIdentifiers[i]) { return false; } + TryAddSubObjective(ref goToObjective, + constructor: () => new AIObjectiveGoTo(sourceContainer.Item, character, objectiveManager), + onAbandon: () => Abandon = true); + return; } - return true; } - else if (decontainItem.itemIdentifiers == null && itemIdentifiers == null) + if (targetContainer != null) { - return decontainItem.targetItem == targetItem; + TryAddSubObjective(ref containObjective, + constructor: () => new AIObjectiveContainItem(character, itemToDecontain, targetContainer, objectiveManager) { GetItemPriority = this.GetItemPriority }, + onCompleted: () => IsCompleted = true, + onAbandon: () => targetContainer = null); + } + else + { + itemToDecontain.Drop(character); + IsCompleted = true; } - return false; } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveExtinguishFire.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveExtinguishFire.cs index 3d29eb047..312e53262 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveExtinguishFire.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveExtinguishFire.cs @@ -12,6 +12,7 @@ namespace Barotrauma public override string DebugTag => "extinguish fire"; public override bool ForceRun => true; public override bool ConcurrentObjectives => true; + public override bool KeepDivingGearOn => true; private readonly Hull targetHull; @@ -27,19 +28,23 @@ namespace Barotrauma public override float GetPriority() { - if (Character.CharacterList.Any(c => c.CurrentHull == targetHull && !HumanAIController.IsFriendly(c))) { return 0; } - // Vertical distance matters more than horizontal (climbing up/down is harder than moving horizontally) - float dist = Math.Abs(character.WorldPosition.X - targetHull.WorldPosition.X) + Math.Abs(character.WorldPosition.Y - targetHull.WorldPosition.Y) * 2.0f; - float distanceFactor = MathHelper.Lerp(1, 0.1f, MathUtils.InverseLerp(0, 10000, dist)); + if (!objectiveManager.IsCurrentOrder() + && Character.CharacterList.Any(c => c.CurrentHull == targetHull && !HumanAIController.IsFriendly(c) && HumanAIController.IsActive(c))) { return 0; } + float yDist = Math.Abs(character.WorldPosition.Y - targetHull.WorldPosition.Y); + yDist = yDist > 100 ? yDist * 3 : 0; + float dist = Math.Abs(character.WorldPosition.X - targetHull.WorldPosition.X) + yDist; + float distanceFactor = MathHelper.Lerp(1, 0.1f, MathUtils.InverseLerp(0, 5000, dist)); + if (targetHull == character.CurrentHull) + { + distanceFactor = 1; + } float severity = AIObjectiveExtinguishFires.GetFireSeverity(targetHull); float severityFactor = MathHelper.Lerp(0, 1, severity / 100); float devotion = Math.Min(Priority, 10) / 100; return MathHelper.Lerp(0, 100, MathHelper.Clamp(devotion + severityFactor * distanceFactor, 0, 1)); } - public override bool IsCompleted() => targetHull.FireSources.None(); - - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectiveExtinguishFire otherExtinguishFire && otherExtinguishFire.targetHull == targetHull; + protected override bool Check() => targetHull.FireSources.None(); protected override void Act(float deltaTime) { @@ -58,9 +63,9 @@ namespace Barotrauma if (extinguisher == null) { #if DEBUG - DebugConsole.ThrowError("AIObjectiveExtinguishFire failed - the item \"" + extinguisherItem + "\" has no RepairTool component but is tagged as an extinguisher"); + DebugConsole.ThrowError($"{character.Name}: AIObjectiveExtinguishFire failed - the item \"" + extinguisherItem + "\" has no RepairTool component but is tagged as an extinguisher"); #endif - abandon = true; + Abandon = true; return; } foreach (FireSource fs in targetHull.FireSources) @@ -119,7 +124,9 @@ namespace Barotrauma if (move) { //go to the first firesource - TryAddSubObjective(ref gotoObjective, () => new AIObjectiveGoTo(fs, character, objectiveManager)); + TryAddSubObjective(ref gotoObjective, () => new AIObjectiveGoTo(fs, character, objectiveManager), + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref gotoObjective)); } break; } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveExtinguishFires.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveExtinguishFires.cs index 14e6bb13b..f5142278c 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveExtinguishFires.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveExtinguishFires.cs @@ -9,6 +9,7 @@ namespace Barotrauma { public override string DebugTag => "extinguish fires"; public override bool ForceRun => true; + public override bool IgnoreUnsafeHulls => true; public AIObjectiveExtinguishFires(Character character, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { } @@ -18,7 +19,6 @@ namespace Barotrauma public static float GetFireSeverity(Hull hull) => hull.FireSources.Sum(fs => fs.Size.X); - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectiveExtinguishFires; protected override IEnumerable GetList() => Hull.hullList; protected override AIObjective ObjectiveConstructor(Hull target) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFightIntruders.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFightIntruders.cs index 162d0f5e5..d6c965eed 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFightIntruders.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFightIntruders.cs @@ -11,12 +11,11 @@ namespace Barotrauma { public override string DebugTag => "fight intruders"; protected override float IgnoreListClearInterval => 30; + public virtual bool IgnoreUnsafeHulls => true; public AIObjectiveFightIntruders(Character character, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { } - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectiveFightIntruders; - protected override bool Filter(Character target) => IsValidTarget(target, character); protected override IEnumerable GetList() => Character.CharacterList; diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFindDivingGear.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFindDivingGear.cs index 33b62d9d0..9a7959b4e 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFindDivingGear.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFindDivingGear.cs @@ -1,53 +1,56 @@ using Barotrauma.Items.Components; using Microsoft.Xna.Framework; -using System.Linq; using Barotrauma.Extensions; namespace Barotrauma { class AIObjectiveFindDivingGear : AIObjective { - public override string DebugTag => "find diving gear"; + public override string DebugTag => $"find diving gear ({gearTag})"; public override bool ForceRun => true; + public override bool KeepDivingGearOn => true; + public override bool IgnoreUnsafeHulls => true; private readonly string gearTag; + private readonly string fallbackTag; private AIObjectiveGetItem getDivingGear; private AIObjectiveContainItem getOxygen; - public override bool IsCompleted() - { - for (int i = 0; i < character.Inventory.Items.Length; i++) - { - if (character.Inventory.SlotTypes[i] == InvSlotType.Any || character.Inventory.Items[i] == null) { continue; } - if (character.Inventory.Items[i].HasTag(gearTag)) - { - var containedItems = character.Inventory.Items[i].ContainedItems; - if (containedItems == null) { continue; } - return containedItems.Any(it => (it.Prefab.Identifier == "oxygentank" || it.HasTag("oxygensource")) && it.Condition > 0.0f); - } - } - return false; - } + public static float lowOxygenThreshold = 10; - public override float GetPriority() => MathHelper.Clamp(100 - character.OxygenAvailable, 0, 100); - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectiveFindDivingGear; + protected override bool Check() => HumanAIController.HasItem(character, gearTag, "oxygensource") || HumanAIController.HasItem(character, fallbackTag, "oxygensource"); public AIObjectiveFindDivingGear(Character character, bool needDivingSuit, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { - gearTag = needDivingSuit ? "divingsuit" : "diving"; + gearTag = needDivingSuit ? "divingsuit" : "divingmask"; + fallbackTag = needDivingSuit ? "divingsuit" : "diving"; } protected override void Act(float deltaTime) { - var item = character.Inventory.FindItemByTag(gearTag); + if (character.LockHands) + { + Abandon = true; + return; + } + var item = character.Inventory.FindItemByIdentifier(gearTag, true) ?? character.Inventory.FindItemByTag(gearTag, true); + if (item == null && fallbackTag != gearTag) + { + item = character.Inventory.FindItemByTag(fallbackTag, true); + } if (item == null || !character.HasEquippedItem(item)) { TryAddSubObjective(ref getDivingGear, () => { - character.Speak(TextManager.Get("DialogGetDivingGear"), null, 0.0f, "getdivinggear", 30.0f); - return new AIObjectiveGetItem(character, gearTag, objectiveManager, equip: true); - }); + if (item == null) + { + character.Speak(TextManager.Get("DialogGetDivingGear"), null, 0.0f, "getdivinggear", 30.0f); + } + return new AIObjectiveGetItem(character, gearTag, objectiveManager, equip: true) { AllowToFindDivingGear = false }; + }, + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref getDivingGear)); } else { @@ -55,9 +58,9 @@ namespace Barotrauma if (containedItems == null) { #if DEBUG - DebugConsole.ThrowError("AIObjectiveFindDivingGear failed - the item \"" + item + "\" has no proper inventory"); + DebugConsole.ThrowError($"{character.Name}: AIObjectiveFindDivingGear failed - the item \"" + item + "\" has no proper inventory"); #endif - abandon = true; + Abandon = true; return; } // Drop empty tanks @@ -69,13 +72,54 @@ namespace Barotrauma containedItem.Drop(character); } } - if (containedItems.None(it => (it.Prefab.Identifier == "oxygentank" || it.HasTag("oxygensource")) && it.Condition > 0.0f)) + if (containedItems.None(it => it.HasTag("oxygensource") && it.Condition > lowOxygenThreshold)) { - TryAddSubObjective(ref getOxygen, () => + var oxygenTank = character.Inventory.FindItemByTag("oxygensource", true); + if (oxygenTank != null) { - character.Speak(TextManager.Get("DialogGetOxygenTank"), null, 0, "getoxygentank", 30.0f); - return new AIObjectiveContainItem(character, new string[] { "oxygentank", "oxygensource" }, item.GetComponent(), objectiveManager); - }); + var container = item.GetComponent(); + if (container.Item.ParentInventory == character.Inventory) + { + character.Inventory.RemoveItem(oxygenTank); + if (!container.Inventory.TryPutItem(oxygenTank, null)) + { + oxygenTank.Drop(character); + Abandon = true; + } + } + else + { + container.Combine(oxygenTank, character); + } + } + else + { + // Seek oxygen that has min 10% condition left + TryAddSubObjective(ref getOxygen, () => + { + character.Speak(TextManager.Get("DialogGetOxygenTank"), null, 0, "getoxygentank", 30.0f); + return new AIObjectiveContainItem(character, new string[] { "oxygensource" }, item.GetComponent(), objectiveManager) + { + AllowToFindDivingGear = false, + ConditionLevel = lowOxygenThreshold + }; + }, + onAbandon: () => + { + // Try to seek any oxygen sources + TryAddSubObjective(ref getOxygen, () => + { + return new AIObjectiveContainItem(character, new string[] { "oxygensource" }, item.GetComponent(), objectiveManager) + { + AllowToFindDivingGear = false, + ConditionLevel = 0 + }; + }, + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref getOxygen)); + }, + onCompleted: () => RemoveSubObjective(ref getOxygen)); + } } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs index af186326e..1fdd72e69 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs @@ -9,17 +9,18 @@ namespace Barotrauma { public override string DebugTag => "find safety"; public override bool ForceRun => true; + public override bool KeepDivingGearOn => true; + public override bool IgnoreUnsafeHulls => true; + public override bool ConcurrentObjectives => true; + public override bool IsLoop { get => true; set => throw new System.Exception("Trying to set the value for IsLoop from: " + System.Environment.StackTrace); } // TODO: expose? const float priorityIncrease = 100; const float priorityDecrease = 10; const float SearchHullInterval = 3.0f; - const float clearUnreachableInterval = 30; - - public readonly HashSet unreachable = new HashSet(); private float currenthullSafety; - private float unreachableClearTimer; + private float searchHullTimer; private AIObjectiveGoTo goToObjective; @@ -27,21 +28,18 @@ namespace Barotrauma public AIObjectiveFindSafety(Character character, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { } - public override bool IsCompleted() => false; + protected override bool Check() => false; public override bool CanBeCompleted => true; - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectiveFindSafety; + private bool resetPriority; public override void Update(float deltaTime) { - if (unreachableClearTimer > 0) + if (resetPriority) { - unreachableClearTimer -= deltaTime; - } - else - { - unreachableClearTimer = clearUnreachableInterval; - unreachable.Clear(); + Priority = 0; + resetPriority = false; + return; } if (character.CurrentHull == null) { @@ -49,7 +47,10 @@ namespace Barotrauma Priority = objectiveManager.CurrentOrder is AIObjectiveGoTo ? 0 : 100; return; } - if (character.OxygenAvailable < CharacterHealth.LowOxygenThreshold) { Priority = 100; } + if (HumanAIController.NeedsDivingGear(character, character.CurrentHull, out _) && !HumanAIController.HasDivingGear(character)) + { + Priority = 100; + } currenthullSafety = HumanAIController.CurrentHullSafety; if (currenthullSafety > HumanAIController.HULL_SAFETY_THRESHOLD) { @@ -61,7 +62,7 @@ namespace Barotrauma Priority += dangerFactor * priorityIncrease * deltaTime; } Priority = MathHelper.Clamp(Priority, 0, 100); - if (divingGearObjective != null && !divingGearObjective.IsCompleted() && divingGearObjective.CanBeCompleted) + if (divingGearObjective != null && !divingGearObjective.IsCompleted && divingGearObjective.CanBeCompleted) { // Boost the priority while seeking the diving gear Priority = Math.Max(Priority, Math.Min(AIObjectiveManager.OrderPriority + 20, 100)); @@ -72,32 +73,36 @@ namespace Barotrauma private Hull previousSafeHull; protected override void Act(float deltaTime) { - var currentHull = character.AnimController.CurrentHull; - bool needsDivingGear = HumanAIController.NeedsDivingGear(currentHull); - bool needsDivingSuit = needsDivingGear && (currentHull == null || currentHull.WaterPercentage > 90); + var currentHull = character.CurrentHull; + bool needsDivingGear = HumanAIController.NeedsDivingGear(character, currentHull, out bool needsDivingSuit); bool needsEquipment = false; if (needsDivingSuit) { - needsEquipment = !HumanAIController.HasDivingSuit(character); + needsEquipment = !HumanAIController.HasDivingSuit(character, AIObjectiveFindDivingGear.lowOxygenThreshold); } else if (needsDivingGear) { - needsEquipment = !HumanAIController.HasDivingMask(character); + needsEquipment = !HumanAIController.HasDivingGear(character, AIObjectiveFindDivingGear.lowOxygenThreshold); } - if (needsEquipment) + if (needsEquipment && divingGearObjective == null && !character.LockHands) { - TryAddSubObjective(ref divingGearObjective, - () => new AIObjectiveFindDivingGear(character, needsDivingSuit, objectiveManager), - onAbandon: () => searchHullTimer = Math.Min(1, searchHullTimer)); + RemoveSubObjective(ref goToObjective); + TryAddSubObjective(ref divingGearObjective, + constructor: () => new AIObjectiveFindDivingGear(character, needsDivingSuit, objectiveManager), + onAbandon: () => + { + searchHullTimer = Math.Min(1, searchHullTimer); + // Don't reset the diving gear objective, because it's possible that there is no diving gear -> seek a safe hull and then reset so that we can check again. + }, + onCompleted: () => + { + resetPriority = true; + searchHullTimer = Math.Min(1, searchHullTimer); + RemoveSubObjective(ref divingGearObjective); + }); } - else + else if (divingGearObjective == null || !divingGearObjective.CanBeCompleted) { - if (divingGearObjective != null && divingGearObjective.IsCompleted()) - { - // Reset the devotion. - Priority = 0; - divingGearObjective = null; - } if (currenthullSafety < HumanAIController.HULL_SAFETY_THRESHOLD) { searchHullTimer = Math.Min(1, searchHullTimer); @@ -108,7 +113,7 @@ namespace Barotrauma } else { - searchHullTimer = SearchHullInterval; + searchHullTimer = SearchHullInterval * Rand.Range(0.9f, 1.1f); previousSafeHull = currentSafeHull; currentSafeHull = FindBestHull(); if (currentSafeHull == null) @@ -119,70 +124,80 @@ namespace Barotrauma { if (goToObjective?.Target != currentSafeHull) { - goToObjective = null; + RemoveSubObjective(ref goToObjective); } TryAddSubObjective(ref goToObjective, constructor: () => new AIObjectiveGoTo(currentSafeHull, character, objectiveManager, getDivingGearIfNeeded: true) { - AllowGoingOutside = HumanAIController.HasDivingSuit(character) - }, - onAbandon: () => unreachable.Add(goToObjective.Target as Hull)); + AllowGoingOutside = HumanAIController.HasDivingSuit(character, conditionPercentage: 50) + }, + onCompleted: () => + { + if (currenthullSafety > HumanAIController.HULL_SAFETY_THRESHOLD || + HumanAIController.NeedsDivingGear(character, currentHull, out bool needsSuit) && (needsSuit ? HumanAIController.HasDivingSuit(character) : HumanAIController.HasDivingMask(character))) + { + resetPriority = true; + searchHullTimer = Math.Min(1, searchHullTimer); + } + RemoveSubObjective(ref goToObjective); + // If diving gear objective failed, let's reset it here. + RemoveSubObjective(ref divingGearObjective); + }, + onAbandon: () => + { + if (currentHull != null) + { + HumanAIController.UnreachableHulls.Add(goToObjective.Target as Hull); + } + RemoveSubObjective(ref goToObjective); + }); } else { - goToObjective = null; + RemoveSubObjective(ref goToObjective); } } - if (goToObjective != null) + if (subObjectives.Any(so => so.CanBeCompleted)) { return; } + if (currentHull != null) { - if (goToObjective.IsCompleted()) + //goto objective doesn't exist (a safe hull not found, or a path to a safe hull not found) + // -> attempt to manually steer away from hazards + Vector2 escapeVel = Vector2.Zero; + // TODO: optimize + foreach (FireSource fireSource in HumanAIController.VisibleHulls.SelectMany(h => h.FireSources)) { - objectiveManager.GetObjective()?.Wander(deltaTime); - } - Priority = 0; - return; - } - if (currentHull == null) { return; } - //goto objective doesn't exist (a safe hull not found, or a path to a safe hull not found) - // -> attempt to manually steer away from hazards - Vector2 escapeVel = Vector2.Zero; - // TODO: optimize - foreach (FireSource fireSource in HumanAIController.VisibleHulls.SelectMany(h => h.FireSources)) - { - Vector2 dir = character.Position - fireSource.Position; - float distMultiplier = MathHelper.Clamp(100.0f / Vector2.Distance(fireSource.Position, character.Position), 0.1f, 10.0f); - escapeVel += new Vector2(Math.Sign(dir.X) * distMultiplier, !character.IsClimbing ? 0 : Math.Sign(dir.Y) * distMultiplier); - } - foreach (Character enemy in Character.CharacterList) - { - if (enemy.IsDead || enemy.IsUnconscious || enemy.Removed || HumanAIController.IsFriendly(enemy)) { continue; } - if (HumanAIController.VisibleHulls.Contains(enemy.CurrentHull)) - { - Vector2 dir = character.Position - enemy.Position; - float distMultiplier = MathHelper.Clamp(100.0f / Vector2.Distance(enemy.Position, character.Position), 0.1f, 10.0f); + Vector2 dir = character.Position - fireSource.Position; + float distMultiplier = MathHelper.Clamp(100.0f / Vector2.Distance(fireSource.Position, character.Position), 0.1f, 10.0f); escapeVel += new Vector2(Math.Sign(dir.X) * distMultiplier, !character.IsClimbing ? 0 : Math.Sign(dir.Y) * distMultiplier); } - } - if (escapeVel != Vector2.Zero) - { - float left = currentHull.Rect.X + 50; - float right = currentHull.Rect.Right - 50; - //only move if we haven't reached the edge of the room - if (escapeVel.X < 0 && character.Position.X > left || escapeVel.X > 0 && character.Position.X < right) + foreach (Character enemy in Character.CharacterList) { - character.AIController.SteeringManager.SteeringManual(deltaTime, escapeVel); + if (HumanAIController.IsFriendly(enemy) || !HumanAIController.IsActive(enemy)) { continue; } + if (HumanAIController.VisibleHulls.Contains(enemy.CurrentHull)) + { + Vector2 dir = character.Position - enemy.Position; + float distMultiplier = MathHelper.Clamp(100.0f / Vector2.Distance(enemy.Position, character.Position), 0.1f, 10.0f); + escapeVel += new Vector2(Math.Sign(dir.X) * distMultiplier, !character.IsClimbing ? 0 : Math.Sign(dir.Y) * distMultiplier); + } } - else + if (escapeVel != Vector2.Zero) { - character.AnimController.TargetDir = escapeVel.X < 0.0f ? Direction.Right : Direction.Left; - character.AIController.SteeringManager.Reset(); + float left = currentHull.Rect.X + 50; + float right = currentHull.Rect.Right - 50; + //only move if we haven't reached the edge of the room + if (escapeVel.X < 0 && character.Position.X > left || escapeVel.X > 0 && character.Position.X < right) + { + character.AIController.SteeringManager.SteeringManual(deltaTime, escapeVel); + } + else + { + character.AnimController.TargetDir = escapeVel.X < 0.0f ? Direction.Right : Direction.Left; + character.AIController.SteeringManager.Reset(); + } + return; } } - else - { - Priority = 0; - objectiveManager.GetObjective()?.Wander(deltaTime); - } + objectiveManager.GetObjective().Wander(deltaTime); } } @@ -195,24 +210,28 @@ namespace Barotrauma if (hull.Submarine == null) { continue; } if (!allowChangingTheSubmarine && hull.Submarine != character.Submarine) { continue; } if (ignoredHulls != null && ignoredHulls.Contains(hull)) { continue; } - if (unreachable.Contains(hull)) { continue; } + if (HumanAIController.UnreachableHulls.Contains(hull)) { continue; } float hullSafety = 0; if (character.CurrentHull != null && character.Submarine != null) { // Inside if (!character.Submarine.IsConnectedTo(hull.Submarine)) { continue; } - hullSafety = HumanAIController.GetHullSafety(hull, character); - // Vertical distance matters more than horizontal (climbing up/down is harder than moving horizontally) - float dist = Math.Abs(character.WorldPosition.X - hull.WorldPosition.X) + Math.Abs(character.WorldPosition.Y - hull.WorldPosition.Y) * 2.0f; + hullSafety = HumanAIController.GetHullSafety(hull, hull.GetConnectedHulls(true, 1), character); + float yDist = Math.Abs(character.WorldPosition.Y - hull.WorldPosition.Y); + yDist = yDist > 100 ? yDist * 3 : 0; + float dist = Math.Abs(character.WorldPosition.X - hull.WorldPosition.X) + yDist; float distanceFactor = MathHelper.Lerp(1, 0.9f, MathUtils.InverseLerp(0, 10000, dist)); hullSafety *= distanceFactor; //skip the hull if the safety is already less than the best hull //(no need to do the expensive pathfinding if we already know we're not going to choose this hull) if (hullSafety < bestValue) { continue; } - var path = PathSteering.PathFinder.FindPath(character.SimPosition, hull.SimPosition); - if (path.Unreachable) + // Don't allow to go outside if not already outside. + var path = character.CurrentHull != null ? + PathSteering.PathFinder.FindPath(character.SimPosition, hull.SimPosition, nodeFilter: node => node.Waypoint.CurrentHull != null) : + PathSteering.PathFinder.FindPath(character.SimPosition, hull.SimPosition); + if (path.Unreachable && character.CurrentHull != null) { - unreachable.Add(hull); + HumanAIController.UnreachableHulls.Add(hull); continue; } // Each unsafe node reduces the hull safety value. diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFixLeak.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFixLeak.cs index 9f152637d..6adc610b0 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFixLeak.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFixLeak.cs @@ -11,10 +11,10 @@ namespace Barotrauma { public override string DebugTag => "fix leak"; public override bool ForceRun => true; + public override bool KeepDivingGearOn => true; public Gap Leak { get; private set; } - private AIObjectiveFindDivingGear findDivingGear; private AIObjectiveGetItem getWeldingTool; private AIObjectiveContainItem refuelObjective; private AIObjectiveGoTo gotoObjective; @@ -25,43 +25,30 @@ namespace Barotrauma Leak = leak; } - public override bool IsCompleted() - { - return Leak.Open <= 0.0f || Leak.Removed; - } + protected override bool Check() => Leak.Open <= 0 || Leak.Removed; public override float GetPriority() { - if (Leak.Open == 0.0f) { return 0.0f; } - // Vertical distance matters more than horizontal (climbing up/down is harder than moving horizontally) - float dist = Math.Abs(character.WorldPosition.X - Leak.WorldPosition.X) + Math.Abs(character.WorldPosition.Y - Leak.WorldPosition.Y) * 2.0f; - float distanceFactor = MathHelper.Lerp(1, 0.25f, MathUtils.InverseLerp(0, 10000, dist)); - float severity = AIObjectiveFixLeaks.GetLeakSeverity(Leak); + if (Leak.Removed || Leak.Open <= 0) { return 0; } + float xDist = Math.Abs(character.WorldPosition.X - Leak.WorldPosition.X); + float yDist = Math.Abs(character.WorldPosition.Y - Leak.WorldPosition.Y); + // Vertical distance matters more than horizontal (climbing up/down is harder than moving horizontally). + // If the target is close, ignore the distance factor alltogether so that we keep fixing the leaks that are nearby. + float distanceFactor = xDist < 200 && yDist < 100 ? 1 : MathHelper.Lerp(1, 0.1f, MathUtils.InverseLerp(0, 5000, xDist + yDist * 3.0f)); + float severity = AIObjectiveFixLeaks.GetLeakSeverity(Leak) / 100; float max = Math.Min((AIObjectiveManager.OrderPriority - 1), 90); float devotion = Math.Min(Priority, 10) / 100; return MathHelper.Lerp(0, max, MathHelper.Clamp(devotion + severity * distanceFactor * PriorityModifier, 0, 1)); } - public override bool IsDuplicate(AIObjective otherObjective) - { - if (!(otherObjective is AIObjectiveFixLeak fixLeak)) { return false; } - return fixLeak.Leak == Leak; - } - protected override void Act(float deltaTime) { - if (!Leak.IsRoomToRoom) - { - if (!HumanAIController.HasDivingSuit(character)) - { - TryAddSubObjective(ref findDivingGear, () => new AIObjectiveFindDivingGear(character, true, objectiveManager)); - return; - } - } - var weldingTool = character.Inventory.FindItemByTag("weldingtool"); + var weldingTool = character.Inventory.FindItemByTag("weldingtool", true); if (weldingTool == null) { - TryAddSubObjective(ref getWeldingTool, () => new AIObjectiveGetItem(character, "weldingtool", objectiveManager, true)); + TryAddSubObjective(ref getWeldingTool, () => new AIObjectiveGetItem(character, "weldingtool", objectiveManager, true), + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref getWeldingTool)); return; } else @@ -70,9 +57,9 @@ namespace Barotrauma if (containedItems == null) { #if DEBUG - DebugConsole.ThrowError("AIObjectiveFixLeak failed - the item \"" + weldingTool + "\" has no proper inventory"); + DebugConsole.ThrowError($"{character.Name}: AIObjectiveFixLeak failed - the item \"" + weldingTool + "\" has no proper inventory"); #endif - abandon = true; + Abandon = true; return; } // Drop empty tanks @@ -84,9 +71,11 @@ namespace Barotrauma containedItem.Drop(character); } } - if (containedItems.None(i => i.HasTag("weldingfueltank") && i.Condition > 0.0f)) + if (containedItems.None(i => i.HasTag("weldingfuel") && i.Condition > 0.0f)) { - TryAddSubObjective(ref refuelObjective, () => new AIObjectiveContainItem(character, "weldingfueltank", weldingTool.GetComponent(), objectiveManager)); + TryAddSubObjective(ref refuelObjective, () => new AIObjectiveContainItem(character, "weldingfuel", weldingTool.GetComponent(), objectiveManager), + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref refuelObjective)); return; } } @@ -95,30 +84,55 @@ namespace Barotrauma if (repairTool == null) { #if DEBUG - DebugConsole.ThrowError("AIObjectiveFixLeak failed - the item \"" + weldingTool + "\" has no RepairTool component but is tagged as a welding tool"); + DebugConsole.ThrowError($"{character.Name}: AIObjectiveFixLeak failed - the item \"" + weldingTool + "\" has no RepairTool component but is tagged as a welding tool"); #endif - abandon = true; + Abandon = true; return; } - Vector2 gapDiff = Leak.WorldPosition - character.WorldPosition; + Vector2 toLeak = Leak.WorldPosition - character.WorldPosition; // TODO: use the collider size/reach? - if (!character.AnimController.InWater && Math.Abs(gapDiff.X) < 100 && gapDiff.Y < 0.0f && gapDiff.Y > -150) + if (!character.AnimController.InWater && Math.Abs(toLeak.X) < 100 && toLeak.Y < 0.0f && toLeak.Y > -150) { HumanAIController.AnimController.Crouching = true; } - // Use a greater reach, because the distance is calculated from the character to the leak, not from the item to the leak. - float reach = repairTool.Range + ((HumanoidAnimController)character.AnimController).ArmLength; - bool canOperate = gapDiff.LengthSquared() < reach * reach; + float reach = repairTool.Range + ConvertUnits.ToDisplayUnits(((HumanoidAnimController)character.AnimController).ArmLength); + bool canOperate = toLeak.LengthSquared() < reach * reach; if (canOperate) { - TryAddSubObjective(ref operateObjective, () => new AIObjectiveOperateItem(repairTool, character, objectiveManager, option: "", requireEquip: true, operateTarget: Leak)); + TryAddSubObjective(ref operateObjective, () => new AIObjectiveOperateItem(repairTool, character, objectiveManager, option: "", requireEquip: true, operateTarget: Leak), + onAbandon: () => Abandon = true, + onCompleted: () => + { + if (Check()) { IsCompleted = true; } + else + { + // Failed to operate. Probably too far. + Abandon = true; + } + }); } else { TryAddSubObjective(ref gotoObjective, () => new AIObjectiveGoTo(Leak, character, objectiveManager) { + AllowGoingOutside = objectiveManager.IsCurrentOrder(), CloseEnough = reach - }); + }, + onAbandon: () => + { + if (Check()) { IsCompleted = true; } + else if ((Leak.WorldPosition - character.WorldPosition).LengthSquared() > reach * reach * 2) + { + // Too far + Abandon = true; + } + else + { + // We are close, try again. + RemoveSubObjective(ref gotoObjective); + } + }, + onCompleted: () => RemoveSubObjective(ref gotoObjective)); } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFixLeaks.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFixLeaks.cs index 255cc6c3b..97639c8a0 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFixLeaks.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveFixLeaks.cs @@ -10,6 +10,8 @@ namespace Barotrauma { public override string DebugTag => "fix leaks"; public override bool ForceRun => true; + public override bool KeepDivingGearOn => true; + public override bool IgnoreUnsafeHulls => true; public AIObjectiveFixLeaks(Character character, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { } @@ -18,7 +20,7 @@ namespace Barotrauma public static float GetLeakSeverity(Gap leak) { if (leak == null) { return 0; } - float sizeFactor = MathHelper.Lerp(1, 10, MathUtils.InverseLerp(0, 200, (leak.IsHorizontal ? leak.Rect.Width : leak.Rect.Height))); + float sizeFactor = MathHelper.Lerp(1, 10, MathUtils.InverseLerp(0, 200, leak.Size)); float severity = sizeFactor * leak.Open; if (!leak.IsRoomToRoom) { @@ -32,7 +34,6 @@ namespace Barotrauma } } - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectiveFixLeaks; protected override float TargetEvaluation() => Targets.Max(t => GetLeakSeverity(t)); protected override IEnumerable GetList() => Gap.GapList; protected override AIObjective ObjectiveConstructor(Gap gap) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveGetItem.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveGetItem.cs index 7a752c48d..756a2fee8 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveGetItem.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveGetItem.cs @@ -26,6 +26,8 @@ namespace Barotrauma private AIObjectiveGoTo goToObjective; private float currItemPriority; + public bool AllowToFindDivingGear { get; set; } = true; + public override float GetPriority() { if (objectiveManager.CurrentOrder == this) @@ -35,7 +37,7 @@ namespace Barotrauma return 1.0f; } - public AIObjectiveGetItem(Character character, Item targetItem, AIObjectiveManager objectiveManager, bool equip = false, float priorityModifier = 1) + public AIObjectiveGetItem(Character character, Item targetItem, AIObjectiveManager objectiveManager, bool equip = true, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { currSearchIndex = -1; @@ -43,10 +45,10 @@ namespace Barotrauma this.targetItem = targetItem; } - public AIObjectiveGetItem(Character character, string itemIdentifier, AIObjectiveManager objectiveManager, bool equip = false, bool checkInventory = true, float priorityModifier = 1) + public AIObjectiveGetItem(Character character, string itemIdentifier, AIObjectiveManager objectiveManager, bool equip = true, bool checkInventory = true, float priorityModifier = 1) : this(character, new string[] { itemIdentifier }, objectiveManager, equip, checkInventory, priorityModifier) { } - public AIObjectiveGetItem(Character character, string[] itemIdentifiers, AIObjectiveManager objectiveManager, bool equip = false, bool checkInventory = true, float priorityModifier = 1) + public AIObjectiveGetItem(Character character, string[] itemIdentifiers, AIObjectiveManager objectiveManager, bool equip = true, bool checkInventory = true, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { currSearchIndex = -1; @@ -65,32 +67,11 @@ namespace Barotrauma private void CheckInventory() { if (itemIdentifiers == null) { return; } - for (int i = 0; i < character.Inventory.Items.Length; i++) + var item = character.Inventory.FindItem(i => itemIdentifiers.Any(id => i.Prefab.Identifier == id || i.HasTag(id)) && i.Condition > 0, recursive: true); + if (item != null) { - if (character.Inventory.Items[i] == null || character.Inventory.Items[i].Condition <= 0.0f) { continue; } - if (itemIdentifiers.Any(id => character.Inventory.Items[i].Prefab.Identifier == id || character.Inventory.Items[i].HasTag(id))) - { - targetItem = character.Inventory.Items[i]; - moveToTarget = targetItem; - currItemPriority = 100.0f; - break; - } - //check items inside items (tool inside a toolbox etc) - var containedItems = character.Inventory.Items[i].ContainedItems; - if (containedItems != null) - { - foreach (Item containedItem in containedItems) - { - if (containedItem == null || containedItem.Condition <= 0.0f) { continue; } - if (itemIdentifiers.Any(id => containedItem.Prefab.Identifier == id || containedItem.HasTag(id))) - { - targetItem = containedItem; - moveToTarget = character.Inventory.Items[i]; - currItemPriority = 100.0f; - break; - } - } - } + targetItem = item; + moveToTarget = item.GetRootContainer() ?? item; } } @@ -98,58 +79,91 @@ namespace Barotrauma { if (character.LockHands) { - abandon = true; + Abandon = true; return; } - - FindTargetItem(); - if (targetItem == null || moveToTarget == null) + if (targetItem == null) { - objectiveManager.GetObjective()?.Wander(deltaTime); - return; + FindTargetItem(); + if (targetItem == null || moveToTarget == null) + { + if (targetItem != null && moveToTarget == null) + { +#if DEBUG + DebugConsole.ThrowError($"{character.Name}: Move to target is null!"); +#endif + Abandon = true; + } + objectiveManager.GetObjective().Wander(deltaTime); + return; + } + } + if (character.IsItemTakenBySomeoneElse(targetItem)) + { +#if DEBUG + DebugConsole.NewMessage($"{character.Name}: Found an item, but it's already equipped by someone else. Aborting.", Color.Yellow); +#endif + Abandon = true; } if (character.CanInteractWith(targetItem, out _, checkLinked: false)) { - if (IsTakenBySomeone(targetItem)) + var pickable = targetItem.GetComponent(); + if (pickable == null) { #if DEBUG - DebugConsole.NewMessage($"{character.Name}: Found an item, but it's equipped by someone else. Aborting.", Color.Yellow); + DebugConsole.NewMessage($"{character.Name}: Target not pickable. Aborting.", Color.Yellow); #endif - abandon = true; + Abandon = true; + return; + } + targetItem.TryInteract(character, forceSelectKey: true); + if (equip) + { + int targetSlot = -1; + //check if all the slots required by the item are free + foreach (InvSlotType slots in pickable.AllowedSlots) + { + if (slots.HasFlag(InvSlotType.Any)) { continue; } + for (int i = 0; i < character.Inventory.Items.Length; i++) + { + //slot not needed by the item, continue + if (!slots.HasFlag(character.Inventory.SlotTypes[i])) { continue; } + targetSlot = i; + //slot free, continue + var otherItem = character.Inventory.Items[i]; + if (otherItem == null) { continue; } + //try to move the existing item to LimbSlot.Any and continue if successful + if (character.Inventory.TryPutItem(otherItem, character, new List() { InvSlotType.Any })) { continue; } + //if everything else fails, simply drop the existing item + otherItem.Drop(character); + } + } + if (character.Inventory.TryPutItem(targetItem, targetSlot, false, false, character)) + { + IsCompleted = true; + } + else + { +#if DEBUG + DebugConsole.NewMessage($"{character.Name}: Failed to equip/move the item '{targetItem.Name}' into the character inventory. Aborting.", Color.Red); +#endif + Abandon = true; + } } else { - int targetSlot = -1; - if (equip) + targetItem.ParentInventory.RemoveItem(targetItem); + if (character.Inventory.TryPutItem(targetItem, null, new List() { InvSlotType.Any })) { - var pickable = targetItem.GetComponent(); - if (pickable == null) - { - abandon = true; - return; - } - //check if all the slots required by the item are free - foreach (InvSlotType slots in pickable.AllowedSlots) - { - if (slots.HasFlag(InvSlotType.Any)) { continue; } - for (int i = 0; i < character.Inventory.Items.Length; i++) - { - //slot not needed by the item, continue - if (!slots.HasFlag(character.Inventory.SlotTypes[i])) { continue; } - targetSlot = i; - //slot free, continue - if (character.Inventory.Items[i] == null) { continue; } - //try to move the existing item to LimbSlot.Any and continue if successful - if (character.Inventory.TryPutItem(character.Inventory.Items[i], character, new List() { InvSlotType.Any })) { continue; } - //if everything else fails, simply drop the existing item - character.Inventory.Items[i].Drop(character); - } - } + IsCompleted = true; } - targetItem.TryInteract(character, false, true); - if (targetSlot > -1 && !character.HasEquippedItem(targetItem)) + else { - character.Inventory.TryPutItem(targetItem, targetSlot, false, false, character); + Abandon = true; +#if DEBUG + DebugConsole.NewMessage($"{character.Name}: Failed to equip/move the item '{targetItem.Name}' into the character inventory. Aborting.", Color.Red); +#endif + targetItem.Drop(character); } } } @@ -158,17 +172,16 @@ namespace Barotrauma TryAddSubObjective(ref goToObjective, constructor: () => { - //check if we're already looking for a diving gear - bool gettingDivingGear = (targetItem != null && targetItem.Prefab.Identifier == "divingsuit" || targetItem.HasTag("diving")) || - (itemIdentifiers != null && (itemIdentifiers.Contains("diving") || itemIdentifiers.Contains("divingsuit"))); - return new AIObjectiveGoTo(moveToTarget, character, objectiveManager, repeat: false, getDivingGearIfNeeded: !gettingDivingGear); + return new AIObjectiveGoTo(moveToTarget, character, objectiveManager, repeat: false, getDivingGearIfNeeded: AllowToFindDivingGear); }, onAbandon: () => { targetItem = null; moveToTarget = null; ignoredItems.Add(targetItem); - }); + RemoveSubObjective(ref goToObjective); + }, + onCompleted: () => RemoveSubObjective(ref goToObjective)); } } @@ -182,9 +195,9 @@ namespace Barotrauma if (targetItem == null) { #if DEBUG - DebugConsole.NewMessage($"{character.Name}: Cannot find the item, because neither identifiers nor item is was defined.", Color.Red); + DebugConsole.NewMessage($"{character.Name}: Cannot find the item, because neither identifiers nor item was defined.", Color.Red); #endif - abandon = true; + Abandon = true; } return; } @@ -194,26 +207,29 @@ namespace Barotrauma var item = Item.ItemList[currSearchIndex]; if (ignoredItems.Contains(item)) { continue; } if (item.Submarine == null) { continue; } - else if (item.Submarine.TeamID != character.TeamID) { continue; } - else if (character.Submarine != null && !character.Submarine.IsEntityFoundOnThisSub(item, true)) { continue; } + if (item.Submarine.TeamID != character.TeamID) { continue; } + if (character.Submarine != null && !character.Submarine.IsEntityFoundOnThisSub(item, true)) { continue; } if (item.CurrentHull == null || item.Condition <= 0.0f) { continue; } if (itemIdentifiers.None(id => item.Prefab.Identifier == id || item.HasTag(id))) { continue; } if (ignoredContainerIdentifiers != null && item.Container != null) { if (ignoredContainerIdentifiers.Contains(item.ContainerIdentifier)) { continue; } } - if (IsTakenBySomeone(item)) { continue; } - float itemPriority = 0.0f; + if (character.IsItemTakenBySomeoneElse(item)) { continue; } + float itemPriority = 1; if (GetItemPriority != null) { - //ignore if the item has zero priority itemPriority = GetItemPriority(item); - if (itemPriority <= 0.0f) { continue; } } Item rootContainer = item.GetRootContainer(); - itemPriority -= Vector2.Distance((rootContainer ?? item).Position, character.Position) * 0.01f; + Vector2 itemPos = (rootContainer ?? item).WorldPosition; + float yDist = Math.Abs(character.WorldPosition.Y - itemPos.Y); + yDist = yDist > 100 ? yDist * 5 : 0; + float dist = Math.Abs(character.WorldPosition.X - itemPos.X) + yDist; + float distanceFactor = MathHelper.Lerp(1, 0, MathUtils.InverseLerp(0, 10000, dist)); + itemPriority *= distanceFactor; //ignore if the item has a lower priority than the currently selected one - if (moveToTarget != null && itemPriority < currItemPriority) { continue; } + if (itemPriority < currItemPriority) { continue; } currItemPriority = itemPriority; targetItem = item; moveToTarget = rootContainer ?? item; @@ -222,82 +238,29 @@ namespace Barotrauma if (currSearchIndex >= Item.ItemList.Count - 1 && targetItem == null) { #if DEBUG - DebugConsole.NewMessage($"{character.Name}: Cannot find the item with the following identifier(s): {string.Join(", ", itemIdentifiers)}", Color.Red); + DebugConsole.NewMessage($"{character.Name}: Cannot find the item with the following identifier(s): {string.Join(", ", itemIdentifiers)}", Color.Yellow); #endif - abandon = true; + Abandon = true; } } - public override bool IsDuplicate(AIObjective otherObjective) - { - if (!(otherObjective is AIObjectiveGetItem getItem)) { return false; } - if (getItem.equip != equip) { return false; } - if (getItem.itemIdentifiers != null && itemIdentifiers != null) - { - if (getItem.itemIdentifiers.Length != itemIdentifiers.Length) { return false; } - for (int i = 0; i < getItem.itemIdentifiers.Length; i++) - { - if (getItem.itemIdentifiers[i] != itemIdentifiers[i]) { return false; } - } - return true; - } - else if (getItem.itemIdentifiers == null && itemIdentifiers == null) - { - return getItem.targetItem == targetItem; - } - return false; - } - - public override bool IsCompleted() + protected override bool Check() { + if (IsCompleted) { return true; } if (targetItem != null) { - return HasItem(targetItem); + return character.HasItem(targetItem, equip); } else if (itemIdentifiers != null) { - foreach (string itemName in itemIdentifiers) + var matchingItem = character.Inventory.FindItem(i => !ignoredItems.Contains(i) && itemIdentifiers.Any(id => id == i.Prefab.Identifier || i.HasTag(id)), recursive: true); + if (matchingItem != null) { - var matchingItem = character.Inventory.FindItemByTag(itemName) ?? character.Inventory.FindItemByIdentifier(itemName); - if (matchingItem != null && (!equip || character.HasEquippedItem(matchingItem))) - { - return true; - } + return !equip || character.HasEquippedItem(matchingItem); } return false; } return false; } - - private bool HasItem(Item item) - { - bool isEquipped = !equip || character.HasEquippedItem(item); - if (character.Inventory.Items.Contains(item) && isEquipped) { return true; } - if (!equip) - { - Item rootContainer = item.GetRootContainer(); - if (rootContainer != null && rootContainer.ParentInventory is CharacterInventory) - { - return rootContainer.ParentInventory.Owner == character; - } - } - return false; - } - - private bool IsTakenBySomeone(Item item) - { - //if the item is inside a character's inventory, don't steal it unless the character is dead - if (item.ParentInventory is CharacterInventory) - { - if (item.ParentInventory.Owner is Character owner && owner != character && !owner.IsDead) { return true; } - } - //if the item is inside an item, which is inside a character's inventory, don't steal it unless the character is dead - Item rootContainer = item.GetRootContainer(); - if (rootContainer != null && rootContainer.ParentInventory is CharacterInventory) - { - if (rootContainer.ParentInventory.Owner is Character owner && owner != character && !owner.IsDead) { return true; } - } - return false; - } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveGoTo.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveGoTo.cs index 34e1a4048..f2ccf61ef 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveGoTo.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveGoTo.cs @@ -1,5 +1,6 @@ using Microsoft.Xna.Framework; using System; +using System.Linq; using Barotrauma.Extensions; namespace Barotrauma @@ -9,7 +10,7 @@ namespace Barotrauma public override string DebugTag => "go to"; private AIObjectiveFindDivingGear findDivingGear; - private bool repeat; + private readonly bool repeat; //how long until the path to the target is declared unreachable private float waitUntilPathUnreachable; private bool getDivingGearIfNeeded; @@ -21,13 +22,23 @@ namespace Barotrauma public bool followControlledCharacter; public bool mimic; + private float _closeEnough = 50; /// /// Display units /// - public float CloseEnough { get; set; } = 50; + public float CloseEnough + { + get { return _closeEnough; } + set + { + _closeEnough = Math.Max(_closeEnough, value); + } + } public bool IgnoreIfTargetDead { get; set; } public bool AllowGoingOutside { get; set; } + public override bool AbandonWhenCannotCompleteSubjectives => !repeat; + public ISpatialEntity Target { get; private set; } public override float GetPriority() @@ -42,14 +53,18 @@ namespace Barotrauma return 1.0f; } - public AIObjectiveGoTo(ISpatialEntity target, Character character, AIObjectiveManager objectiveManager, bool repeat = false, bool getDivingGearIfNeeded = true, float priorityModifier = 1) + public AIObjectiveGoTo(ISpatialEntity target, Character character, AIObjectiveManager objectiveManager, bool repeat = false, bool getDivingGearIfNeeded = true, float priorityModifier = 1, float closeEnough = 0) : base (character, objectiveManager, priorityModifier) { this.Target = target; this.repeat = repeat; waitUntilPathUnreachable = 3.0f; this.getDivingGearIfNeeded = getDivingGearIfNeeded; - CalculateCloseEnough(); + CloseEnough = closeEnough; + if (Target is Item i) + { + CloseEnough = Math.Max(CloseEnough, i.InteractDistance + Math.Max(i.Rect.Width, i.Rect.Height) / 2); + } } protected override void Act(float deltaTime) @@ -58,17 +73,17 @@ namespace Barotrauma { if (Character.Controlled == null) { - abandon = true; + Abandon = true; return; } Target = Character.Controlled; } if (Target == character) { + // Wait character.AIController.SteeringManager.Reset(); - abandon = true; return; - } + } waitUntilPathUnreachable -= deltaTime; if (!character.IsClimbing) { @@ -78,24 +93,37 @@ namespace Barotrauma { if (e.Removed) { - abandon = true; + Abandon = true; } else { character.AIController.SelectTarget(e.AiTarget); } } - bool isInside = character.CurrentHull != null; - bool insideSteering = SteeringManager == PathSteering && PathSteering.CurrentPath != null && !PathSteering.IsPathDirty; var targetHull = Target is Hull h ? h : Target is Item i ? i.CurrentHull : Target is Character c ? c.CurrentHull : character.CurrentHull; + if (!followControlledCharacter) + { + // Abandon if going through unsafe paths. Note ignores unsafe nodes when following an order or when the objective is set to ignore unsafe hulls. + bool containsUnsafeNodes = HumanAIController.CurrentOrder == null && !HumanAIController.ObjectiveManager.CurrentObjective.IgnoreUnsafeHulls + && PathSteering != null && PathSteering.CurrentPath != null + && PathSteering.CurrentPath.Nodes.Any(n => HumanAIController.UnsafeHulls.Contains(n.CurrentHull)); + if (containsUnsafeNodes || HumanAIController.UnreachableHulls.Contains(targetHull)) + { + Abandon = true; + SteeringManager.Reset(); + return; + } + } + bool insideSteering = SteeringManager == PathSteering && PathSteering.CurrentPath != null && !PathSteering.IsPathDirty; + bool isInside = character.CurrentHull != null; bool targetIsOutside = (Target != null && targetHull == null) || (insideSteering && PathSteering.CurrentPath.HasOutdoorsNodes); if (isInside && targetIsOutside && !AllowGoingOutside) { - abandon = true; + Abandon = true; } else if (waitUntilPathUnreachable < 0) { - if (SteeringManager == PathSteering && PathSteering.CurrentPath != null && PathSteering.CurrentPath.Unreachable) + if (SteeringManager == PathSteering && PathSteering.CurrentPath != null && PathSteering.CurrentPath.Unreachable && !PathSteering.IsPathDirty) { if (repeat) { @@ -103,139 +131,147 @@ namespace Barotrauma } else { - abandon = true; + Abandon = true; } } } - if (abandon) + if (Abandon) { #if DEBUG DebugConsole.NewMessage($"{character.Name}: Cannot reach the target: {Target.ToString()}", Color.Yellow); #endif - if (objectiveManager.CurrentOrder != null) + if (objectiveManager.CurrentOrder != null && objectiveManager.CurrentOrder.ReportFailures) { character.Speak(TextManager.Get("DialogCannotReach"), identifier: "cannotreach", minDurationBetweenSimilar: 10.0f); } - character.AIController.SteeringManager.Reset(); + SteeringManager.Reset(); } else { - Vector2 currTargetSimPos = Vector2.Zero; - currTargetSimPos = Target.SimPosition; - // Take the sub position into account in the sim pos - if (SteeringManager != PathSteering && character.Submarine == null && Target.Submarine != null) - { - currTargetSimPos += Target.Submarine.SimPosition; - } - else if (character.Submarine != null && Target.Submarine == null) - { - currTargetSimPos -= character.Submarine.SimPosition; - } - else if (character.Submarine != Target.Submarine) - { - if (character.Submarine != null && Target.Submarine != null) - { - Vector2 diff = character.Submarine.SimPosition - Target.Submarine.SimPosition; - currTargetSimPos -= diff; - } - } - if (PathSteering != null) - { - PathSteering.startNodeFilter = startNodeFilter; - PathSteering.endNodeFilter = endNodeFilter; - } - SteeringManager.SteeringSeek(currTargetSimPos); - if (SteeringManager != PathSteering) - { - SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: 5, weight: 1, heading: VectorExtensions.Forward(character.AnimController.Collider.Rotation)); - } - if (getDivingGearIfNeeded) + if (getDivingGearIfNeeded && !character.LockHands) { Character followTarget = Target as Character; - bool needsDivingGear = HumanAIController.NeedsDivingGear(targetHull) || mimic && HumanAIController.HasDivingMask(followTarget); - bool needsDivingSuit = needsDivingGear && (targetHull == null || targetIsOutside || targetHull.WaterPercentage > 90) || mimic && HumanAIController.HasDivingSuit(followTarget); + bool needsDivingSuit = targetIsOutside; + bool needsDivingGear = needsDivingSuit || HumanAIController.NeedsDivingGear(character, targetHull, out needsDivingSuit); + if (!needsDivingGear && mimic) + { + if (HumanAIController.HasDivingSuit(followTarget)) + { + needsDivingGear = true; + needsDivingSuit = true; + } + else if (HumanAIController.HasDivingMask(followTarget)) + { + needsDivingGear = true; + } + } bool needsEquipment = false; if (needsDivingSuit) { - needsEquipment = !HumanAIController.HasDivingSuit(character); + needsEquipment = !HumanAIController.HasDivingSuit(character, AIObjectiveFindDivingGear.lowOxygenThreshold); } else if (needsDivingGear) { - needsEquipment = !HumanAIController.HasDivingMask(character); + needsEquipment = !HumanAIController.HasDivingGear(character, AIObjectiveFindDivingGear.lowOxygenThreshold); } if (needsEquipment) { - TryAddSubObjective(ref findDivingGear, () => new AIObjectiveFindDivingGear(character, needsDivingSuit, objectiveManager)); + TryAddSubObjective(ref findDivingGear, () => new AIObjectiveFindDivingGear(character, needsDivingSuit, objectiveManager), + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref findDivingGear)); + return; } } + if (repeat && IsCloseEnough) + { + OnCompleted(); + return; + } + if (SteeringManager == PathSteering) + { + Func nodeFilter = null; + if (isInside && !AllowGoingOutside) + { + nodeFilter = node => node.Waypoint.CurrentHull != null; + } + PathSteering.SteeringSeek(character.GetRelativeSimPosition(Target), 1, startNodeFilter, endNodeFilter, nodeFilter); + } + else + { + SteeringManager.SteeringSeek(character.GetRelativeSimPosition(Target), 10); + } + if (!insideSteering) + { + SteeringManager.SteeringAvoid(deltaTime, lookAheadDistance: 5, weight: 1); + } } } - private bool isCompleted; - public override bool IsCompleted() + private bool IsCloseEnough { - // First check the distance - // Then the custom condition - // And finally check if can interact (heaviest) - if (isCompleted) { return true; } - if (Target == null) - { - abandon = true; - return false; - } - bool closeEnough = Vector2.DistanceSquared(Target.WorldPosition, character.WorldPosition) < CloseEnough * CloseEnough; - if (repeat) + get { + bool closeEnough = Vector2.DistanceSquared(Target.WorldPosition, character.WorldPosition) < CloseEnough * CloseEnough; if (closeEnough) { closeEnough = !(Target is Character) || Target is Character c && c.CurrentHull == character.CurrentHull; } - if (closeEnough) - { - OnCompleted(); - } + return closeEnough; + } + } + + protected override bool Check() + { + if (IsCompleted) { return true; } + // First check the distance + // Then the custom condition + // And finally check if can interact (heaviest) + if (Target == null) + { + Abandon = true; return false; } - else if (closeEnough) + if (repeat) { - if (requiredCondition == null || requiredCondition()) + return false; + } + else + { + if (IsCloseEnough) { - if (Target is Item item) + if (requiredCondition == null || requiredCondition()) { - if (character.CanInteractWith(item, out _, checkLinked: false)) { isCompleted = true; } - } - else if (Target is Character targetCharacter) - { - if (character.CanInteractWith(targetCharacter, CloseEnough)) { isCompleted = true; } - } - else - { - isCompleted = true; + if (Target is Item item) + { + if (character.CanInteractWith(item, out _, checkLinked: false)) { IsCompleted = true; } + } + else if (Target is Character targetCharacter) + { + if (character.CanInteractWith(targetCharacter, CloseEnough)) { IsCompleted = true; } + } + else + { + IsCompleted = true; + } } } } - return isCompleted; + return IsCompleted; } - public override bool IsDuplicate(AIObjective otherObjective) - { - if (!(otherObjective is AIObjectiveGoTo objective)) { return false; } - return objective.Target == Target; - } - - private void CalculateCloseEnough() - { - float interactionDistance = Target is Item i ? i.InteractDistance + Math.Max(i.Rect.Width, i.Rect.Height) / 2 : 0; - CloseEnough = Math.Max(interactionDistance, CloseEnough); - } - - protected override void OnCompleted() + private void StopMovement() { character.AIController.SteeringManager.Reset(); if (Target != null) { character.AnimController.TargetDir = Target.WorldPosition.X > character.WorldPosition.X ? Direction.Right : Direction.Left; } + } + + protected override void OnCompleted() + { + StopMovement(); + HumanAIController.FaceTarget(Target); base.OnCompleted(); } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs index aeabd6331..60c7f2c55 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs @@ -11,12 +11,11 @@ namespace Barotrauma { public override string DebugTag => "idle"; - const float WallAvoidDistance = 150.0f; - private readonly float newTargetIntervalMin = 5; - private readonly float newTargetIntervalMax = 15; - private readonly float standStillMin = 1; + private readonly float newTargetIntervalMin = 10; + private readonly float newTargetIntervalMax = 20; + private readonly float standStillMin = 2; private readonly float standStillMax = 10; - private readonly float walkDurationMin = 3; + private readonly float walkDurationMin = 5; private readonly float walkDurationMax = 10; private Hull currentTarget; @@ -36,7 +35,7 @@ namespace Barotrauma walkDuration = Rand.Range(0.0f, 10.0f); } - public override bool IsCompleted() => false; + protected override bool Check() => false; public override bool CanBeCompleted => true; public override bool IsLoop { get => true; set => throw new System.Exception("Trying to set the value for IsLoop from: " + System.Environment.StackTrace); } @@ -93,8 +92,10 @@ namespace Barotrauma if (currentTargetIsInvalid || currentTarget == null && HumanAIController.VisibleHulls.Any(h => IsForbidden(h))) { - newTargetTimer = 0; - standStillTimer = 0; + //don't reset to zero, otherwise the character will keep calling FindTargetHulls + //almost constantly when there's a small number of potential hulls to move to + newTargetTimer = Math.Min(newTargetTimer, 0.5f); + //standStillTimer = 0.0f; } else if (character.IsClimbing) { @@ -102,7 +103,7 @@ namespace Barotrauma { newTargetTimer = 0; } - else + else if (Math.Abs(character.AnimController.TargetMovement.Y) > 0) { // Don't allow new targets when climbing. newTargetTimer = Math.Max(newTargetIntervalMin, newTargetTimer); @@ -112,7 +113,7 @@ namespace Barotrauma { if (currentTarget == null) { - newTargetTimer = 0; + newTargetTimer = Math.Min(newTargetTimer, 0.5f); } } if (newTargetTimer <= 0.0f) @@ -127,24 +128,32 @@ namespace Barotrauma else if (targetHulls.Count > 0) { //choose a random available hull - var randomHull = ToolBox.SelectWeightedRandom(targetHulls, hullWeights, Rand.RandSync.Unsynced); - bool isCurrentHullOK = !HumanAIController.UnsafeHulls.Contains(character.CurrentHull) && !IsForbidden(character.CurrentHull); - if (isCurrentHullOK) + currentTarget = ToolBox.SelectWeightedRandom(targetHulls, hullWeights, Rand.RandSync.Unsynced); + bool isCurrentHullAllowed = !IsForbidden(character.CurrentHull); + var path = PathSteering.PathFinder.FindPath(character.SimPosition, currentTarget.SimPosition, nodeFilter: node => { + if (node.Waypoint.CurrentHull == null) { return false; } // Check that there is no unsafe or forbidden hulls on the way to the target - // Only do this when the current hull is ok, because otherwise would block all paths from the current hull to the target hull. - var path = PathSteering.PathFinder.FindPath(character.SimPosition, randomHull.SimPosition); - if (path.Unreachable || path.Nodes.Any(n => HumanAIController.UnsafeHulls.Contains(n.CurrentHull) || IsForbidden(n.CurrentHull))) - { - //can't go to this room, remove it from the list and try another room next frame - int index = targetHulls.IndexOf(randomHull); - targetHulls.RemoveAt(index); - hullWeights.RemoveAt(index); - PathSteering.Reset(); - return; - } + if (node.Waypoint.CurrentHull != character.CurrentHull && HumanAIController.UnsafeHulls.Contains(node.Waypoint.CurrentHull)) { return false; } + if (isCurrentHullAllowed && IsForbidden(node.Waypoint.CurrentHull)) { return false; } + return true; + }); + if (path.Unreachable) + { + //can't go to this room, remove it from the list and try another room next frame + int index = targetHulls.IndexOf(currentTarget); + targetHulls.RemoveAt(index); + hullWeights.RemoveAt(index); + PathSteering.Reset(); + currentTarget = null; + return; } - currentTarget = randomHull; + searchingNewHull = false; + } + else + { + // Couldn't find a target for some reason -> reset + newTargetTimer = Math.Max(newTargetIntervalMin, newTargetTimer); searchingNewHull = false; } @@ -156,7 +165,7 @@ namespace Barotrauma bool isRoomNameFound = currentTarget.DisplayName != null; errorMsg = "(Character " + character.Name + " idling, target " + (isRoomNameFound ? currentTarget.DisplayName : currentTarget.ToString()) + ")"; #endif - var path = PathSteering.PathFinder.FindPath(character.SimPosition, currentTarget.SimPosition, errorMsgStr: errorMsg); + var path = PathSteering.PathFinder.FindPath(character.SimPosition, currentTarget.SimPosition, errorMsgStr: errorMsg, nodeFilter: node => node.Waypoint.CurrentHull != null); PathSteering.SetPath(path); } @@ -174,20 +183,6 @@ namespace Barotrauma if (SteeringManager != PathSteering || (PathSteering.CurrentPath != null && (PathSteering.CurrentPath.NextNode == null || PathSteering.CurrentPath.Unreachable || PathSteering.CurrentPath.HasOutdoorsNodes))) { - if (!character.AnimController.InWater) - { - standStillTimer -= deltaTime; - if (standStillTimer > 0.0f) - { - walkDuration = Rand.Range(walkDurationMin, walkDurationMax); - PathSteering.Reset(); - return; - } - if (standStillTimer < -walkDuration) - { - standStillTimer = Rand.Range(standStillMin, standStillMax); - } - } Wander(deltaTime); return; } @@ -195,64 +190,39 @@ namespace Barotrauma if (currentTarget != null) { - character.AIController.SteeringManager.SteeringSeek(currentTarget.SimPosition); + if (SteeringManager == PathSteering) + { + PathSteering.SteeringSeek(character.GetRelativeSimPosition(currentTarget), weight: 1, nodeFilter: node => node.Waypoint.CurrentHull != null); + } + else + { + character.AIController.SteeringManager.SteeringSeek(character.GetRelativeSimPosition(currentTarget)); + } + } + else + { + Wander(deltaTime); } } public void Wander(float deltaTime) { if (character.IsClimbing) { return; } - //steer away from edges of the hull - var currentHull = character.CurrentHull; - if (currentHull != null) - { - float roomWidth = currentHull.Rect.Width; - if (roomWidth < WallAvoidDistance * 4) - { - PathSteering.Reset(); - } - else - { - float leftDist = character.Position.X - currentHull.Rect.X; - float rightDist = currentHull.Rect.Right - character.Position.X; - if (leftDist < WallAvoidDistance && rightDist < WallAvoidDistance) - { - if (Math.Abs(rightDist - leftDist) > WallAvoidDistance / 2) - { - PathSteering.SteeringManual(deltaTime, Vector2.UnitX * Math.Sign(rightDist - leftDist)); - } - else - { - PathSteering.Reset(); - } - } - else if (leftDist < WallAvoidDistance) - { - float speed = (WallAvoidDistance - leftDist) / WallAvoidDistance; - PathSteering.SteeringManual(deltaTime, Vector2.UnitX * MathHelper.Clamp(speed, 0.25f, 1)); - PathSteering.WanderAngle = 0.0f; - } - else if (rightDist < WallAvoidDistance) - { - float speed = (WallAvoidDistance - rightDist) / WallAvoidDistance; - PathSteering.SteeringManual(deltaTime, -Vector2.UnitX * MathHelper.Clamp(speed, 0.25f, 1)); - PathSteering.WanderAngle = MathHelper.Pi; - } - else - { - SteeringManager.SteeringWander(); - } - } - } - else - { - SteeringManager.SteeringWander(); - } if (!character.AnimController.InWater) { - //reset vertical steering to prevent dropping down from platforms etc - character.AIController.SteeringManager.ResetY(); + standStillTimer -= deltaTime; + if (standStillTimer > 0.0f) + { + walkDuration = Rand.Range(walkDurationMin, walkDurationMax); + PathSteering.Reset(); + return; + } + if (standStillTimer < -walkDuration) + { + standStillTimer = Rand.Range(standStillMin, standStillMax); + } } + PathSteering.Wander(deltaTime); } private void FindTargetHulls() @@ -280,8 +250,10 @@ namespace Barotrauma targetHulls.Add(hull); float weight = hull.Volume; // Prefer rooms that are closer. Avoid rooms that are not in the same level. - float dist = Math.Abs(character.WorldPosition.X - hull.WorldPosition.X) + Math.Abs(character.WorldPosition.Y - hull.WorldPosition.Y) * 5.0f; - float distanceFactor = MathHelper.Lerp(1, 0.1f, MathUtils.InverseLerp(0, 2500, dist)); + float yDist = Math.Abs(character.WorldPosition.Y - hull.WorldPosition.Y); + yDist = yDist > 100 ? yDist * 5 : 0; + float dist = Math.Abs(character.WorldPosition.X - hull.WorldPosition.X) + yDist; + float distanceFactor = MathHelper.Lerp(1, 0, MathUtils.InverseLerp(0, 2500, dist)); weight *= distanceFactor; hullWeights.Add(weight); } @@ -295,10 +267,5 @@ namespace Barotrauma if (hullName == null) { return false; } return hullName.Contains("ballast") || hullName.Contains("airlock"); } - - public override bool IsDuplicate(AIObjective otherObjective) - { - return (otherObjective is AIObjectiveIdle); - } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveLoop.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveLoop.cs index 82a276ec0..4d62d6048 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveLoop.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveLoop.cs @@ -12,7 +12,7 @@ namespace Barotrauma public Dictionary Objectives { get; private set; } = new Dictionary(); protected HashSet ignoreList = new HashSet(); private float ignoreListTimer; - private float targetUpdateTimer; + protected float targetUpdateTimer; // By default, doesn't clear the list automatically protected virtual float IgnoreListClearInterval => 0; @@ -38,8 +38,11 @@ namespace Barotrauma : base(character, objectiveManager, priorityModifier, option) { } protected override void Act(float deltaTime) { } - public override bool IsCompleted() => false; + protected override bool Check() => false; public override bool CanBeCompleted => true; + public override bool AbandonWhenCannotCompleteSubjectives => false; + public override bool AllowSubObjectiveSorting => true; + public override bool ReportFailures => false; public override bool IsLoop { get => true; set => throw new System.Exception("Trying to set the value for IsLoop from: " + System.Environment.StackTrace); } @@ -69,18 +72,19 @@ namespace Barotrauma foreach (var objective in Objectives) { var target = objective.Key; - if (!objective.Value.CanBeCompleted) - { - ignoreList.Add(target); - targetUpdateTimer = 0; - } + //if (!objective.Value.CanBeCompleted && !ignoreList.Contains(target)) + //{ + // // TODO: leaks that cannot be accessed from inside cause FixLeak objective to fail, but for some reason it's not ignored. Make sure that it is. + // ignoreList.Add(target); + // targetUpdateTimer = 0; + //} if (!Targets.Contains(target)) { subObjectives.Remove(objective.Value); } } SyncRemovedObjectives(Objectives, GetList()); - if (Objectives.None() && Targets.Any()) + if (Objectives.None() && Targets.Any(t => !ignoreList.Contains(t))) { CreateObjectives(); } @@ -91,6 +95,7 @@ namespace Barotrauma public override void Reset() { + base.Reset(); ignoreList.Clear(); ignoreListTimer = 0; UpdateTargets(); @@ -98,6 +103,7 @@ namespace Barotrauma public override float GetPriority() { + if (character.LockHands) { return 0; } if (character.Submarine == null) { return 0; } if (Targets.None()) { return 0; } // Allow the target value to be more than 100. @@ -145,15 +151,26 @@ namespace Barotrauma { foreach (T target in Targets) { + if (ignoreList.Contains(target)) { continue; } if (!Objectives.TryGetValue(target, out AIObjective objective)) { objective = ObjectiveConstructor(target); - objective.Completed += () => OnObjectiveCompleted(objective, target); Objectives.Add(target, objective); if (!subObjectives.Contains(objective)) { subObjectives.Add(objective); } + objective.Completed += () => + { + Objectives.Remove(target); + OnObjectiveCompleted(objective, target); + }; + objective.Abandoned += () => + { + Objectives.Remove(target); + ignoreList.Add(target); + targetUpdateTimer = 0; + }; } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveManager.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveManager.cs index 671373dd4..012d51175 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveManager.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveManager.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Linq; using Barotrauma.Extensions; +using Microsoft.Xna.Framework; namespace Barotrauma { @@ -12,7 +13,7 @@ namespace Barotrauma public const float OrderPriority = 70; public const float RunPriority = 50; // Constantly increases the priority of the selected objective, unless overridden - public const float baseDevotion = 2; + public const float baseDevotion = 3; public List Objectives { get; private set; } = new List(); @@ -35,7 +36,13 @@ namespace Barotrauma public AIObjective CurrentOrder { get; private set; } public AIObjective CurrentObjective { get; private set; } + public bool IsCurrentOrder() where T : AIObjective => CurrentOrder is T; public bool IsCurrentObjective() where T : AIObjective => CurrentObjective is T; + public bool IsActiveObjective() where T : AIObjective => GetActiveObjective() is T; + + public AIObjective GetActiveObjective() => CurrentObjective?.GetActiveObjective(); + + public bool HasActiveObjective() where T : AIObjective => CurrentObjective is T || CurrentObjective != null && CurrentObjective.GetSubObjectivesRecursive().Any(so => so is T); public AIObjectiveManager(Character character) { @@ -43,7 +50,7 @@ namespace Barotrauma CreateAutonomousObjectives(); } - public void AddObjective(AIObjective objective) + public void AddObjective(T objective) where T : AIObjective { if (objective == null) { @@ -52,21 +59,32 @@ namespace Barotrauma #endif return; } - var duplicate = Objectives.Find(o => o.IsDuplicate(objective)); - if (duplicate != null) + // Can't use the generic type, because it's possible that the user of this method uses the base type AIObjective. + // We need to get the highest type. + var type = objective.GetType(); + if (objective.AllowMultipleInstances) { - duplicate.Reset(); + if (Objectives.FirstOrDefault(o => o.GetType() == type) is T existingObjective && existingObjective.IsDuplicate(objective)) + { + Objectives.Remove(existingObjective); + } } else { - Objectives.Add(objective); + Objectives.RemoveAll(o => o.GetType() == type); } + Objectives.Add(objective); } public Dictionary DelayedObjectives { get; private set; } = new Dictionary(); public void CreateAutonomousObjectives() { + foreach (var delayedObjective in DelayedObjectives) + { + CoroutineManager.StopCoroutines(delayedObjective.Value); + } + DelayedObjectives.Clear(); Objectives.Clear(); AddObjective(new AIObjectiveFindSafety(character, this)); AddObjective(new AIObjectiveIdle(character, this)); @@ -82,8 +100,8 @@ namespace Barotrauma matchingItems.RemoveAll(it => it.Submarine != character.Submarine); var item = matchingItems.GetRandom(); var order = new Order( - orderPrefab, - item ?? character.CurrentHull as Entity, + orderPrefab, + item ?? character.CurrentHull as Entity, item?.Components.FirstOrDefault(ic => ic.GetType() == orderPrefab.ItemComponentType), orderGiver: character); if (order == null) { continue; } @@ -94,15 +112,15 @@ namespace Barotrauma objectiveCount++; } } - WaitTimer = Math.Max(WaitTimer, Rand.Range(0.5f, 1f) * objectiveCount); + _waitTimer = Math.Max(_waitTimer, Rand.Range(0.5f, 1f) * objectiveCount); } - public void AddObjective(AIObjective objective, float delay, Action callback = null) + public void AddObjective(T objective, float delay, Action callback = null) where T : AIObjective { if (objective == null) { #if DEBUG - DebugConsole.ThrowError("Attempted to add a null objective to AIObjectiveManager\n" + Environment.StackTrace); + DebugConsole.ThrowError($"{character.Name}: Attempted to add a null objective to AIObjectiveManager\n" + Environment.StackTrace); #endif return; } @@ -120,14 +138,7 @@ namespace Barotrauma DelayedObjectives.Add(objective, coroutine); } - public T GetObjective() where T : AIObjective - { - foreach (AIObjective objective in Objectives) - { - if (objective is T) return (T)objective; - } - return null; - } + public T GetObjective() where T : AIObjective => Objectives.FirstOrDefault(o => o is T) as T; private AIObjective GetCurrentObjective() { @@ -143,6 +154,7 @@ namespace Barotrauma } if (previousObjective != CurrentObjective) { + previousObjective?.OnDeselected(); CurrentObjective?.OnSelected(); GetObjective().SetRandom(); } @@ -165,17 +177,17 @@ namespace Barotrauma for (int i = 0; i < Objectives.Count; i++) { var objective = Objectives[i]; - if (objective.IsCompleted()) + if (objective.IsCompleted) { #if DEBUG - DebugConsole.NewMessage($"Removing objective {objective.DebugTag}, because it is completed."); + DebugConsole.NewMessage($"{character.Name}: Removing objective {objective.DebugTag}, because it is completed.", Color.LightGreen); #endif Objectives.Remove(objective); } else if (!objective.CanBeCompleted) { #if DEBUG - DebugConsole.NewMessage($"Removing objective {objective.DebugTag}, because it cannot be completed."); + DebugConsole.NewMessage($"{character.Name}: Removing objective {objective.DebugTag}, because it cannot be completed.", Color.Red); #endif Objectives.Remove(objective); } @@ -193,7 +205,7 @@ namespace Barotrauma { Objectives.Sort((x, y) => y.GetPriority().CompareTo(x.GetPriority())); } - CurrentObjective?.SortSubObjectives(); + GetCurrentObjective()?.SortSubObjectives(); } public void DoCurrentObjective(float deltaTime) @@ -260,7 +272,10 @@ namespace Barotrauma newObjective = new AIObjectiveRescueAll(character, this, priorityModifier); break; case "repairsystems": - newObjective = new AIObjectiveRepairItems(character, this, priorityModifier) { RequireAdequateSkills = option == "jobspecific" }; + newObjective = new AIObjectiveRepairItems(character, this, priorityModifier) + { + RequireAdequateSkills = option == "jobspecific" + }; break; case "pumpwater": newObjective = new AIObjectivePumpWater(character, this, option, priorityModifier: priorityModifier); @@ -275,11 +290,21 @@ namespace Barotrauma var steering = (order?.TargetEntity as Item)?.GetComponent(); if (steering != null) steering.PosToMaintain = steering.Item.Submarine?.WorldPosition; if (order.TargetItemComponent == null) { return null; } - newObjective = new AIObjectiveOperateItem(order.TargetItemComponent, character, this, option, requireEquip: false, useController: order.UseController, priorityModifier: priorityModifier) { IsLoop = true }; + newObjective = new AIObjectiveOperateItem(order.TargetItemComponent, character, this, option, requireEquip: false, useController: order.UseController, priorityModifier: priorityModifier) + { + IsLoop = true, + // Don't override auto pilot unless it's an order by a player + Override = orderGiver == Character.Controlled || orderGiver.IsRemotePlayer + }; break; default: if (order.TargetItemComponent == null) { return null; } - newObjective = new AIObjectiveOperateItem(order.TargetItemComponent, character, this, option, requireEquip: false, useController: order.UseController, priorityModifier: priorityModifier) { IsLoop = true }; + newObjective = new AIObjectiveOperateItem(order.TargetItemComponent, character, this, option, requireEquip: false, useController: order.UseController, priorityModifier: priorityModifier) + { + IsLoop = true, + // Don't override auto control unless it's an order by a player + Override = orderGiver == Character.Controlled || orderGiver.IsRemotePlayer + }; break; } return newObjective; diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveOperateItem.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveOperateItem.cs index 3da532975..f73da37fa 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveOperateItem.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveOperateItem.cs @@ -12,17 +12,20 @@ namespace Barotrauma private ItemComponent component, controller; private Entity operateTarget; - private bool isCompleted; private bool requireEquip; private bool useController; private AIObjectiveGoTo goToObjective; private AIObjectiveGetItem getItemObjective; + public bool Override { get; set; } = true; + public override bool CanBeCompleted => base.CanBeCompleted && (!useController || controller != null); public Entity OperateTarget => operateTarget; public ItemComponent Component => component; + public Func completionCondition; + public override float GetPriority() { if (component.Item.ConditionPercentage <= 0) { return 0; } @@ -32,7 +35,7 @@ namespace Barotrauma } if (component.Item.CurrentHull == null) { return 0; } if (component.Item.CurrentHull.FireSources.Count > 0) { return 0; } - if (Character.CharacterList.Any(c => c.CurrentHull == component.Item.CurrentHull && !HumanAIController.IsFriendly(c))) { return 0; } + if (Character.CharacterList.Any(c => c.CurrentHull == component.Item.CurrentHull && !HumanAIController.IsFriendly(c) && HumanAIController.IsActive(c))) { return 0; } float devotion = MathHelper.Min(10, Priority); float value = devotion + AIObjectiveManager.OrderPriority * PriorityModifier; float max = MathHelper.Min((AIObjectiveManager.OrderPriority - 1), 90); @@ -57,21 +60,27 @@ namespace Barotrauma protected override void Act(float deltaTime) { + if (character.LockHands) + { + Abandon = true; + return; + } ItemComponent target = useController ? controller : component; if (useController && controller == null) { character.Speak(TextManager.GetWithVariable("DialogCantFindController", "[item]", component.Item.Name, true), null, 2.0f, "cantfindcontroller", 30.0f); - abandon = true; + Abandon = true; return; } if (target.CanBeSelected) { if (character.CanInteractWith(target.Item, out _, checkLinked: false)) { + HumanAIController.FaceTarget(target.Item); // Don't allow to operate an item that someone already operates, unless this objective is an order - if (objectiveManager.CurrentOrder != this && Character.CharacterList.Any(c => c.SelectedConstruction == target.Item && c != character && HumanAIController.IsFriendly(c))) + if (objectiveManager.CurrentOrder != this && Character.CharacterList.Any(c => c.SelectedConstruction == target.Item && c != character && HumanAIController.IsFriendly(c) && HumanAIController.IsActive(c))) { - abandon = true; + // Don't abandon return; } if (character.SelectedConstruction != target.Item) @@ -80,12 +89,14 @@ namespace Barotrauma } if (component.AIOperate(deltaTime, character, this)) { - isCompleted = true; + IsCompleted = completionCondition == null || completionCondition(); } } else { - TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(target.Item, character, objectiveManager)); + TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(target.Item, character, objectiveManager, closeEnough: 50), + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref goToObjective)); } } else @@ -93,12 +104,14 @@ namespace Barotrauma if (component.Item.GetComponent() == null) { //controller/target can't be selected and the item cannot be picked -> objective can't be completed - abandon = true; + Abandon = true; return; } else if (!character.Inventory.Items.Contains(component.Item)) { - TryAddSubObjective(ref getItemObjective, () => new AIObjectiveGetItem(character, component.Item, objectiveManager, equip: true)); + TryAddSubObjective(ref getItemObjective, () => new AIObjectiveGetItem(character, component.Item, objectiveManager, equip: true), + onAbandon: () => Abandon = true, + onCompleted: () => RemoveSubObjective(ref getItemObjective)); } else { @@ -109,7 +122,7 @@ namespace Barotrauma if (holdable == null) { #if DEBUG - DebugConsole.ThrowError("AIObjectiveOperateItem failed - equipping item " + component.Item + " is required but the item has no Holdable component"); + DebugConsole.ThrowError($"{character.Name}: AIObjectiveOperateItem failed - equipping item " + component.Item + " is required but the item has no Holdable component"); #endif return; } @@ -139,18 +152,12 @@ namespace Barotrauma } if (component.AIOperate(deltaTime, character, this)) { - isCompleted = true; + IsCompleted = completionCondition == null || completionCondition(); } } } } - public override bool IsCompleted() => isCompleted && !IsLoop; - - public override bool IsDuplicate(AIObjective otherObjective) - { - if (!(otherObjective is AIObjectiveOperateItem operateItem)) { return false; } - return (operateItem.component == component || otherObjective.Option == Option); - } + protected override bool Check() => IsCompleted && !IsLoop; } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectivePumpWater.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectivePumpWater.cs index 7d3bd893e..7e7199068 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectivePumpWater.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectivePumpWater.cs @@ -10,13 +10,14 @@ namespace Barotrauma class AIObjectivePumpWater : AIObjectiveLoop { public override string DebugTag => "pump water"; + public override bool KeepDivingGearOn => true; + public override bool IgnoreUnsafeHulls => true; + private IEnumerable pumpList; public AIObjectivePumpWater(Character character, AIObjectiveManager objectiveManager, string option, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier, option) { } - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectivePumpWater && otherObjective.Option == Option; - protected override void FindTargets() { if (Option == null) { return; } @@ -33,16 +34,8 @@ namespace Barotrauma if (pump.Item.ConditionPercentage <= 0) { return false; } if (pump.Item.CurrentHull.FireSources.Count > 0) { return false; } if (character.Submarine != null && !character.Submarine.IsEntityFoundOnThisSub(pump.Item, true)) { return false; } - if (Character.CharacterList.Any(c => c.CurrentHull == pump.Item.CurrentHull && !HumanAIController.IsFriendly(c))) { return false; } - if (Option == "stoppumping") - { - if (!pump.IsActive || MathUtils.NearlyEqual(pump.FlowPercentage, 0)) { return false; } - } - else - { - if (!pump.Item.InWater) { return false; } - if (pump.IsActive && pump.FlowPercentage <= -99.9f) { return false; } - } + if (Character.CharacterList.Any(c => c.CurrentHull == pump.Item.CurrentHull && !HumanAIController.IsFriendly(c) && HumanAIController.IsActive(c))) { return false; } + if (IsReady(pump)) { return false; } return true; } protected override IEnumerable GetList() @@ -67,8 +60,24 @@ namespace Barotrauma } } + private bool IsReady(Pump pump) + { + if (Option == "stoppumping") + { + return !pump.IsActive || MathUtils.NearlyEqual(pump.FlowPercentage, 0); + } + else + { + return !pump.Item.InWater || pump.IsActive && pump.FlowPercentage <= -99.9f; + } + } + protected override AIObjective ObjectiveConstructor(Pump pump) - => new AIObjectiveOperateItem(pump, character, objectiveManager, Option, false) { IsLoop = false }; + => new AIObjectiveOperateItem(pump, character, objectiveManager, Option, false) + { + IsLoop = false, + completionCondition = () => IsReady(pump) + }; protected override void OnObjectiveCompleted(AIObjective objective, Pump target) => HumanAIController.RemoveTargets(character, target); diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRepairItem.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRepairItem.cs index 94f81003f..f32c44b77 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRepairItem.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRepairItem.cs @@ -10,6 +10,7 @@ namespace Barotrauma class AIObjectiveRepairItem : AIObjective { public override string DebugTag => "repair item"; + public override bool KeepDivingGearOn => true; public Item Item { get; private set; } @@ -18,6 +19,8 @@ namespace Barotrauma private float previousCondition = -1; private RepairTool repairTool; + private bool IsRepairing => character.SelectedConstruction == Item && Item.GetComponent()?.CurrentFixer == character; + public AIObjectiveRepairItem(Character character, Item item, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { Item = item; @@ -28,41 +31,36 @@ namespace Barotrauma // TODO: priority list? // Ignore items that are being repaired by someone else. if (Item.Repairables.Any(r => r.CurrentFixer != null && r.CurrentFixer != character)) { return 0; } - // Vertical distance matters more than horizontal (climbing up/down is harder than moving horizontally) - float dist = Math.Abs(character.WorldPosition.X - Item.WorldPosition.X) + Math.Abs(character.WorldPosition.Y - Item.WorldPosition.Y) * 2.0f; - float distanceFactor = MathHelper.Lerp(1, 0.5f, MathUtils.InverseLerp(0, 10000, dist)); + float yDist = Math.Abs(character.WorldPosition.Y - Item.WorldPosition.Y); + yDist = yDist > 100 ? yDist * 5 : 0; + float dist = Math.Abs(character.WorldPosition.X - Item.WorldPosition.X) + yDist; + float distanceFactor = MathHelper.Lerp(1, 0.25f, MathUtils.InverseLerp(0, 5000, dist)); + if (Item.CurrentHull == character.CurrentHull) + { + distanceFactor = 1; + } float damagePriority = MathHelper.Lerp(1, 0, Item.Condition / Item.MaxCondition); float successFactor = MathHelper.Lerp(0, 1, Item.Repairables.Average(r => r.DegreeOfSuccess(character))); - float isSelected = character.SelectedConstruction == Item ? 50 : 0; + float isSelected = IsRepairing ? 50 : 0; float devotion = (Math.Min(Priority, 10) + isSelected) / 100; float max = MathHelper.Min(AIObjectiveManager.OrderPriority - 1, 90); - - bool isCompleted = Item.IsFullCondition; - if (isCompleted && character.SelectedConstruction == Item) - { - character?.Speak(TextManager.GetWithVariable("DialogItemRepaired", "[itemname]", Item.Name, true), null, 0.0f, "itemrepaired", 10.0f); - } - return MathHelper.Lerp(0, max, MathHelper.Clamp(devotion + damagePriority * distanceFactor * successFactor * PriorityModifier, 0, 1)); } - public override bool IsCompleted() + protected override bool Check() { - bool isCompleted = Item.IsFullCondition; - if (isCompleted && character.SelectedConstruction == Item) + IsCompleted = Item.IsFullCondition; + if (IsCompleted && IsRepairing) { character?.Speak(TextManager.GetWithVariable("DialogItemRepaired", "[itemname]", Item.Name, true), null, 0.0f, "itemrepaired", 10.0f); } - return isCompleted; - } - - public override bool IsDuplicate(AIObjective otherObjective) - { - return otherObjective is AIObjectiveRepairItem repairObjective && repairObjective.Item == Item; + return IsCompleted; } protected override void Act(float deltaTime) { + // Only continue when the get item sub objectives have been completed. + if (subObjectives.Any()) { return; } foreach (Repairable repairable in Item.Repairables) { if (!repairable.HasRequiredItems(character, false)) @@ -72,14 +70,12 @@ namespace Barotrauma { foreach (RelatedItem requiredItem in kvp.Value) { - AddSubObjective(new AIObjectiveGetItem(character, requiredItem.Identifiers, objectiveManager, true)); + subObjectives.Add(new AIObjectiveGetItem(character, requiredItem.Identifiers, objectiveManager, true)); } } return; } } - // Only continue when the get item sub objectives have been completed. - if (subObjectives.Any()) { return; } if (repairTool == null) { FindRepairTool(); @@ -90,9 +86,9 @@ namespace Barotrauma if (containedItems == null) { #if DEBUG - DebugConsole.ThrowError("AIObjectiveRepairItem failed - the item \"" + repairTool + "\" has no proper inventory"); + DebugConsole.ThrowError($"{character.Name}: AIObjectiveRepairItem failed - the item \"" + repairTool + "\" has no proper inventory"); #endif - abandon = true; + Abandon = true; return; } // Drop empty tanks @@ -115,12 +111,15 @@ namespace Barotrauma if (fuel == null) { RemoveSubObjective(ref goToObjective); - TryAddSubObjective(ref refuelObjective, () => new AIObjectiveContainItem(character, item.Identifiers, repairTool.Item.GetComponent(), objectiveManager)); + TryAddSubObjective(ref refuelObjective, () => new AIObjectiveContainItem(character, item.Identifiers, repairTool.Item.GetComponent(), objectiveManager), + onCompleted: () => RemoveSubObjective(ref refuelObjective), + onAbandon: () => Abandon = true); return; } } if (character.CanInteractWith(Item, out _, checkLinked: false)) { + HumanAIController.FaceTarget(Item); if (repairTool != null) { OperateRepairTool(deltaTime); @@ -129,10 +128,10 @@ namespace Barotrauma { if (repairable.CurrentFixer != null && repairable.CurrentFixer != character) { - // Someone else is repairing the target. Abandon the objective if the other is better at this then us. - abandon = repairable.DegreeOfSuccess(character) < repairable.DegreeOfSuccess(repairable.CurrentFixer); + // Someone else is repairing the target. Abandon the objective if the other is better at this than us. + Abandon = repairable.DegreeOfSuccess(character) < repairable.DegreeOfSuccess(repairable.CurrentFixer); } - if (!abandon) + if (!Abandon) { if (character.SelectedConstruction != Item) { @@ -145,12 +144,15 @@ namespace Barotrauma else if (Item.Condition < previousCondition) { // If the current condition is less than the previous condition, we can't complete the task, so let's abandon it. The item is probably deteriorating at a greater speed than we can repair it. - abandon = true; - character?.Speak(TextManager.GetWithVariable("DialogCannotRepair", "[itemname]", Item.Name, true), null, 0.0f, "cannotrepair", 10.0f); + Abandon = true; } } - if (abandon) + if (Abandon) { + if (IsRepairing) + { + character?.Speak(TextManager.GetWithVariable("DialogCannotRepair", "[itemname]", Item.Name, true), null, 0.0f, "cannotrepair", 10.0f); + } repairable.StopRepairing(character); } else @@ -179,7 +181,14 @@ namespace Barotrauma } return objective; }, - onAbandon: () => character.Speak(TextManager.GetWithVariable("DialogCannotRepair", "[itemname]", Item.Name, true), null, 0.0f, "cannotrepair", 10.0f)); + onAbandon: () => + { + Abandon = true; + if (IsRepairing) + { + character.Speak(TextManager.GetWithVariable("DialogCannotRepair", "[itemname]", Item.Name, true), null, 0.0f, "cannotrepair", 10.0f); + } + }); } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRepairItems.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRepairItems.cs index 751b1271a..2939d969d 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRepairItems.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRepairItems.cs @@ -14,9 +14,12 @@ namespace Barotrauma /// public bool RequireAdequateSkills; - public AIObjectiveRepairItems(Character character, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { } + public override bool AllowMultipleInstances => true; - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectiveRepairItems repairItems && repairItems.RequireAdequateSkills == RequireAdequateSkills; + public override bool IsDuplicate(T otherObjective) => + (otherObjective as AIObjective) is AIObjectiveRepairItems repairObjective && repairObjective.RequireAdequateSkills == RequireAdequateSkills; + + public AIObjectiveRepairItems(Character character, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { } protected override void CreateObjectives() { @@ -28,7 +31,21 @@ namespace Barotrauma { objective = ObjectiveConstructor(item); Objectives.Add(item, objective); - AddSubObjective(objective); + if (!subObjectives.Contains(objective)) + { + subObjectives.Add(objective); + } + objective.Completed += () => + { + Objectives.Remove(item); + OnObjectiveCompleted(objective, item); + }; + objective.Abandoned += () => + { + Objectives.Remove(item); + ignoreList.Add(item); + targetUpdateTimer = 0; + }; } break; } @@ -40,7 +57,7 @@ namespace Barotrauma if (!IsValidTarget(item, character)) { return false; } if (item.CurrentHull.FireSources.Count > 0) { return false; } // Don't repair items in rooms that have enemies inside. - if (Character.CharacterList.Any(c => c.CurrentHull == item.CurrentHull && !HumanAIController.IsFriendly(c))) { return false; } + if (Character.CharacterList.Any(c => c.CurrentHull == item.CurrentHull && !HumanAIController.IsFriendly(c) && HumanAIController.IsActive(c))) { return false; } if (!Objectives.ContainsKey(item)) { if (item.Repairables.All(r => item.ConditionPercentage > r.ShowRepairUIThreshold)) { return false; } @@ -52,7 +69,7 @@ namespace Barotrauma return true; } - protected override float TargetEvaluation() => Targets.Max(t => 100 - t.ConditionPercentage); + protected override float TargetEvaluation() => Targets.Max(t => character.SelectedConstruction == t && t.ConditionPercentage < 100 ? 100 : 100 - t.ConditionPercentage); protected override IEnumerable GetList() => Item.ItemList; protected override AIObjective ObjectiveConstructor(Item item) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRescue.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRescue.cs index dbddff518..f53eec9c0 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRescue.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRescue.cs @@ -10,12 +10,16 @@ namespace Barotrauma { public override string DebugTag => "rescue"; public override bool ForceRun => true; + public override bool KeepDivingGearOn => true; const float TreatmentDelay = 0.5f; + const float CloseEnoughToTreat = 150.0f; + private readonly Character targetCharacter; private AIObjectiveGoTo goToObjective; + private AIObjectiveGetItem getItemObjective; private float treatmentTimer; private Hull safeHull; @@ -24,94 +28,79 @@ namespace Barotrauma { if (targetCharacter == null) { - string errorMsg = "Attempted to create a Rescue objective with no target!\n" + Environment.StackTrace; + string errorMsg = $"{character.Name}: Attempted to create a Rescue objective with no target!\n" + Environment.StackTrace; DebugConsole.ThrowError(errorMsg); GameAnalyticsManager.AddErrorEventOnce("AIObjectiveRescue:ctor:targetnull", GameAnalyticsSDK.Net.EGAErrorSeverity.Error, errorMsg); - abandon = true; - return; - } - - if (targetCharacter == character) - { - // TODO: enable healing self too - abandon = true; + Abandon = true; return; } this.targetCharacter = targetCharacter; } - - public override bool IsDuplicate(AIObjective otherObjective) - { - AIObjectiveRescue rescueObjective = otherObjective as AIObjectiveRescue; - return rescueObjective != null && rescueObjective.targetCharacter == targetCharacter; - } protected override void Act(float deltaTime) { - if (targetCharacter == null || targetCharacter.Removed) + if (character.LockHands || targetCharacter == null || targetCharacter.CurrentHull == null || targetCharacter.Removed || targetCharacter.IsDead) { + Abandon = true; return; } - // Unconcious target is not in a safe place -> Move to a safe place first - if (targetCharacter.IsUnconscious && HumanAIController.GetHullSafety(targetCharacter.CurrentHull, targetCharacter) < HumanAIController.HULL_SAFETY_THRESHOLD) + if (targetCharacter != character) { - if (character.SelectedCharacter != targetCharacter) - { - character.Speak(TextManager.GetWithVariables("DialogFoundUnconsciousTarget", new string[2] { "[targetname]", "[roomname]" }, - new string[2] { targetCharacter.Name, targetCharacter.CurrentHull.DisplayName }, new bool[2] { false, true }), - null, 1.0f, "foundunconscioustarget" + targetCharacter.Name, 60.0f); - - // Go to the target and select it - if (!character.CanInteractWith(targetCharacter)) + // Unconcious target is not in a safe place -> Move to a safe place first + if (targetCharacter.IsUnconscious && HumanAIController.GetHullSafety(targetCharacter.CurrentHull, targetCharacter) < HumanAIController.HULL_SAFETY_THRESHOLD) + { + if (character.SelectedCharacter != targetCharacter) { - if (goToObjective != null && goToObjective.Target != targetCharacter) + character.Speak(TextManager.GetWithVariables("DialogFoundUnconsciousTarget", new string[2] { "[targetname]", "[roomname]" }, + new string[2] { targetCharacter.Name, targetCharacter.CurrentHull.DisplayName }, new bool[2] { false, true }), + null, 1.0f, "foundunconscioustarget" + targetCharacter.Name, 60.0f); + + // Go to the target and select it + if (!character.CanInteractWith(targetCharacter)) { - goToObjective = null; + RemoveSubObjective(ref goToObjective); + TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(targetCharacter, character, objectiveManager) { CloseEnough = CloseEnoughToTreat }, + onCompleted: () => RemoveSubObjective(ref goToObjective), + onAbandon: () => RemoveSubObjective(ref goToObjective)); + } + else + { + character.SelectCharacter(targetCharacter); } - TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(targetCharacter, character, objectiveManager)); } else { - character.SelectCharacter(targetCharacter); - } - } - else - { - // Drag the character into safety - if (goToObjective != null && goToObjective.Target == targetCharacter) - { - goToObjective = null; - } - if (safeHull == null) - { - var findSafety = objectiveManager.GetObjective(); - if (findSafety == null) + // Drag the character into safety + if (safeHull == null) { - // Ensure that we have the find safety objective (should always be the case) - findSafety = new AIObjectiveFindSafety(character, objectiveManager); - objectiveManager.AddObjective(findSafety); + safeHull = objectiveManager.GetObjective().FindBestHull(HumanAIController.VisibleHulls); + } + if (character.CurrentHull != safeHull) + { + RemoveSubObjective(ref goToObjective); + TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(safeHull, character, objectiveManager), + onCompleted: () => RemoveSubObjective(ref goToObjective), + onAbandon: () => RemoveSubObjective(ref goToObjective)); } - safeHull = findSafety.FindBestHull(HumanAIController.VisibleHulls); - } - if (character.CurrentHull != safeHull) - { - TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(safeHull, character, objectiveManager)); } } } if (subObjectives.Any()) { return; } - if (!character.CanInteractWith(targetCharacter)) + if (targetCharacter != character && !character.CanInteractWith(targetCharacter)) { + RemoveSubObjective(ref goToObjective); // Go to the target and select it - TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(targetCharacter, character, objectiveManager)); + TryAddSubObjective(ref goToObjective, () => new AIObjectiveGoTo(targetCharacter, character, objectiveManager) { CloseEnough = CloseEnoughToTreat }, + onCompleted: () => RemoveSubObjective(ref goToObjective), + onAbandon: () => RemoveSubObjective(ref goToObjective)); } else { // We can start applying treatment - if (character.SelectedCharacter != targetCharacter) + if (character != targetCharacter && character.SelectedCharacter != targetCharacter) { character.Speak(TextManager.GetWithVariables("DialogFoundWoundedTarget", new string[2] { "[targetname]", "[roomname]" }, new string[2] { targetCharacter.Name, targetCharacter.CurrentHull.DisplayName }, new bool[2] { false, true }), @@ -123,61 +112,59 @@ namespace Barotrauma } } - // TODO: consider optimizing a bit + private readonly List suitableItemIdentifiers = new List(); + private readonly List itemNameList = new List(); + private Dictionary currentTreatmentSuitabilities = new Dictionary(); private void GiveTreatment(float deltaTime) { if (treatmentTimer > 0.0f) { treatmentTimer -= deltaTime; + return; } treatmentTimer = TreatmentDelay; - var allAfflictions = targetCharacter.CharacterHealth.GetAllAfflictions() - .Where(a => a.GetVitalityDecrease(targetCharacter.CharacterHealth) > 0) - .ToList(); + //find which treatments are the most suitable to treat the character's current condition + targetCharacter.CharacterHealth.GetSuitableTreatments(currentTreatmentSuitabilities, normalize: false); - allAfflictions.Sort((a1, a2) => - { - return Math.Sign(a2.GetVitalityDecrease(targetCharacter.CharacterHealth) - a1.GetVitalityDecrease(targetCharacter.CharacterHealth)); - }); + var allAfflictions = GetVitalityReducingAfflictions(targetCharacter).OrderByDescending(a => a.GetVitalityDecrease(targetCharacter.CharacterHealth)); //check if we already have a suitable treatment for any of the afflictions foreach (Affliction affliction in allAfflictions) { foreach (KeyValuePair treatmentSuitability in affliction.Prefab.TreatmentSuitability) { - if (treatmentSuitability.Value > 0.0f) + if (currentTreatmentSuitabilities.ContainsKey(treatmentSuitability.Key) && currentTreatmentSuitabilities[treatmentSuitability.Key] > 0.0f) { - Item matchingItem = character.Inventory.FindItemByIdentifier(treatmentSuitability.Key); + Item matchingItem = character.Inventory.FindItemByIdentifier(treatmentSuitability.Key, true); if (matchingItem == null) { continue; } ApplyTreatment(affliction, matchingItem); + //wait a bit longer after applying a treatment to wait for potential side-effects to manifest + treatmentTimer = TreatmentDelay * 4; return; } } } + + float cprSuitability = targetCharacter.Oxygen < 0.0f ? -targetCharacter.Oxygen * 100.0f : 0.0f; //didn't have any suitable treatments available, try to find some medical items - HashSet suitableItemIdentifiers = new HashSet(); - foreach (Affliction affliction in allAfflictions) + if (currentTreatmentSuitabilities.Any(s => s.Value > cprSuitability)) { - foreach (KeyValuePair treatmentSuitability in affliction.Prefab.TreatmentSuitability) + itemNameList.Clear(); + suitableItemIdentifiers.Clear(); + foreach (KeyValuePair treatmentSuitability in currentTreatmentSuitabilities) { - if (treatmentSuitability.Value > 0.0f) + if (treatmentSuitability.Value <= cprSuitability) { continue; } + if (MapEntityPrefab.Find(null, treatmentSuitability.Key, showErrorMessages: false) is ItemPrefab itemPrefab) { + if (!Item.ItemList.Any(it => it.prefab.Identifier == treatmentSuitability.Key)) { continue; } suitableItemIdentifiers.Add(treatmentSuitability.Key); + //only list the first 4 items + if (itemNameList.Count < 4) + { + itemNameList.Add(itemPrefab.Name); + } } } - } - if (suitableItemIdentifiers.Count > 0) - { - List itemNameList = new List(); - foreach (string itemIdentifier in suitableItemIdentifiers) - { - if (MapEntityPrefab.Find(null, itemIdentifier, showErrorMessages: false) is ItemPrefab itemPrefab) - { - itemNameList.Add(itemPrefab.Name); - } - //only list the first 4 items - if (itemNameList.Count >= 4) { break; } - } if (itemNameList.Count > 0) { string itemListStr = ""; @@ -189,18 +176,24 @@ namespace Barotrauma { itemListStr = string.Join(" or ", string.Join(", ", itemNameList.Take(itemNameList.Count - 1)), itemNameList.Last()); } - - - character.Speak(TextManager.GetWithVariables("DialogListRequiredTreatments", new string[2] { "[targetname]", "[treatmentlist]" }, - new string[2] { targetCharacter.Name, itemListStr }, new bool[2] { false, true }), - null, 2.0f, "listrequiredtreatments" + targetCharacter.Name, 60.0f); + if (targetCharacter != character) + { + character.Speak(TextManager.GetWithVariables("DialogListRequiredTreatments", new string[2] { "[targetname]", "[treatmentlist]" }, + new string[2] { targetCharacter.Name, itemListStr }, new bool[2] { false, true }), + null, 2.0f, "listrequiredtreatments" + targetCharacter.Name, 60.0f); + } + character.DeselectCharacter(); + RemoveSubObjective(ref getItemObjective); + TryAddSubObjective(ref getItemObjective, + constructor: () => new AIObjectiveGetItem(character, suitableItemIdentifiers.ToArray(), objectiveManager, equip: true), + onCompleted: () => RemoveSubObjective(ref getItemObjective), + onAbandon: () => RemoveSubObjective(ref getItemObjective)); } - character.DeselectCharacter(); - AddSubObjective(new AIObjectiveGetItem(character, suitableItemIdentifiers.ToArray(), objectiveManager, equip: true)); } character.AnimController.Anim = AnimController.Animation.CPR; } + private void ApplyTreatment(Affliction affliction, Item item) { var targetLimb = targetCharacter.CharacterHealth.GetAfflictionLimb(affliction); @@ -224,43 +217,46 @@ namespace Barotrauma } } - public override bool IsCompleted() + protected override bool Check() { - if (targetCharacter == null || targetCharacter.Removed) + if (character.LockHands || targetCharacter == null || targetCharacter.CurrentHull == null || targetCharacter.Removed || targetCharacter.IsDead) { - abandon = true; - return true; + Abandon = true; + return false; } - - bool isCompleted = targetCharacter.Bleeding <= 0 && targetCharacter.Vitality / targetCharacter.MaxVitality > AIObjectiveRescueAll.GetVitalityThreshold(objectiveManager); - if (isCompleted) + // Don't go into rooms that have enemies + if (Character.CharacterList.Any(c => c.CurrentHull == targetCharacter.CurrentHull && !HumanAIController.IsFriendly(character, c) && HumanAIController.IsActive(c))) + { + Abandon = true; + return false; + } + bool isCompleted = AIObjectiveRescueAll.GetVitalityFactor(targetCharacter) > AIObjectiveRescueAll.GetVitalityThreshold(objectiveManager); + if (isCompleted && targetCharacter != character) { character.Speak(TextManager.GetWithVariable("DialogTargetHealed", "[targetname]", targetCharacter.Name), null, 1.0f, "targethealed" + targetCharacter.Name, 60.0f); } - return isCompleted || targetCharacter.IsDead; + return isCompleted; } public override float GetPriority() { - if (targetCharacter == null) { return 0; } - if (targetCharacter.CurrentHull == null || targetCharacter.Removed || targetCharacter.IsDead) + if (targetCharacter == null || targetCharacter.CurrentHull == null || targetCharacter.Removed || targetCharacter.IsDead) { - abandon = true; - return 0; - } - // Don't go into rooms that have enemies - if (Character.CharacterList.Any(c => c.CurrentHull == targetCharacter.CurrentHull && !HumanAIController.IsFriendly(c))) - { - abandon = true; return 0; } // Vertical distance matters more than horizontal (climbing up/down is harder than moving horizontally) float dist = Math.Abs(character.WorldPosition.X - targetCharacter.WorldPosition.X) + Math.Abs(character.WorldPosition.Y - targetCharacter.WorldPosition.Y) * 2.0f; - float distanceFactor = MathHelper.Lerp(1, 0.5f, MathUtils.InverseLerp(0, 10000, dist)); + float distanceFactor = MathHelper.Lerp(1, 0.1f, MathUtils.InverseLerp(0, 5000, dist)); + if (targetCharacter.CurrentHull == character.CurrentHull) + { + distanceFactor = 1; + } float vitalityFactor = AIObjectiveRescueAll.GetVitalityFactor(targetCharacter); float devotion = Math.Min(Priority, 10) / 100; return MathHelper.Lerp(0, 100, MathHelper.Clamp(devotion + vitalityFactor * distanceFactor, 0, 1)); } + + public static IEnumerable GetVitalityReducingAfflictions(Character character) => character.CharacterHealth.GetAllAfflictions(a => a.GetVitalityDecrease(character.CharacterHealth) > 0); } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRescueAll.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRescueAll.cs index 12ac3a962..6cc31471c 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRescueAll.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveRescueAll.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; namespace Barotrauma @@ -7,9 +8,10 @@ namespace Barotrauma { public override string DebugTag => "rescue all"; public override bool ForceRun => true; + public override bool IgnoreUnsafeHulls => true; - private const float vitalityThreshold = 0.8f; - private const float vitalityThresholdForOrders = 0.95f; + private const float vitalityThreshold = 80; + private const float vitalityThresholdForOrders = 95; public static float GetVitalityThreshold(AIObjectiveManager manager) { if (manager == null) @@ -25,15 +27,13 @@ namespace Barotrauma public AIObjectiveRescueAll(Character character, AIObjectiveManager objectiveManager, float priorityModifier = 1) : base(character, objectiveManager, priorityModifier) { } - public override bool IsDuplicate(AIObjective otherObjective) => otherObjective is AIObjectiveRescueAll; - protected override bool Filter(Character target) => IsValidTarget(target, character); protected override IEnumerable GetList() => Character.CharacterList; - protected override float TargetEvaluation() => Targets.Max(t => GetVitalityFactor(t)) * 100; + protected override float TargetEvaluation() => Targets.Max(t => GetVitalityFactor(t)); - public static float GetVitalityFactor(Character character) => (character.MaxVitality - character.Vitality) / character.MaxVitality; + public static float GetVitalityFactor(Character character) => Math.Min(character.HealthPercentage - character.Bleeding - character.Bloodloss - Math.Min(character.Oxygen, 0), 100); protected override AIObjective ObjectiveConstructor(Character target) => new AIObjectiveRescue(character, target, objectiveManager, PriorityModifier); @@ -47,16 +47,18 @@ namespace Barotrauma if (!HumanAIController.IsFriendly(character, target)) { return false; } if (character.AIController is HumanAIController humanAI) { - if (target.Bleeding < 1 && target.Vitality / target.MaxVitality > GetVitalityThreshold(humanAI.ObjectiveManager)) { return false; } + if (GetVitalityFactor(target) > GetVitalityThreshold(humanAI.ObjectiveManager)) { return false; } } else { - if (target.Bleeding < 1 && target.Vitality / target.MaxVitality > vitalityThreshold) { return false; } + if (GetVitalityFactor(target) > vitalityThreshold) { return false; } } if (target.Submarine == null || character.Submarine == null) { return false; } if (target.Submarine.TeamID != character.Submarine.TeamID) { return false; } if (target.CurrentHull == null) { return false; } if (character.Submarine != null && !character.Submarine.IsEntityFoundOnThisSub(target.CurrentHull, true)) { return false; } + // Don't go into rooms that have enemies + if (Character.CharacterList.Any(c => c.CurrentHull == target.CurrentHull && !HumanAIController.IsFriendly(character, c) && HumanAIController.IsActive(c))) { return false; } return true; } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/PathFinder.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/PathFinder.cs index a23b44fbb..f27a327e4 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/PathFinder.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/PathFinder.cs @@ -157,12 +157,13 @@ namespace Barotrauma } } - public SteeringPath FindPath(Vector2 start, Vector2 end, Submarine hostSub = null, string errorMsgStr = null, Func startNodeFilter = null, Func endNodeFilter = null) + public SteeringPath FindPath(Vector2 start, Vector2 end, Submarine hostSub = null, string errorMsgStr = null, Func startNodeFilter = null, Func endNodeFilter = null, Func nodeFilter = null) { float closestDist = 0.0f; PathNode startNode = null; foreach (PathNode node in nodes) { + if (nodeFilter != null && !nodeFilter(node)) { continue; } if (startNodeFilter != null && !startNodeFilter(node)) { continue; } Vector2 nodePos = node.Position; if (hostSub != null) @@ -220,6 +221,7 @@ namespace Barotrauma PathNode endNode = null; foreach (PathNode node in nodes) { + if (nodeFilter != null && !nodeFilter(node)) { continue; } if (endNodeFilter != null && !endNodeFilter(node)) { continue; } Vector2 nodePos = node.Position; if (hostSub != null) @@ -264,7 +266,7 @@ namespace Barotrauma return new SteeringPath(true); } - var path = FindPath(startNode, endNode); + var path = FindPath(startNode, endNode, nodeFilter); return path; } @@ -297,7 +299,7 @@ namespace Barotrauma return FindPath(startNode, endNode); } - private SteeringPath FindPath(PathNode start, PathNode end) + private SteeringPath FindPath(PathNode start, PathNode end, Func filter = null) { if (start == end) { @@ -323,7 +325,8 @@ namespace Barotrauma float dist = float.MaxValue; foreach (PathNode node in nodes) { - if (node.state != 1) continue; + if (filter != null && !filter(node)) { continue; } + if (node.state != 1) { continue; } if (node.F < dist) { dist = node.F; @@ -331,7 +334,7 @@ namespace Barotrauma } } - if (currNode == null || currNode == end) break; + if (currNode == null || currNode == end) { break; } currNode.state = 2; @@ -369,7 +372,7 @@ namespace Barotrauma if (GetNodePenalty != null) { float? nodePenalty = GetNodePenalty(currNode, nextNode); - if (nodePenalty == null) continue; + if (nodePenalty == null) { continue; } tempG += nodePenalty.Value; } @@ -388,7 +391,9 @@ namespace Barotrauma if (end.state == 0 || end.Parent == null) { - //DebugConsole.NewMessage("Pathfinding error: path not found", Color.DarkRed); +#if DEBUG + DebugConsole.NewMessage("Path not found", Color.Yellow); +#endif return new SteeringPath(true); } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/SteeringManager.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/SteeringManager.cs index 3f47266e4..290a8a3d0 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/SteeringManager.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/SteeringManager.cs @@ -15,13 +15,18 @@ namespace Barotrauma protected ISteerable host; - private Vector2 steering; - - private Vector2? avoidObstaclePos; - private float rayCastTimer; - - private float wanderAngle; + protected Vector2 steering; + private float lastRayCastTime; + + private bool avoidRayCastHit; + + public Vector2 AvoidDir { get; private set; } + public Vector2 AvoidRayCastHitPosition { get; private set; } + public Vector2 AvoidLookAheadPos { get; private set; } + + private float wanderAngle; + public float WanderAngle { get { return wanderAngle; } @@ -45,9 +50,9 @@ namespace Barotrauma steering += DoSteeringWander(weight); } - public void SteeringAvoid(float deltaTime, float lookAheadDistance, float weight = 1, Vector2? heading = null) + public void SteeringAvoid(float deltaTime, float lookAheadDistance, float weight = 1) { - steering += DoSteeringAvoid(deltaTime, lookAheadDistance, weight, heading); + steering += DoSteeringAvoid(deltaTime, lookAheadDistance, weight); } public void SteeringManual(float deltaTime, Vector2 velocity) @@ -107,7 +112,7 @@ namespace Barotrauma protected virtual Vector2 DoSteeringWander(float weight) { - Vector2 circleCenter = (host.Steering == Vector2.Zero) ? Rand.Vector(weight) : host.Steering; + Vector2 circleCenter = (host.Steering == Vector2.Zero) ? Vector2.UnitY : host.Steering; circleCenter = Vector2.Normalize(circleCenter) * CircleDistance; Vector2 displacement = new Vector2( @@ -135,70 +140,42 @@ namespace Barotrauma { return Vector2.Zero; } + float maxDistance = lookAheadDistance; - if (rayCastTimer <= 0.0f) + if (Timing.TotalTime >= lastRayCastTime + RayCastInterval) { - Vector2 ahead = host.SimPosition + Vector2.Normalize(host.Steering) * maxDistance; - rayCastTimer = RayCastInterval; - Body closestBody = Submarine.CheckVisibility(host.SimPosition, ahead); - if (closestBody == null) + avoidRayCastHit = false; + AvoidLookAheadPos = host.SimPosition + Vector2.Normalize(host.Steering) * maxDistance; + lastRayCastTime = (float)Timing.TotalTime; + Body closestBody = Submarine.CheckVisibility(host.SimPosition, AvoidLookAheadPos); + if (closestBody != null) { - avoidObstaclePos = null; - return Vector2.Zero; - } - else - { - // TODO: Doesn't take items into account (like turrets) - if (closestBody.UserData is Structure closestStructure) - { - Vector2 obstaclePosition = Submarine.LastPickedPosition; - if (closestStructure.IsHorizontal) - { - obstaclePosition.Y = closestStructure.SimPosition.Y; - } - else - { - obstaclePosition.X = closestStructure.SimPosition.X; - } - avoidObstaclePos = obstaclePosition; - } - else - { - avoidObstaclePos = Submarine.LastPickedPosition; - } + avoidRayCastHit = true; + AvoidRayCastHitPosition = Submarine.LastPickedPosition; + AvoidDir = Submarine.LastPickedNormal; + //add a bit of randomness + AvoidDir = MathUtils.RotatePoint(AvoidDir, Rand.Range(-0.15f, 0.15f)); + //wait a bit longer for the next raycast + lastRayCastTime += RayCastInterval; } } - else + + if (AvoidDir.LengthSquared() < 0.0001f) { return Vector2.Zero; } + + //if raycast hit nothing, lerp avoid dir to zero + if (!avoidRayCastHit) { - rayCastTimer -= deltaTime; + AvoidDir -= Vector2.Normalize(AvoidDir) * deltaTime * 0.5f; } - if (!avoidObstaclePos.HasValue) - { - return Vector2.Zero; - } - Vector2 diff = avoidObstaclePos.Value - host.SimPosition; + + Vector2 diff = AvoidRayCastHitPosition - host.SimPosition; float dist = diff.Length(); - if (dist > maxDistance) - { - return Vector2.Zero; - } - if (heading.HasValue) - { - var f = heading ?? host.Steering; - // Avoid to left or right depending on the current heading - Vector2 relativeVector = Vector2.Normalize(diff) - Vector2.Normalize(f); - var dir = relativeVector.X > 0 ? diff.Right() : diff.Left(); - float factor = 1.0f - Math.Min(dist / maxDistance, 1); - return dir * factor * weight; - } - else - { - // Doesn't work right because it effectively just slows down or reverses the movement, where as we'd like to go right or left to avoid the target. - // There's also another issue, which also affects going right or left: the raycast doesn't hit anything if we turn too much -> avoiding doesn't work well. - // Could probably "remember" the avoidance a bit longer so that the avoid steering is not immedieately disgarded, but kept for a while and reduced gradually? - return -diff * (1.0f - dist / maxDistance) * weight; - } + //> 0 when heading in the same direction as the obstacle, < 0 when away from it + float dot = MathHelper.Clamp(Vector2.Dot(diff / dist, host.Steering), 0.0f, 1.0f); + if (dot < 0) { return Vector2.Zero; } + + return AvoidDir * dot * weight * MathHelper.Clamp(1.0f - dist / lookAheadDistance, 0.0f, 1.0f); } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/SwarmBehavior.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/SwarmBehavior.cs index 76adf9000..7b2abeada 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/SwarmBehavior.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/SwarmBehavior.cs @@ -10,9 +10,9 @@ namespace Barotrauma { class SwarmBehavior { - private float minDistFromClosest; - private float maxDistFromCenter; - private float cohesion; + private readonly float minDistFromClosest; + private readonly float maxDistFromCenter; + private readonly float cohesion; public List Members { get; private set; } = new List(); public HashSet ActiveMembers { get; private set; } = new HashSet(); @@ -28,23 +28,29 @@ namespace Barotrauma this.ai = ai; minDistFromClosest = ConvertUnits.ToSimUnits(element.GetAttributeFloat("mindistfromclosest", 10.0f)); maxDistFromCenter = ConvertUnits.ToSimUnits(element.GetAttributeFloat("maxdistfromcenter", 1000.0f)); - cohesion = element.GetAttributeFloat("cohesion", 0.1f); + cohesion = element.GetAttributeFloat("cohesion", 1) / 10; } public static void CreateSwarm(IEnumerable swarm) { + var aiControllers = new List(); foreach (AICharacter character in swarm) { if (character.AIController is EnemyAIController enemyAI && enemyAI.SwarmBehavior != null) { - enemyAI.SwarmBehavior.Members = swarm.ToList(); + aiControllers.Add(enemyAI); } } + var filteredMembers = aiControllers.Select(m => m.Character as AICharacter).Where(m => m != null); + foreach (EnemyAIController ai in aiControllers) + { + ai.SwarmBehavior.Members = filteredMembers.ToList(); + } } public void Refresh() { - Members.RemoveAll(m => m.IsDead || m.Removed); + Members.RemoveAll(m => m.IsDead || m.Removed || m.AIController is EnemyAIController ai && ai.State == AIState.Flee); foreach (var member in Members) { if (!member.AIController.Enabled && member.IsRemotePlayer || Character.Controlled == member || !((EnemyAIController)member.AIController).SwarmBehavior.IsActive) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/AnimController.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/AnimController.cs index 4f3fb0a08..79fea4873 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/AnimController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/AnimController.cs @@ -61,7 +61,7 @@ namespace Barotrauma } } - public bool CanWalk => CanEnterSubmarine; + public bool CanWalk => RagdollParams.CanWalk; public bool IsMovingBackwards => !InWater && Math.Sign(targetMovement.X) == -Math.Sign(Dir); // TODO: define death anim duration in XML diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/FishAnimController.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/FishAnimController.cs index 43040c7e2..b27499ef8 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/FishAnimController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/FishAnimController.cs @@ -132,25 +132,33 @@ namespace Barotrauma { if (Frozen) return; if (MainLimb == null) { return; } + var mainLimb = MainLimb; levitatingCollider = true; - if (!character.AllowInput) + if (!character.CanMove) { levitatingCollider = false; Collider.FarseerBody.FixedRotation = false; if (GameMain.NetworkMember == null || !GameMain.NetworkMember.IsClient) { Collider.Enabled = false; - Collider.FarseerBody.FixedRotation = false; Collider.LinearVelocity = MainLimb.LinearVelocity; Collider.SetTransformIgnoreContacts(MainLimb.SimPosition, MainLimb.Rotation); + //reset pull joints to prevent the character from "hanging" mid-air if pull joints had been active when the character was still moving + //(except when dragging, then we need the pull joints) + if (!character.CanBeDragged || character.SelectedBy == null) { ResetPullJoints(); } } if (character.IsDead && deathAnimTimer < deathAnimDuration) { deathAnimTimer += deltaTime; - UpdateDying(deltaTime); - } + UpdateDying(deltaTime); + } + else if (!InWater && !CanWalk && character.AllowInput) + { + //cannot walk but on dry land -> wiggle around + UpdateDying(deltaTime); + } return; } else @@ -184,20 +192,22 @@ namespace Barotrauma Collider.FarseerBody.FixedRotation = false; UpdateSineAnim(deltaTime); } - else if (CanEnterSubmarine && (currentHull != null || forceStanding) && CurrentGroundedParams != null) + else if (CanEnterSubmarine && (currentHull != null || forceStanding)) { - //rotate collider back upright - float standAngle = dir == Direction.Right ? CurrentGroundedParams.ColliderStandAngleInRadians : -CurrentGroundedParams.ColliderStandAngleInRadians; - if (Math.Abs(MathUtils.GetShortestAngle(Collider.Rotation, standAngle)) > 0.001f) + if (CurrentGroundedParams != null) { - Collider.AngularVelocity = MathUtils.GetShortestAngle(Collider.Rotation, standAngle) * 60.0f; - Collider.FarseerBody.FixedRotation = false; + //rotate collider back upright + float standAngle = dir == Direction.Right ? CurrentGroundedParams.ColliderStandAngleInRadians : -CurrentGroundedParams.ColliderStandAngleInRadians; + if (Math.Abs(MathUtils.GetShortestAngle(Collider.Rotation, standAngle)) > 0.001f) + { + Collider.AngularVelocity = MathUtils.GetShortestAngle(Collider.Rotation, standAngle) * 60.0f; + Collider.FarseerBody.FixedRotation = false; + } + else + { + Collider.FarseerBody.FixedRotation = true; + } } - else - { - Collider.FarseerBody.FixedRotation = true; - } - UpdateWalkAnim(deltaTime); } @@ -251,8 +261,9 @@ namespace Barotrauma if (character.SelectedCharacter != null) DragCharacter(character.SelectedCharacter, deltaTime); - if (!CurrentFishAnimation.Flip || IsStuck) return; - if (character.AIController != null && !character.AIController.CanFlip) return; + if (!CurrentFishAnimation.Flip) { return; } + if (IsStuck) { return; } + if (character.AIController != null && !character.AIController.CanFlip) { return; } flipCooldown -= deltaTime; @@ -376,34 +387,34 @@ namespace Barotrauma //limbs are disabled when simple physics is enabled, no need to move them if (SimplePhysicsEnabled) { return; } - - MainLimb.PullJointEnabled = true; - //MainLimb.PullJointWorldAnchorB = Collider.SimPosition; + var mainLimb = MainLimb; + mainLimb.PullJointEnabled = true; + //mainLimb.PullJointWorldAnchorB = Collider.SimPosition; if (movement.LengthSquared() < 0.00001f) { WalkPos = MathHelper.SmoothStep(WalkPos, MathHelper.PiOver2, deltaTime * 5); - MainLimb.PullJointWorldAnchorB = Collider.SimPosition; + mainLimb.PullJointWorldAnchorB = Collider.SimPosition; return; } Vector2 transformedMovement = reverse ? -movement : movement; float movementAngle = MathUtils.VectorToAngle(transformedMovement) - MathHelper.PiOver2; float mainLimbAngle = 0; - if (MainLimb.type == LimbType.Torso && TorsoAngle.HasValue) + if (mainLimb.type == LimbType.Torso && TorsoAngle.HasValue) { mainLimbAngle = TorsoAngle.Value; } - else if (MainLimb.type == LimbType.Head && HeadAngle.HasValue) + else if (mainLimb.type == LimbType.Head && HeadAngle.HasValue) { mainLimbAngle = HeadAngle.Value; } mainLimbAngle *= Dir; - while (MainLimb.Rotation - (movementAngle + mainLimbAngle) > MathHelper.Pi) + while (mainLimb.Rotation - (movementAngle + mainLimbAngle) > MathHelper.Pi) { movementAngle += MathHelper.TwoPi; } - while (MainLimb.Rotation - (movementAngle + mainLimbAngle) < -MathHelper.Pi) + while (mainLimb.Rotation - (movementAngle + mainLimbAngle) < -MathHelper.Pi) { movementAngle -= MathHelper.TwoPi; } @@ -416,7 +427,7 @@ namespace Barotrauma Limb torso = GetLimb(LimbType.Torso); if (torso != null) { - SmoothRotateWithoutWrapping(torso, movementAngle + TorsoAngle.Value * Dir, MainLimb, TorsoTorque); + SmoothRotateWithoutWrapping(torso, movementAngle + TorsoAngle.Value * Dir, mainLimb, TorsoTorque); } } if (HeadAngle.HasValue) @@ -424,7 +435,7 @@ namespace Barotrauma Limb head = GetLimb(LimbType.Head); if (head != null) { - SmoothRotateWithoutWrapping(head, movementAngle + HeadAngle.Value * Dir, MainLimb, HeadTorque); + SmoothRotateWithoutWrapping(head, movementAngle + HeadAngle.Value * Dir, mainLimb, HeadTorque); } } if (TailAngle.HasValue) @@ -432,7 +443,24 @@ namespace Barotrauma Limb tail = GetLimb(LimbType.Tail); if (tail != null) { - SmoothRotateWithoutWrapping(tail, movementAngle + TailAngle.Value * Dir, MainLimb, TailTorque); + float? mainLimbTargetAngle = null; + if (mainLimb.type == LimbType.Torso) + { + mainLimbTargetAngle = TorsoAngle; + } + else if (mainLimb.type == LimbType.Head) + { + mainLimbTargetAngle = HeadAngle; + } + float torque = TailTorque; + float maxMultiplier = CurrentSwimParams.TailTorqueMultiplier; + if (mainLimbTargetAngle.HasValue && maxMultiplier > 1) + { + float diff = Math.Abs(mainLimb.Rotation - tail.Rotation); + float offset = Math.Abs(mainLimbTargetAngle.Value - TailAngle.Value); + torque *= MathHelper.Lerp(1, maxMultiplier, MathUtils.InverseLerp(0, MathHelper.PiOver2, diff - offset)); + } + SmoothRotateWithoutWrapping(tail, movementAngle + TailAngle.Value * Dir, mainLimb, torque); } } } @@ -443,11 +471,11 @@ namespace Barotrauma { movementAngle = MathUtils.WrapAngleTwoPi(movementAngle - MathHelper.Pi); } - if (MainLimb.type == LimbType.Head && HeadAngle.HasValue) + if (mainLimb.type == LimbType.Head && HeadAngle.HasValue) { Collider.SmoothRotate(HeadAngle.Value * Dir, CurrentSwimParams.SteerTorque); } - else if (MainLimb.type == LimbType.Torso && TorsoAngle.HasValue) + else if (mainLimb.type == LimbType.Torso && TorsoAngle.HasValue) { Collider.SmoothRotate(TorsoAngle.Value * Dir, CurrentSwimParams.SteerTorque); } @@ -484,14 +512,14 @@ namespace Barotrauma case LimbType.RightFoot: if (CurrentSwimParams.FootAnglesInRadians.ContainsKey(limb.Params.ID)) { - SmoothRotateWithoutWrapping(limb, movementAngle + CurrentSwimParams.FootAnglesInRadians[limb.Params.ID] * Dir, MainLimb, FootTorque); + SmoothRotateWithoutWrapping(limb, movementAngle + CurrentSwimParams.FootAnglesInRadians[limb.Params.ID] * Dir, mainLimb, FootTorque); } break; case LimbType.Tail: if (waveLength > 0 && waveAmplitude > 0) { float waveRotation = (float)Math.Sin(WalkPos); - limb.body.ApplyTorque(waveRotation * limb.Mass * CurrentSwimParams.TailTorque * waveAmplitude); + limb.body.ApplyTorque(waveRotation * limb.Mass * waveAmplitude); } break; } @@ -499,25 +527,25 @@ namespace Barotrauma for (int i = 0; i < Limbs.Length; i++) { - if (Limbs[i].SteerForce <= 0.0f) continue; - + if (Limbs[i].SteerForce <= 0.0f) { continue; } + if (!Collider.PhysEnabled) { continue; } Vector2 pullPos = Limbs[i].PullJointWorldAnchorA; Limbs[i].body.ApplyForce(movement * Limbs[i].SteerForce * Limbs[i].Mass, pullPos); } - Vector2 mainLimbDiff = MainLimb.PullJointWorldAnchorB - MainLimb.SimPosition; + Vector2 mainLimbDiff = mainLimb.PullJointWorldAnchorB - mainLimb.SimPosition; if (CurrentSwimParams.UseSineMovement) { - MainLimb.PullJointWorldAnchorB = Vector2.SmoothStep( - MainLimb.PullJointWorldAnchorB, + mainLimb.PullJointWorldAnchorB = Vector2.SmoothStep( + mainLimb.PullJointWorldAnchorB, Collider.SimPosition, mainLimbDiff.LengthSquared() > 10.0f ? 1.0f : (float)Math.Abs(Math.Sin(WalkPos))); } else { - //MainLimb.PullJointWorldAnchorB = Collider.SimPosition; - MainLimb.PullJointWorldAnchorB = Vector2.Lerp( - MainLimb.PullJointWorldAnchorB, + //mainLimb.PullJointWorldAnchorB = Collider.SimPosition; + mainLimb.PullJointWorldAnchorB = Vector2.Lerp( + mainLimb.PullJointWorldAnchorB, Collider.SimPosition, mainLimbDiff.LengthSquared() > 10.0f ? 1.0f : 0.5f); } @@ -527,7 +555,6 @@ namespace Barotrauma void UpdateWalkAnim(float deltaTime) { - if (CurrentGroundedParams == null) { return; } movement = MathUtils.SmoothStep(movement, TargetMovement, 0.2f); Collider.LinearVelocity = new Vector2( @@ -540,12 +567,13 @@ namespace Barotrauma Vector2 colliderBottom = GetColliderBottom(); float movementAngle = 0.0f; - float mainLimbAngle = (MainLimb.type == LimbType.Torso ? TorsoAngle ?? 0 : HeadAngle ?? 0) * Dir; - while (MainLimb.Rotation - (movementAngle + mainLimbAngle) > MathHelper.Pi) + var mainLimb = MainLimb; + float mainLimbAngle = (mainLimb.type == LimbType.Torso ? TorsoAngle ?? 0 : HeadAngle ?? 0) * Dir; + while (mainLimb.Rotation - (movementAngle + mainLimbAngle) > MathHelper.Pi) { movementAngle += MathHelper.TwoPi; } - while (MainLimb.Rotation - (movementAngle + mainLimbAngle) < -MathHelper.Pi) + while (mainLimb.Rotation - (movementAngle + mainLimbAngle) < -MathHelper.Pi) { movementAngle -= MathHelper.TwoPi; } @@ -558,13 +586,13 @@ namespace Barotrauma { if (TorsoAngle.HasValue) { - SmoothRotateWithoutWrapping(torso, movementAngle + TorsoAngle.Value * Dir, MainLimb, TorsoTorque); + SmoothRotateWithoutWrapping(torso, movementAngle + TorsoAngle.Value * Dir, mainLimb, TorsoTorque); } if (TorsoPosition.HasValue) { Vector2 pos = colliderBottom + new Vector2(0, TorsoPosition.Value + stepLift); - if (torso != MainLimb) + if (torso != mainLimb) { pos.X = torso.SimPosition.X; } @@ -580,13 +608,13 @@ namespace Barotrauma { if (HeadAngle.HasValue) { - SmoothRotateWithoutWrapping(head, movementAngle + HeadAngle.Value * Dir, MainLimb, HeadTorque); + SmoothRotateWithoutWrapping(head, movementAngle + HeadAngle.Value * Dir, mainLimb, HeadTorque); } if (HeadPosition.HasValue) { Vector2 pos = colliderBottom + new Vector2(0, HeadPosition.Value + stepLift * CurrentGroundedParams.StepLiftHeadMultiplier); - if (head != MainLimb) + if (head != mainLimb) { pos.X = head.SimPosition.X; } @@ -602,12 +630,12 @@ namespace Barotrauma var tail = GetLimb(LimbType.Tail); if (tail != null) { - SmoothRotateWithoutWrapping(tail, movementAngle + TailAngle.Value * Dir, MainLimb, TailTorque); + SmoothRotateWithoutWrapping(tail, movementAngle + TailAngle.Value * Dir, mainLimb, TailTorque); } } float prevWalkPos = WalkPos; - WalkPos -= MainLimb.LinearVelocity.X * (CurrentAnimationParams.CycleSpeed / RagdollParams.JointScale / 100.0f); + WalkPos -= mainLimb.LinearVelocity.X * (CurrentAnimationParams.CycleSpeed / RagdollParams.JointScale / 100.0f); Vector2 transformedStepSize = Vector2.Zero; if (Math.Abs(TargetMovement.X) > 0.01f) @@ -673,7 +701,7 @@ namespace Barotrauma { SmoothRotateWithoutWrapping(limb, movementAngle + CurrentGroundedParams.FootAnglesInRadians[limb.Params.ID] * Dir, - MainLimb, FootTorque); + mainLimb, FootTorque); } break; case LimbType.LeftLeg: @@ -686,15 +714,16 @@ namespace Barotrauma void UpdateDying(float deltaTime) { - if (deathAnimDuration <= 0.0f) return; + if (deathAnimDuration <= 0.0f) { return; } + float noise = (PerlinNoise.GetPerlin(WalkPos * 0.002f, WalkPos * 0.003f) - 0.5f) * 5.0f; float animStrength = (1.0f - deathAnimTimer / deathAnimDuration); Limb head = GetLimb(LimbType.Head); + if (head != null && head.IsSevered) { return; } Limb tail = GetLimb(LimbType.Tail); - - if (head != null && !head.IsSevered) head.body.ApplyTorque((float)(Math.Sqrt(head.Mass) * Dir * Math.Sin(WalkPos)) * 30.0f * animStrength); - if (tail != null && !tail.IsSevered) tail.body.ApplyTorque((float)(Math.Sqrt(tail.Mass) * -Dir * Math.Sin(WalkPos)) * 30.0f * animStrength); + if (head != null && !head.IsSevered) head.body.ApplyTorque((float)(Math.Sqrt(head.Mass) * Dir * (Math.Sin(WalkPos) + noise)) * 30.0f * animStrength); + if (tail != null && !tail.IsSevered) tail.body.ApplyTorque((float)(Math.Sqrt(tail.Mass) * -Dir * (Math.Sin(WalkPos) + noise)) * 30.0f * animStrength); WalkPos += deltaTime * 10.0f * animStrength; @@ -753,12 +782,18 @@ namespace Barotrauma base.Flip(); foreach (Limb l in Limbs) { - if (!l.DoesFlip) continue; - l.body.SetTransform(l.SimPosition, -l.body.Rotation); + if (!l.DoesFlip) { continue; } + if (RagdollParams.IsSpritesheetOrientationHorizontal) + { + //horizontally aligned limbs need to be flipped 180 degrees + l.body.SetTransform(l.SimPosition, l.body.Rotation + MathHelper.Pi * Dir); + } + //no need to do anything when flipping vertically oriented limbs + //the sprite gets flipped horizontally, which does the job } } - private void Mirror() + public void Mirror(bool lerp = true) { Vector2 centerOfMass = GetCenterOfMass(); @@ -767,8 +802,20 @@ namespace Barotrauma TrySetLimbPosition(l, centerOfMass, new Vector2(centerOfMass.X - (l.SimPosition.X - centerOfMass.X), l.SimPosition.Y), - true); + lerp); l.body.PositionSmoothingFactor = 0.8f; + + if (!l.DoesFlip) { continue; } + if (RagdollParams.IsSpritesheetOrientationHorizontal) + { + //horizontally oriented sprites can be mirrored by rotating 180 deg and inverting the angle + l.body.SetTransform(l.SimPosition, -(l.body.Rotation + MathHelper.Pi)); + } + else + { + //vertically oriented limbs can be mirrored by inverting the angle (neutral angle is straight upwards) + l.body.SetTransform(l.SimPosition, -l.body.Rotation); + } } if (character.SelectedCharacter != null && CanDrag(character.SelectedCharacter)) { diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/HumanoidAnimController.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/HumanoidAnimController.cs index e330c8e8d..63db09b35 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/HumanoidAnimController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/HumanoidAnimController.cs @@ -343,7 +343,7 @@ namespace Barotrauma deathAnimTimer = 0.0f; } - if (!character.AllowInput) + if (!character.CanMove) { levitatingCollider = false; Collider.FarseerBody.FixedRotation = false; @@ -352,6 +352,9 @@ namespace Barotrauma Collider.Enabled = false; Collider.LinearVelocity = MainLimb.LinearVelocity; Collider.SetTransformIgnoreContacts(MainLimb.SimPosition, MainLimb.Rotation); + //reset pull joints to prevent the character from "hanging" mid-air if pull joints had been active when the character was still moving + //(except when dragging, then we need the pull joints) + if (!character.CanBeDragged || character.SelectedBy == null) { ResetPullJoints(); } } return; } @@ -1082,9 +1085,7 @@ namespace Barotrauma Limb rightFoot = GetLimb(LimbType.RightFoot); Limb head = GetLimb(LimbType.Head); Limb torso = GetLimb(LimbType.Torso); - - Limb waist = GetLimb(LimbType.Waist); - + Limb leftHand = GetLimb(LimbType.LeftHand); Limb rightHand = GetLimb(LimbType.RightHand); @@ -1107,10 +1108,6 @@ namespace Barotrauma MoveLimb(head, new Vector2(ladderSimPos.X - 0.27f * Dir, bottomPos + WalkParams.HeadPosition), 10.5f); MoveLimb(torso, new Vector2(ladderSimPos.X - 0.27f * Dir, bottomPos + WalkParams.TorsoPosition), 10.5f); - if (waist != null) - { - //MoveLimb(waist, new Vector2(ladderSimPos.X - 0.35f * Dir, Collider.SimPosition.Y + 0.6f - ColliderHeightFromFloor), 10.5f); - } Collider.MoveToPos(new Vector2(ladderSimPos.X - 0.2f * Dir, Collider.SimPosition.Y), 10.5f); @@ -1140,42 +1137,47 @@ namespace Barotrauma Vector2 footPos = new Vector2( handPos.X - Dir * 0.05f, bottomPos + ColliderHeightFromFloor - stepHeight * 2.7f - ladderSimPos.Y); - - if (slide) - { - MoveLimb(leftFoot, new Vector2(footPos.X, footPos.Y + ladderSimPos.Y), 15.5f, true); - MoveLimb(rightFoot, new Vector2(footPos.X, footPos.Y + ladderSimPos.Y), 15.5f, true); - } - else - { - float leftFootPos = MathUtils.Round(footPos.Y + stepHeight, stepHeight * 2.0f) - stepHeight; - float prevLeftFootPos = MathUtils.Round(prevFootPos + stepHeight, stepHeight * 2.0f) - stepHeight; - MoveLimb(leftFoot, new Vector2(footPos.X, leftFootPos + ladderSimPos.Y), 15.5f, true); - float rightFootPos = MathUtils.Round(footPos.Y, stepHeight * 2.0f); - float prevRightFootPos = MathUtils.Round(prevFootPos, stepHeight * 2.0f); - MoveLimb(rightFoot, new Vector2(footPos.X, rightFootPos + ladderSimPos.Y), 15.5f, true); + //only move the feet if they're above the bottom of the ladders + //(if not, they'll just dangle in air, and the character holds itself up with it's arms) + if (footPos.Y > -ConvertUnits.ToSimUnits(character.SelectedConstruction.Rect.Height)) + { + if (slide) + { + MoveLimb(leftFoot, new Vector2(footPos.X, footPos.Y + ladderSimPos.Y), 15.5f, true); + MoveLimb(rightFoot, new Vector2(footPos.X, footPos.Y + ladderSimPos.Y), 15.5f, true); + } + else + { + float leftFootPos = MathUtils.Round(footPos.Y + stepHeight, stepHeight * 2.0f) - stepHeight; + float prevLeftFootPos = MathUtils.Round(prevFootPos + stepHeight, stepHeight * 2.0f) - stepHeight; + MoveLimb(leftFoot, new Vector2(footPos.X, leftFootPos + ladderSimPos.Y), 15.5f, true); + + float rightFootPos = MathUtils.Round(footPos.Y, stepHeight * 2.0f); + float prevRightFootPos = MathUtils.Round(prevFootPos, stepHeight * 2.0f); + MoveLimb(rightFoot, new Vector2(footPos.X, rightFootPos + ladderSimPos.Y), 15.5f, true); #if CLIENT - if (Math.Abs(leftFootPos - prevLeftFootPos) > stepHeight && leftFoot.LastImpactSoundTime < Timing.TotalTime - Limb.SoundInterval) - { - SoundPlayer.PlaySound("footstep_armor_heavy", leftFoot.WorldPosition, hullGuess: currentHull); - leftFoot.LastImpactSoundTime = (float)Timing.TotalTime; - } - if (Math.Abs(rightFootPos - prevRightFootPos) > stepHeight && rightFoot.LastImpactSoundTime < Timing.TotalTime - Limb.SoundInterval) - { - SoundPlayer.PlaySound("footstep_armor_heavy", rightFoot.WorldPosition, hullGuess: currentHull); - rightFoot.LastImpactSoundTime = (float)Timing.TotalTime; - } + if (Math.Abs(leftFootPos - prevLeftFootPos) > stepHeight && leftFoot.LastImpactSoundTime < Timing.TotalTime - Limb.SoundInterval) + { + SoundPlayer.PlaySound("footstep_armor_heavy", leftFoot.WorldPosition, hullGuess: currentHull); + leftFoot.LastImpactSoundTime = (float)Timing.TotalTime; + } + if (Math.Abs(rightFootPos - prevRightFootPos) > stepHeight && rightFoot.LastImpactSoundTime < Timing.TotalTime - Limb.SoundInterval) + { + SoundPlayer.PlaySound("footstep_armor_heavy", rightFoot.WorldPosition, hullGuess: currentHull); + rightFoot.LastImpactSoundTime = (float)Timing.TotalTime; + } #endif - prevFootPos = footPos.Y; - } + prevFootPos = footPos.Y; + } - //apply torque to the legs to make the knees bend - Limb leftLeg = GetLimb(LimbType.LeftLeg); - Limb rightLeg = GetLimb(LimbType.RightLeg); + //apply torque to the legs to make the knees bend + Limb leftLeg = GetLimb(LimbType.LeftLeg); + Limb rightLeg = GetLimb(LimbType.RightLeg); - leftLeg.body.ApplyTorque(Dir * -8.0f); - rightLeg.body.ApplyTorque(Dir * -8.0f); + leftLeg.body.ApplyTorque(Dir * -8.0f); + rightLeg.body.ApplyTorque(Dir * -8.0f); + } float movementFactor = (handPos.Y / stepHeight) * (float)Math.PI; movementFactor = 0.8f + (float)Math.Abs(Math.Sin(movementFactor)); diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs index 7332c73b2..35bd51ed3 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs @@ -174,13 +174,16 @@ namespace Barotrauma { get { - Limb torso = GetLimb(LimbType.Torso); - Limb head = GetLimb(LimbType.Head); - var mainLimb = torso ?? head; + Limb mainLimb = GetLimb(RagdollParams.MainLimb); if (mainLimb == null) { - //DebugConsole.ThrowError("No head or torso found. Using the first limb as the main limb."); - mainLimb = Limbs.FirstOrDefault(); + Limb torso = GetLimb(LimbType.Torso); + Limb head = GetLimb(LimbType.Head); + mainLimb = torso ?? head; + if (mainLimb == null) + { + mainLimb = Limbs.FirstOrDefault(); + } } return mainLimb; } @@ -261,10 +264,9 @@ namespace Barotrauma public bool CanEnterSubmarine => RagdollParams.CanEnterSubmarine; public bool CanAttackSubmarine => Limbs.Any(l => l.attack != null && l.attack.IsValidTarget(AttackTarget.Structure)); - public float Dir - { - get { return ((dir == Direction.Left) ? -1.0f : 1.0f); } - } + public float Dir => dir == Direction.Left ? -1.0f : 1.0f; + + public Direction Direction => dir; public bool InWater { @@ -883,9 +885,8 @@ namespace Barotrauma { Collider.SetTransform(ConvertUnits.ToSimUnits(intersection), Collider.Rotation); } + return; } - - return; } if (setSubmarine) @@ -1105,8 +1106,11 @@ namespace Barotrauma if (lowerHull != null) floorY = ConvertUnits.ToSimUnits(lowerHull.Rect.Y - lowerHull.Rect.Height); } } - if (HeadPosition.HasValue && - Collider.SimPosition.Y < waterSurface && waterSurface - floorY > HeadPosition * 0.95f) + float standHeight = + HeadPosition.HasValue ? HeadPosition.Value : + TorsoPosition.HasValue ? TorsoPosition.Value : + Collider.GetMaxExtent() * 0.5f; + if (Collider.SimPosition.Y < waterSurface && waterSurface - floorY > standHeight * 0.95f) { inWater = true; } @@ -1453,7 +1457,7 @@ namespace Barotrauma Vector2 rayEnd = rayStart - new Vector2(0.0f, height); - //var lowestLimb = FindLowestLimb(); + Vector2 colliderBottomDisplay = ConvertUnits.ToDisplayUnits(GetColliderBottom()); float closestFraction = 1; GameMain.World.RayCast((fixture, point, normal, fraction) => @@ -1466,6 +1470,7 @@ namespace Barotrauma break; case Physics.CollisionPlatform: Structure platform = fixture.Body.UserData as Structure; + if (colliderBottomDisplay.Y < platform.Rect.Y - 16 && (targetMovement.Y <= 0.0f || Stairs != null)) return -1; if (IgnorePlatforms && TargetMovement.Y < -0.5f || Collider.Position.Y < platform.Rect.Y) return -1; break; case Physics.CollisionWall: @@ -1568,7 +1573,7 @@ namespace Barotrauma protected void CheckDistFromCollider() { - float allowedDist = Math.Max(Math.Max(Collider.radius, Collider.width), Collider.height) * 2.0f; + float allowedDist = Math.Max(Math.Max(Collider.radius, Collider.width), Collider.height) * 2.0f; float resetDist = allowedDist * 5.0f; Vector2 diff = Collider.SimPosition - MainLimb.SimPosition; diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Attack.cs b/Barotrauma/BarotraumaShared/Source/Characters/Attack.cs index 57ecac8b2..a737636fd 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Attack.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Attack.cs @@ -15,7 +15,9 @@ namespace Barotrauma { NotDefined, Water, - Ground + Ground, + Inside, + Outside } public enum AttackTarget @@ -70,7 +72,7 @@ namespace Barotrauma partial class Attack : ISerializableEntity { - [Serialize(AttackContext.NotDefined, true, description: "Is the attack used only in a specific condition?"), Editable] + [Serialize(AttackContext.NotDefined, true, description: "The attack will be used only in this context."), Editable] public AttackContext Context { get; private set; } [Serialize(AttackTarget.Any, true, description: "Does the attack target only specific targets?"), Editable] @@ -198,7 +200,7 @@ namespace Barotrauma /// public List Conditionals { get; private set; } = new List(); - private readonly List statusEffects; + private readonly List statusEffects = new List(); public void SetUser(Character user) { @@ -269,10 +271,6 @@ namespace Barotrauma switch (subElement.Name.ToString().ToLowerInvariant()) { case "statuseffect": - if (statusEffects == null) - { - statusEffects = new List(); - } statusEffects.Add(StatusEffect.Load(subElement, parentDebugName)); break; case "affliction": @@ -378,27 +376,27 @@ namespace Barotrauma { effectType = ActionType.OnEating; } - if (statusEffects == null) return attackResult; foreach (StatusEffect effect in statusEffects) { + // TODO: do we want to apply the effect at the world position or the entity positions in each cases? -> go through also other cases where status effects are applied if (effect.HasTargetType(StatusEffect.TargetType.This)) { - effect.Apply(effectType, deltaTime, attacker, attacker); + effect.Apply(effectType, deltaTime, attacker, attacker, worldPosition); } - if (target is Character) + if (targetCharacter != null) { if (effect.HasTargetType(StatusEffect.TargetType.Character)) { - effect.Apply(effectType, deltaTime, (Character)target, (Character)target); + effect.Apply(effectType, deltaTime, targetCharacter, targetCharacter); } if (effect.HasTargetType(StatusEffect.TargetType.Limb)) { - effect.Apply(effectType, deltaTime, (Character)target, attackResult.HitLimb); + effect.Apply(effectType, deltaTime, targetCharacter, attackResult.HitLimb); } if (effect.HasTargetType(StatusEffect.TargetType.AllLimbs)) { - effect.Apply(effectType, deltaTime, (Character)target, ((Character)target).AnimController.Limbs.Cast().ToList()); + effect.Apply(effectType, deltaTime, targetCharacter, targetCharacter.AnimController.Limbs.Cast().ToList()); } } if (target is Entity entity) @@ -434,7 +432,6 @@ namespace Barotrauma var attackResult = targetLimb.character.ApplyAttack(attacker, worldPosition, this, deltaTime, playSound, targetLimb); var effectType = attackResult.Damage > 0.0f ? ActionType.OnUse : ActionType.OnFailure; - if (statusEffects == null) return attackResult; foreach (StatusEffect effect in statusEffects) { @@ -507,6 +504,43 @@ namespace Barotrauma public bool IsValidContext(AttackContext context) => Context == context || Context == AttackContext.NotDefined; + public bool IsValidContext(IEnumerable contexts) + { + foreach (var context in contexts) + { + switch (context) + { + case AttackContext.Ground: + if (Context == AttackContext.Water) + { + return false; + } + break; + case AttackContext.Water: + if (Context == AttackContext.Ground) + { + return false; + } + break; + case AttackContext.Inside: + if (Context == AttackContext.Outside) + { + return false; + } + break; + case AttackContext.Outside: + if (Context == AttackContext.Inside) + { + return false; + } + break; + default: + continue; + } + } + return true; + } + public bool IsValidTarget(AttackTarget targetType) => TargetType == AttackTarget.Any || TargetType == targetType; public bool IsValidTarget(Entity target) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Character.cs b/Barotrauma/BarotraumaShared/Source/Characters/Character.cs index 9e1e170d6..e0c689cc3 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Character.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Character.cs @@ -194,12 +194,16 @@ namespace Barotrauma } } - private string displayName; public string DisplayName { get { - return displayName != null && displayName.Length > 0 ? displayName : Name; + var displayName = Params.DisplayName; + if (string.IsNullOrWhiteSpace(displayName)) + { + displayName = TextManager.Get($"Character.{SpeciesName}", returnNull: true); + } + return displayName ?? Name; } } @@ -262,6 +266,16 @@ namespace Barotrauma get { return !IsUnconscious && Stun <= 0.0f && !IsDead; } } + public bool CanMove + { + get + { + if (!AllowInput) { return false; } + if (!AnimController.InWater && !AnimController.CanWalk) { return false; } + return true; + } + } + public bool CanInteract { get { return AllowInput && IsHumanoid && !LockHands && !Removed; } @@ -703,7 +717,6 @@ namespace Barotrauma var rootElement = doc.Root; var mainElement = rootElement.IsOverride() ? rootElement.FirstElement() : rootElement; InitProjSpecific(mainElement); - displayName = TextManager.Get($"Character.{speciesName}", true); List inventoryElements = new List(); List inventoryCommonness = new List(); @@ -750,7 +763,7 @@ namespace Barotrauma var matchingAffliction = AfflictionPrefab.List .Where(p => p.AfflictionType == "huskinfection") .Select(p => p as AfflictionPrefabHusk) - .FirstOrDefault(p => p.TargetSpecies.Contains(AfflictionHusk.GetNonHuskedSpeciesName(speciesName, p))); + .FirstOrDefault(p => p.TargetSpecies.Any(t => t.Equals(AfflictionHusk.GetNonHuskedSpeciesName(speciesName, p), StringComparison.InvariantCultureIgnoreCase))); if (matchingAffliction == null) { DebugConsole.ThrowError("Cannot find a husk infection that matches this species! Please add the speciesnames as 'targets' in the husk affliction prefab definition!"); @@ -1237,7 +1250,7 @@ namespace Barotrauma public void Control(float deltaTime, Camera cam) { ViewTarget = null; - if (!AllowInput) return; + if (!AllowInput) { return; } if (Controlled == this || (GameMain.NetworkMember != null && GameMain.NetworkMember.IsServer)) { @@ -1252,10 +1265,10 @@ namespace Barotrauma SmoothedCursorPosition = cursorPosition - smoothedCursorDiff; } - if (!(this is AICharacter) || Controlled == this || IsRemotePlayer) + bool playerControlled = !(this is AICharacter) || Controlled == this || IsRemotePlayer; + if (playerControlled) { Vector2 targetMovement = GetTargetMovement(); - AnimController.TargetMovement = targetMovement; AnimController.IgnorePlatforms = AnimController.TargetMovement.Y < -0.1f; } @@ -1265,7 +1278,8 @@ namespace Barotrauma ((HumanoidAnimController)AnimController).Crouching = IsKeyDown(InputType.Crouch); } - if (AnimController.onGround && + if (playerControlled && + AnimController.onGround && !AnimController.InWater && AnimController.Anim != AnimController.Animation.UsingConstruction && AnimController.Anim != AnimController.Animation.CPR && @@ -1292,13 +1306,16 @@ namespace Barotrauma { if (GameMain.NetworkMember.IsServer) { - if (dequeuedInput.HasFlag(InputNetFlags.FacingLeft)) + if (playerControlled) { - AnimController.TargetDir = Direction.Left; - } - else - { - AnimController.TargetDir = Direction.Right; + if (dequeuedInput.HasFlag(InputNetFlags.FacingLeft)) + { + AnimController.TargetDir = Direction.Left; + } + else + { + AnimController.TargetDir = Direction.Right; + } } } else if (GameMain.NetworkMember.IsClient && Controlled != this) @@ -1327,8 +1344,8 @@ namespace Barotrauma } else if (IsKeyDown(InputType.Attack)) { - AttackContext currentContext = GetAttackContext(); - var validLimbs = AnimController.Limbs.Where(l => !l.IsSevered && !l.IsStuck && l.attack != null && l.attack.IsValidContext(currentContext)); + var currentContexts = GetAttackContexts(); + var validLimbs = AnimController.Limbs.Where(l => !l.IsSevered && !l.IsStuck && l.attack != null && l.attack.IsValidContext(currentContexts)); var sortedLimbs = validLimbs.OrderBy(l => Vector2.DistanceSquared(ConvertUnits.ToDisplayUnits(l.SimPosition), cursorPosition)); // Select closest var attackLimb = sortedLimbs.FirstOrDefault(); @@ -1457,14 +1474,7 @@ namespace Barotrauma public bool CanSeeCharacter(Character target) { Limb seeingLimb = GetSeeingLimb(); - foreach (var targetLimb in target.AnimController.Limbs) - { - if (CanSeeTarget(targetLimb, seeingLimb)) - { - return true; - } - } - return false; + return target.AnimController.Limbs.Any(l => CanSeeTarget(l, seeingLimb)); } private Limb GetSeeingLimb() @@ -1546,8 +1556,7 @@ namespace Barotrauma return (wall == null || !wall.CastShadow) && (door == null || door.IsOpen); } - public bool HasItem(Item item, bool requireEquipped = false) => - requireEquipped ? HasEquippedItem(item) : item.FindParentInventory(i => i.Owner == this) != null; + public bool HasItem(Item item, bool requireEquipped = false) => requireEquipped ? HasEquippedItem(item) : item.IsOwnedBy(this); public bool HasEquippedItem(Item item) { @@ -1636,6 +1645,62 @@ namespace Barotrauma return true; } + private float _selectedItemPriority; + private Item _foundItem; + /// + /// Finds the closest item seeking by identifiers or tags from the world. + /// Ignores items that are outside or in another team's submarine or in a submarine that is not connected to this submarine. + /// Also ignores items that are taken by someone else. + /// The method is run in steps for performance reasons. So you'll have to provide the reference to the itemIndex. + /// Returns false while running and true when done. + /// + public bool FindItem(ref int itemIndex, out Item targetItem, IEnumerable identifiers = null, bool ignoreBroken = true, + IEnumerable ignoredItems = null, IEnumerable ignoredContainerIdentifiers = null, + Func customPredicate = null, Func customPriorityFunction = null, float maxItemDistance = 10000) + { + if (itemIndex == 0) + { + _foundItem = null; + _selectedItemPriority = 0; + } + for (int i = 0; i < 10 && itemIndex < Item.ItemList.Count - 1; i++) + { + itemIndex++; + var item = Item.ItemList[itemIndex]; + if (ignoredItems != null && ignoredItems.Contains(item)) { continue; } + if (item.Submarine == null) { continue; } + if (item.Submarine.TeamID != TeamID) { continue; } + if (Submarine != null && !Submarine.IsEntityFoundOnThisSub(item, true)) { continue; } + if (item.CurrentHull == null) { continue; } + if (ignoreBroken && item.Condition <= 0) { continue; } + if (customPredicate != null && !customPredicate(item)) { continue; } + if (identifiers != null && identifiers.None(id => item.Prefab.Identifier == id || item.HasTag(id))) { continue; } + if (ignoredContainerIdentifiers != null && item.Container != null) + { + if (ignoredContainerIdentifiers.Contains(item.ContainerIdentifier)) { continue; } + } + if (IsItemTakenBySomeoneElse(item)) { continue; } + float itemPriority = customPriorityFunction != null ? customPriorityFunction(item) : 1; + if (itemPriority <= 0) { continue; } + Item rootContainer = item.GetRootContainer(); + Vector2 itemPos = (rootContainer ?? item).WorldPosition; + float yDist = Math.Abs(WorldPosition.Y - itemPos.Y); + yDist = yDist > 100 ? yDist * 5 : 0; + float dist = Math.Abs(WorldPosition.X - itemPos.X) + yDist; + float distanceFactor = MathHelper.Lerp(1, 0, MathUtils.InverseLerp(0, maxItemDistance, dist)); + itemPriority *= distanceFactor; + if (itemPriority > _selectedItemPriority) + { + _selectedItemPriority = itemPriority; + _foundItem = item; + } + } + targetItem = _foundItem; + return itemIndex >= Item.ItemList.Count - 1; + } + + public bool IsItemTakenBySomeoneElse(Item item) => item.FindParentInventory(i => i.Owner != this && i.Owner is Character owner && !owner.IsDead && !owner.Removed) != null; + public bool CanInteractWith(Character c, float maxDist = 200.0f, bool checkVisibility = true) { if (c == this || Removed || !c.Enabled || !c.CanBeSelected) return false; @@ -1949,7 +2014,7 @@ namespace Barotrauma } #endif } - else if (IsKeyHit(InputType.Deselect) && SelectedConstruction != null) + else if (IsKeyHit(InputType.Deselect) && SelectedConstruction != null && SelectedConstruction.GetComponent() == null) { SelectedConstruction = null; #if CLIENT @@ -2516,16 +2581,19 @@ namespace Barotrauma //character inside the sub received damage from a monster outside the sub //can happen during normal gameplay if someone for example fires a ranged weapon from outside, //the intention of this error message is to diagnose an issue with monsters being able to damage characters from outside - if (attacker?.AIController is EnemyAIController && Submarine != null && attacker.Submarine == null) - { - string errorMsg = $"Character {Name} received damage from outside the sub while inside (attacker: {attacker.Name})"; - GameAnalyticsManager.AddErrorEventOnce("Character.DamageLimb:DamageFromOutside" + Name + attacker.Name, - GameAnalyticsSDK.Net.EGAErrorSeverity.Warning, - errorMsg + "\n" + Environment.StackTrace); -#if DEBUG - DebugConsole.ThrowError(errorMsg); -#endif - } + + // Disabled, because this happens every now and then when the monsters can get in and out of the sub. + +// if (attacker?.AIController is EnemyAIController && Submarine != null && attacker.Submarine == null) +// { +// string errorMsg = $"Character {Name} received damage from outside the sub while inside (attacker: {attacker.Name})"; +// GameAnalyticsManager.AddErrorEventOnce("Character.DamageLimb:DamageFromOutside" + Name + attacker.Name, +// GameAnalyticsSDK.Net.EGAErrorSeverity.Warning, +// errorMsg + "\n" + Environment.StackTrace); +//#if DEBUG +// DebugConsole.ThrowError(errorMsg); +//#endif +// } if (attacker != null && attacker != this && GameMain.NetworkMember != null && !GameMain.NetworkMember.ServerSettings.AllowFriendlyFire) { @@ -2660,6 +2728,8 @@ namespace Barotrauma return; } + IsDead = true; + ApplyStatusEffects(ActionType.OnDeath, 1.0f); AnimController.Frozen = false; @@ -2691,8 +2761,6 @@ namespace Barotrauma KillProjSpecific(causeOfDeath, causeOfDeathAffliction); - IsDead = true; - if (info != null) info.CauseOfDeath = CauseOfDeath; AnimController.movement = Vector2.Zero; AnimController.TargetMovement = Vector2.Zero; @@ -2841,7 +2909,29 @@ namespace Barotrauma } } - public AttackContext GetAttackContext() => AnimController.CurrentAnimationParams.IsGroundedAnimation ? AttackContext.Ground : AttackContext.Water; + private HashSet currentContexts = new HashSet(); + + public IEnumerable GetAttackContexts() + { + currentContexts.Clear(); + if (AnimController.CurrentAnimationParams.IsGroundedAnimation) + { + currentContexts.Add(AttackContext.Ground); + } + else + { + currentContexts.Add(AttackContext.Water); + } + if (CurrentHull == null) + { + currentContexts.Add(AttackContext.Outside); + } + else + { + currentContexts.Add(AttackContext.Inside); + } + return currentContexts; + } private readonly List visibleHulls = new List(); private readonly HashSet tempList = new HashSet(); @@ -2869,7 +2959,7 @@ namespace Barotrauma } } } - visibleHulls.AddRange(CurrentHull.GetLinkedEntities(tempList, filter: h => + visibleHulls.AddRange(CurrentHull.GetLinkedEntities(tempList, filter: h => { // Ignore adjacent hulls because they were already handled above if (adjacentHulls.Contains(h)) @@ -2894,5 +2984,43 @@ namespace Barotrauma } return visibleHulls; } + + public Vector2 GetRelativeSimPosition(ISpatialEntity target, Vector2? worldPos = null) + { + Vector2 targetPos = target.SimPosition; + if (worldPos.HasValue) + { + Vector2 wp = worldPos.Value; + if (target.Submarine != null) + { + wp -= target.Submarine.Position; + } + targetPos = ConvertUnits.ToSimUnits(wp); + } + if (Submarine == null && target.Submarine != null) + { + if (AIController == null || !(AIController.SteeringManager is IndoorsSteeringManager)) + { + // outside and targeting inside + // doesn't work with inside steering + targetPos += target.Submarine.SimPosition; + } + } + else if (Submarine != null && target.Submarine == null) + { + // inside and targeting outside + targetPos -= Submarine.SimPosition; + } + else if (Submarine != target.Submarine) + { + if (Submarine != null && target.Submarine != null) + { + // both inside, but in different subs + Vector2 diff = Submarine.SimPosition - target.Submarine.SimPosition; + targetPos -= diff; + } + } + return targetPos; + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs b/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs index 536efd748..805ecaa65 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs @@ -11,7 +11,7 @@ using System.Xml.Linq; namespace Barotrauma { public enum Gender { None, Male, Female }; - public enum Race { None, White, Black, Asian }; + public enum Race { None, White, Black, Brown, Asian }; // TODO: Generating the HeadInfo could be simplified. partial class CharacterInfo @@ -33,8 +33,10 @@ namespace Barotrauma { _headSpriteId = (int)headSpriteRange.X; } + GetSpriteSheetIndex(); } } + public Vector2? SheetIndex { get; private set; } public Vector2 headSpriteRange; public Gender gender; public Race race; @@ -51,9 +53,16 @@ namespace Barotrauma public HeadInfo() { } - public HeadInfo(int headId) + public HeadInfo(int headId, Gender gender, Race race, int hairIndex = 0, int beardIndex = 0, int moustacheIndex = 0, int faceAttachmentIndex = 0) { _headSpriteId = Math.Max(headId, 1); + this.gender = gender; + this.race = race; + HairIndex = hairIndex; + BeardIndex = beardIndex; + MoustacheIndex = moustacheIndex; + FaceAttachmentIndex = faceAttachmentIndex; + GetSpriteSheetIndex(); } public void ResetAttachmentIndices() @@ -63,6 +72,21 @@ namespace Barotrauma MoustacheIndex = -1; FaceAttachmentIndex = -1; } + + private void GetSpriteSheetIndex() + { + if (heads != null && heads.Any()) + { + var matchingHead = heads.Keys.FirstOrDefault(h => h.Gender == gender && h.Race == race && h.ID == _headSpriteId); + if (matchingHead != null) + { + if (heads.TryGetValue(matchingHead, out Vector2 index)) + { + SheetIndex = index; + } + } + } + } } private HeadInfo head; @@ -86,6 +110,43 @@ namespace Barotrauma } } + public Dictionary Heads + { + get + { + if (heads == null) + { + LoadHeadPresets(); + } + return heads; + } + } + + private static Dictionary heads; + public class HeadPreset : ISerializableEntity + { + [Serialize(Race.None, false)] + public Race Race { get; private set; } + + [Serialize(Gender.None, false)] + public Gender Gender { get; private set; } + + [Serialize(0, false)] + public int ID { get; private set; } + + [Serialize("0,0", false)] + public Vector2 SheetIndex { get; private set; } + + public string Name => $"Head Preset {Race} {Gender} {ID}"; + + public Dictionary SerializableProperties { get; private set; } + + public HeadPreset(XElement element) + { + SerializableProperties = SerializableProperty.DeserializeProperties(this, element); + } + } + private static ushort idCounter; public string Name; @@ -158,6 +219,12 @@ namespace Barotrauma { LoadHeadSprite(); } +#if CLIENT + if (headSprite != null) + { + CalculateHeadPosition(headSprite); + } +#endif return headSprite; } private set @@ -170,6 +237,8 @@ namespace Barotrauma } } + public bool OmitJobInPortraitClothing; + private Sprite portrait; public Sprite Portrait { @@ -223,7 +292,7 @@ namespace Barotrauma { if (attachmentSprites == null) { - LoadAttachmentSprites(); + LoadAttachmentSprites(OmitJobInPortraitClothing); } return attachmentSprites; } @@ -350,7 +419,7 @@ namespace Barotrauma public bool IsAttachmentsLoaded => HairIndex > -1 && BeardIndex > -1 && MoustacheIndex > -1 && FaceAttachmentIndex > -1; // Used for creating the data - public CharacterInfo(string speciesName, string name = "", JobPrefab jobPrefab = null, string ragdollFileName = null) + public CharacterInfo(string speciesName, string name = "", JobPrefab jobPrefab = null, string ragdollFileName = null, int variant = 0) { if (speciesName.EndsWith(".xml", StringComparison.OrdinalIgnoreCase)) { @@ -372,7 +441,7 @@ namespace Barotrauma Head.race = GetRandomRace(); CalculateHeadSpriteRange(); Head.HeadSpriteId = GetRandomHeadID(); - Job = (jobPrefab == null) ? Job.Random(Rand.RandSync.Server) : new Job(jobPrefab); + Job = (jobPrefab == null) ? Job.Random(Rand.RandSync.Server) : new Job(jobPrefab, variant); if (!string.IsNullOrEmpty(name)) { Name = name; @@ -534,11 +603,38 @@ namespace Barotrauma Enum.TryParse(w.GetAttributeString("race", "None"), true, out Race r) && r == Head.race); } + private void LoadHeadPresets() + { + if (CharacterConfigElement == null) { return; } + heads = new Dictionary(); + var headsElement = CharacterConfigElement.GetChildElement("heads"); + if (headsElement != null) + { + foreach (var head in headsElement.GetChildElements("head")) + { + var preset = new HeadPreset(head); + heads.Add(preset, preset.SheetIndex); + } + } + } + private void CalculateHeadSpriteRange() { if (CharacterConfigElement == null) { return; } Head.headSpriteRange = CharacterConfigElement.GetAttributeVector2("headidrange", Vector2.Zero); - // If range is defined, we use it as it is + // If the range is defined, we use it as it is + if (Head.headSpriteRange != Vector2.Zero) { return; } + if (heads == null) + { + LoadHeadPresets(); + } + // If there are any head presets defined, use them. + if (heads.Any()) + { + var ids = heads.Keys.Where(h => h.Race == Race && h.Gender == Gender).Select(w => w.ID); + ids = ids.OrderBy(id => id); + Head.headSpriteRange = new Vector2(ids.First(), ids.Last()); + } // Else we calculate the range from the wearables. if (Head.headSpriteRange == Vector2.Zero) { @@ -580,23 +676,13 @@ namespace Barotrauma { gender = Gender.None; } - - head = new HeadInfo(headID) - { - race = race, - gender = gender, - HairIndex = hairIndex, - BeardIndex = beardIndex, - MoustacheIndex = moustacheIndex, - FaceAttachmentIndex = faceAttachmentIndex - }; + head = new HeadInfo(headID, gender, race, hairIndex, beardIndex, moustacheIndex, faceAttachmentIndex); CalculateHeadSpriteRange(); ReloadHeadAttachments(); } public void LoadHeadSprite() { - // TODO: use ragdollparams instead? foreach (XElement limbElement in Ragdoll.MainElement.Elements()) { if (limbElement.GetAttributeString("type", "").ToLowerInvariant() != "head") { continue; } @@ -649,7 +735,8 @@ namespace Barotrauma { if (hairs == null) { - hairs = AddEmpty(FilterByTypeAndHeadID(FilterElementsByGenderAndRace(wearables), WearableType.Hair), WearableType.Hair); + float commonness = Gender == Gender.Female ? 0.05f : 0.2f; + hairs = AddEmpty(FilterByTypeAndHeadID(FilterElementsByGenderAndRace(wearables), WearableType.Hair), WearableType.Hair, commonness); } if (beards == null) { @@ -701,10 +788,10 @@ namespace Barotrauma Head.FaceAttachmentIndex = faceAttachments.IndexOf(Head.FaceAttachment); } - List AddEmpty(IEnumerable elements, WearableType type) + List AddEmpty(IEnumerable elements, WearableType type, float commonness = 1) { // Let's add an empty element so that there's a chance that we don't get any actual element -> allows bald and beardless guys, for example. - var emptyElement = new XElement("EmptyWearable", type.ToString()); + var emptyElement = new XElement("EmptyWearable", type.ToString(), new XAttribute("commonness", commonness)); var list = new List() { emptyElement }; list.AddRange(elements); return list; @@ -743,7 +830,7 @@ namespace Barotrauma } } - partial void LoadAttachmentSprites(); + partial void LoadAttachmentSprites(bool omitJob); // TODO: change the formula so that it's not linear and so that it takes into account the usefulness of the skill // -> give a weight to each skill, because some are much more valuable than others? diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Health/Afflictions/AfflictionPrefab.cs b/Barotrauma/BarotraumaShared/Source/Characters/Health/Afflictions/AfflictionPrefab.cs index f1a1a8ee1..78be69b4d 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Health/Afflictions/AfflictionPrefab.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Health/Afflictions/AfflictionPrefab.cs @@ -243,7 +243,8 @@ namespace Barotrauma XElement sourceElement = isOverride ? element.FirstElement() : element; string elementName = sourceElement.Name.ToString().ToLowerInvariant(); string identifier = sourceElement.GetAttributeString("identifier", null); - if (!elementName.Equals("cprsettings", StringComparison.OrdinalIgnoreCase)) + if (!elementName.Equals("cprsettings", StringComparison.OrdinalIgnoreCase) && + !elementName.Equals("damageoverlay", StringComparison.OrdinalIgnoreCase)) { if (string.IsNullOrWhiteSpace(identifier)) { @@ -265,16 +266,38 @@ namespace Barotrauma } } } - string type = sourceElement.GetAttributeString("type", null); - if (sourceElement.Name.ToString().ToLowerInvariant() == "cprsettings") + string type = sourceElement.GetAttributeString("type", ""); + switch (sourceElement.Name.ToString().ToLowerInvariant()) { - //backwards compatibility - type = "cprsettings"; + case "cprsettings": + type = "cprsettings"; + break; + case "damageoverlay": + type = "damageoverlay"; + break; } AfflictionPrefab prefab = null; switch (type) { + case "damageoverlay": +#if CLIENT + if (CharacterHealth.DamageOverlay != null) + { + if (isOverride) + { + DebugConsole.NewMessage($"Overriding damage overlay with '{filePath}'", Color.Yellow); + } + else + { + DebugConsole.ThrowError($"Error in '{filePath}': damage overlay already loaded. Add tags as the parent of the custom damage overlay sprite to allow overriding the vanilla one."); + break; + } + } + CharacterHealth.DamageOverlay?.Remove(); + CharacterHealth.DamageOverlay = new Sprite(element); +#endif + break; case "bleeding": prefab = new AfflictionPrefab(sourceElement, typeof(AfflictionBleeding)); break; diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Health/CharacterHealth.cs b/Barotrauma/BarotraumaShared/Source/Characters/Health/CharacterHealth.cs index ee7a53b8b..b0645e79c 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Health/CharacterHealth.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Health/CharacterHealth.cs @@ -781,6 +781,54 @@ namespace Barotrauma return allAfflictions; } + /// + /// Get the identifiers of the items that can be used to treat the character. Takes into account all the afflictions the character has, + /// and negative treatment suitabilities (e.g. a medicine that causes oxygen loss may not be suitable if the character is already suffocating) + /// + /// A dictionary where the key is the identifier of the item and the value the suitability + /// If true, the suitability values are normalized between 0 and 1. If not, they're arbitrary values defined in the medical item XML, where negative values are unsuitable, and positive ones suitable. + /// Amount of randomization to apply to the values (0 = the values are accurate, 1 = the values are completely random) + + public void GetSuitableTreatments(Dictionary treatmentSuitability, bool normalize, float randomization = 0.0f) + { + //key = item identifier + //float = suitability + treatmentSuitability.Clear(); + float minSuitability = -10, maxSuitability = 10; + foreach (Affliction affliction in GetAllAfflictions()) + { + foreach (KeyValuePair treatment in affliction.Prefab.TreatmentSuitability) + { + if (!treatmentSuitability.ContainsKey(treatment.Key)) + { + treatmentSuitability[treatment.Key] = treatment.Value * affliction.Strength; + } + else + { + treatmentSuitability[treatment.Key] += treatment.Value * affliction.Strength; + } + minSuitability = Math.Min(treatmentSuitability[treatment.Key], minSuitability); + maxSuitability = Math.Max(treatmentSuitability[treatment.Key], maxSuitability); + } + } + //normalize the suitabilities to a range of 0 to 1 + if (normalize) + { + foreach (string treatment in treatmentSuitability.Keys.ToList()) + { + treatmentSuitability[treatment] = (treatmentSuitability[treatment] - minSuitability) / (maxSuitability - minSuitability); + treatmentSuitability[treatment] = MathHelper.Lerp(treatmentSuitability[treatment], Rand.Range(0.0f, 1.0f), randomization); + } + } + else + { + foreach (string treatment in treatmentSuitability.Keys.ToList()) + { + treatmentSuitability[treatment] += Rand.Range(-100.0f, 100.0f) * randomization; + } + } + } + public void ServerWrite(IWriteMessage msg) { List activeAfflictions = afflictions.FindAll(a => a.Strength > 0.0f && a.Strength >= a.Prefab.ActivationThreshold); diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Jobs/Job.cs b/Barotrauma/BarotraumaShared/Source/Characters/Jobs/Job.cs index 979f97eb7..8e89b5db4 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Jobs/Job.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Jobs/Job.cs @@ -36,9 +36,12 @@ namespace Barotrauma get { return skills.Values.ToList(); } } - public Job(JobPrefab jobPrefab) + public int Variant; + + public Job(JobPrefab jobPrefab, int variant = 0) { prefab = jobPrefab; + Variant = variant; skills = new Dictionary(); foreach (SkillPrefab skillPrefab in prefab.Skills) @@ -156,6 +159,25 @@ namespace Barotrauma character.Inventory.TryPutItem(item, null, item.AllowedSlots); } + Wearable wearable = ((List)item.Components)?.Find(c => c is Wearable) as Wearable; + if (wearable != null) + { + if (Variant > 0 && Variant <= wearable.Variants) + { + wearable.Variant = Variant; + } + else + { + wearable.Variant = wearable.Variant; //force server event + if (wearable.Variants > 0 && Variant == 0) + { + //set variant to the same as the wearable to get the rest of the character's gear + //to use the same variant (if possible) + Variant = wearable.Variant; + } + } + } + if (item.Prefab.Identifier == "idcard" && spawnPoint != null) { foreach (string s in spawnPoint.IdCardTags) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Jobs/JobPrefab.cs b/Barotrauma/BarotraumaShared/Source/Characters/Jobs/JobPrefab.cs index cc09ccc9f..bc3567fd7 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Jobs/JobPrefab.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Jobs/JobPrefab.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Xml.Linq; using Barotrauma.Extensions; using System.Linq; +using System.IO; namespace Barotrauma { @@ -31,6 +32,8 @@ namespace Barotrauma partial class JobPrefab { public static Dictionary List; + + public static XElement NoJobElement; public static JobPrefab Get(string identifier) { if (List == null) @@ -146,8 +149,11 @@ namespace Barotrauma private set; } + public XElement Element { get; private set; } public XElement ClothingElement { get; private set; } + public XElement PreviewElement { get; private set; } + public JobPrefab(XElement element) { SerializableProperty.DeserializeProperties(this, element); @@ -155,6 +161,8 @@ namespace Barotrauma Description = TextManager.Get("JobDescription." + Identifier); Identifier = Identifier.ToLowerInvariant(); + Element = element; + foreach (XElement subElement in element.Elements()) { switch (subElement.Name.ToString().ToLowerInvariant()) @@ -220,7 +228,71 @@ namespace Barotrauma { ClothingElement = element.Element("portraitclothing"); } + + PreviewElement = element.Element("PreviewSprites"); + if (PreviewElement == null) + { + PreviewElement = element.Element("previewsprites"); + } } + + public class OutfitPreview + { + /// + /// Pair.First = sprite, Pair.Second = draw offset + /// + public readonly List> Sprites; + + public OutfitPreview() + { + Sprites = new List>(); + } + + public void AddSprite(Sprite sprite, Vector2 drawOffset) + { + Sprites.Add(new Pair(sprite, drawOffset)); + } + } + + public List GetJobOutfitSprites(Gender gender, out Vector2 dimensions) + { + List outfitPreviews = new List(); + dimensions = PreviewElement.GetAttributeVector2("dims", Vector2.One); + if (PreviewElement == null) { return outfitPreviews; } + + var equipIdentifiers = Element.Elements("Items").Elements().Where(e => e.GetAttributeBool("outfit", false)).Select(e => e.GetAttributeString("identifier", "")); + + var children = PreviewElement.Elements().ToList(); + + var outfitPrefab = MapEntityPrefab.List.Find(me => me is ItemPrefab itemPrefab && equipIdentifiers.Contains(itemPrefab.Identifier)) as ItemPrefab; + if (outfitPrefab == null) { return null; } + var wearables = outfitPrefab.ConfigElement.Elements("Wearable"); + if (!wearables.Any()) { return null; } + + int variantCount = wearables.First().GetAttributeInt("variants", 1); + + for (int i = 0; i < variantCount; i++) + { + var outfitPreview = new OutfitPreview(); + for (int n = 0; n < children.Count; n++) + { + XElement spriteElement = children[n]; + string spriteTexture = spriteElement.GetAttributeString("texture", "").Replace("[GENDER]", (gender == Gender.Female) ? "female" : "male"); + string textureVariant = spriteTexture.Replace("[VARIANT]", (i + 1).ToString()); + if (!File.Exists(textureVariant)) + { + textureVariant = spriteTexture.Replace("[VARIANT]", "1"); + } + var torsoSprite = new Sprite(spriteElement, path: "", file: textureVariant); + torsoSprite.size = new Vector2(torsoSprite.SourceRect.Width, torsoSprite.SourceRect.Height); + outfitPreview.AddSprite(torsoSprite, children[n].GetAttributeVector2("offset", Vector2.Zero)); + } + outfitPreviews.Add(outfitPreview); + } + + return outfitPreviews; + } + public static JobPrefab Random(Rand.RandSync sync = Rand.RandSync.Unsynced) => List.Values.GetRandom(sync); @@ -239,6 +311,7 @@ namespace Barotrauma } foreach (XElement element in mainElement.Elements()) { + if (element.Name.ToString().ToLowerInvariant() == "nojob") { continue; } if (element.IsOverride()) { var job = new JobPrefab(element.FirstElement()); @@ -262,6 +335,8 @@ namespace Barotrauma } } } + NoJobElement = NoJobElement ?? mainElement.Element("NoJob"); + NoJobElement = NoJobElement ?? mainElement.Element("nojob"); } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Limb.cs b/Barotrauma/BarotraumaShared/Source/Characters/Limb.cs index c394e5e6a..7da89ed72 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Limb.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Limb.cs @@ -435,19 +435,12 @@ namespace Barotrauma //sector 360 degrees or more -> always hits if (Math.Abs(armorSector.Y - armorSector.X) >= MathHelper.TwoPi) { return true; } float rotation = body.TransformedRotation; - float offset = (MathHelper.PiOver2 - GetArmorSectorRotationOffset(armorSector)) * Dir; + float offset = (MathHelper.PiOver2 - MathUtils.GetMidAngle(armorSector.X, armorSector.Y)) * Dir; float hitAngle = VectorExtensions.Angle(VectorExtensions.Forward(rotation + offset), SimPosition - simPosition); float sectorSize = GetArmorSectorSize(armorSector); return hitAngle < sectorSize / 2; } - protected float GetArmorSectorRotationOffset(Vector2 armorSector) - { - float midAngle = MathUtils.GetMidAngle(armorSector.X, armorSector.Y); - float spritesheetOrientation = Params.GetSpriteOrientation(); - return midAngle + spritesheetOrientation; - } - protected float GetArmorSectorSize(Vector2 armorSector) { return Math.Abs(armorSector.X - armorSector.Y); diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Params/Animation/FishAnimations.cs b/Barotrauma/BarotraumaShared/Source/Characters/Params/Animation/FishAnimations.cs index 176312c13..0d9f8a24e 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Params/Animation/FishAnimations.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Params/Animation/FishAnimations.cs @@ -140,7 +140,7 @@ namespace Barotrauma abstract class FishSwimParams : SwimParams, IFishAnimation { - [Serialize(false, true, description: "TODO"), Editable] + [Serialize(false, true, description: "Instead of linear movement (default), use a wave-like movement. Note: WaveAmplitude and WaveLength don't have any effect on this. It's synced with the movement speed."), Editable] public bool UseSineMovement { get; set; } [Editable, Serialize(true, true, description: "Should the character be flipped depending on which direction it faces. Should usually be enabled on all characters that have distinctive upper and lower sides.")] @@ -149,7 +149,7 @@ namespace Barotrauma [Editable, Serialize(true, true, description: "If enabled, the character will simply be mirrored horizontally when it wants to turn around. If disabled, it will rotate itself to face the other direction.")] public bool Mirror { get; set; } - [Serialize(1f, true), Editable] + [Serialize(5f, true), Editable] public float WaveAmplitude { get; set; } [Serialize(10.0f, true), Editable] @@ -167,6 +167,9 @@ namespace Barotrauma [Serialize(50.0f, true, description: "How much torque is used to rotate the tail to the correct orientation."), Editable(MinValueFloat = 0, MaxValueFloat = 500)] public float TailTorque { get; set; } + [Serialize(1f, true, description: "Multiplier applied based on the angle difference between the tail and the main limb. Increasing the value prevents snake-like characters from getting tangled on themselves. Default = 1 (no boost)"), Editable(MinValueFloat = 1, MaxValueFloat = 100)] + public float TailTorqueMultiplier { get; set; } + [Serialize(25.0f, true, description: "How much torque is used to rotate the feet to the correct orientation."), Editable(MinValueFloat = 0, MaxValueFloat = 500)] public float FootTorque { get; set; } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Params/CharacterParams.cs b/Barotrauma/BarotraumaShared/Source/Characters/Params/CharacterParams.cs index 931a794ec..5b5380f19 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Params/CharacterParams.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Params/CharacterParams.cs @@ -19,6 +19,9 @@ namespace Barotrauma [Serialize("", true), Editable] public string SpeciesName { get; private set; } + [Serialize("", true, description: "If the display name is not defined, the game first tries to find the translated name. If that is not found, the species name will be used."), Editable] + public string DisplayName { get; private set; } + [Serialize("", true, description: "If defined, different species of the same group are considered like the characters of the same species by the AI."), Editable] public string Group { get; private set; } @@ -46,6 +49,7 @@ namespace Barotrauma public readonly List Sounds = new List(); public readonly List BloodEmitters = new List(); public readonly List GibEmitters = new List(); + public readonly List DamageEmitters = new List(); public readonly List Inventories = new List(); public HealthParams Health { get; private set; } public AIParams AI { get; private set; } @@ -124,6 +128,12 @@ namespace Barotrauma GibEmitters.Add(emitter); SubParams.Add(emitter); } + foreach (var element in MainElement.GetChildElements("damageemitter")) + { + var emitter = new ParticleParams(element, this); + GibEmitters.Add(emitter); + SubParams.Add(emitter); + } foreach (var soundElement in MainElement.GetChildElements("sound")) { var sound = new SoundParams(soundElement, this); @@ -193,6 +203,7 @@ namespace Barotrauma public void AddBloodEmitter() => AddEmitter("bloodemitter"); public void AddGibEmitter() => AddEmitter("gibemitter"); + public void AddDamageEmitter() => AddEmitter("damageemitter"); private void AddEmitter(string type) { @@ -204,6 +215,9 @@ namespace Barotrauma case "bloodemitter": TryAddSubParam(new XElement(type), (e, c) => new ParticleParams(e, c), out _, BloodEmitters); break; + case "damageemitter": + TryAddSubParam(new XElement(type), (e, c) => new ParticleParams(e, c), out _, DamageEmitters); + break; default: throw new NotImplementedException(type); } } @@ -211,6 +225,7 @@ namespace Barotrauma public bool RemoveSound(SoundParams soundParams) => RemoveSubParam(soundParams); public bool RemoveBloodEmitter(ParticleParams emitter) => RemoveSubParam(emitter, BloodEmitters); public bool RemoveGibEmitter(ParticleParams emitter) => RemoveSubParam(emitter, GibEmitters); + public bool RemoveDamageEmitter(ParticleParams emitter) => RemoveSubParam(emitter, DamageEmitters); public bool RemoveInventory(InventoryParams inventory) => RemoveSubParam(inventory, Inventories); protected bool RemoveSubParam(T subParam, IList collection = null) where T : SubParam @@ -333,16 +348,16 @@ namespace Barotrauma [Serialize(false, true)] public bool UseHealthWindow { get; set; } - [Serialize(0f, true, description: "How easily the character heals from the bleeding wounds. Default 0 (no extra healing)."), Editable(MinValueFloat = 0, MaxValueFloat = 10)] + [Serialize(0f, true, description: "How easily the character heals from the bleeding wounds. Default 0 (no extra healing)."), Editable(MinValueFloat = 0, MaxValueFloat = 10, DecimalCount = 2)] public float BleedingReduction { get; private set; } - [Serialize(0f, true, description: "How easily the character heals from the burn wounds. Default 0 (no extra healing)."), Editable(MinValueFloat = 0, MaxValueFloat = 10)] + [Serialize(0f, true, description: "How easily the character heals from the burn wounds. Default 0 (no extra healing)."), Editable(MinValueFloat = 0, MaxValueFloat = 10, DecimalCount = 2)] public float BurnReduction { get; private set; } - [Serialize(0f, true), Editable(MinValueFloat = 0, MaxValueFloat = 10)] + [Serialize(0f, true), Editable(MinValueFloat = 0, MaxValueFloat = 10, DecimalCount = 2)] public float ConstantHealthRegeneration { get; private set; } - [Serialize(0f, true), Editable(MinValueFloat = 0, MaxValueFloat = 10)] + [Serialize(0f, true), Editable(MinValueFloat = 0, MaxValueFloat = 10, DecimalCount = 2)] public float HealthRegenerationWhenEating { get; private set; } // TODO: limbhealths, sprite? @@ -411,10 +426,10 @@ namespace Barotrauma [Serialize(1.0f, true, description: "Affects how far the character can hear the targets. Used as a multiplier."), Editable(minValue: 0f, maxValue: 10f)] public float Hearing { get; private set; } - [Serialize(100f, true, description: "How much the target priority increase when the character takes damage? Additive."), Editable(minValue: -1000f, maxValue: 1000f)] + [Serialize(100f, true, description: "How much the targeting priority increases each time the character takes damage. Works like the greed value, described above. The default value is 100."), Editable(minValue: -1000f, maxValue: 1000f)] public float AggressionHurt { get; private set; } - [Serialize(10f, true, description: "How much the target priority increase when the character takes damage? Additive."), Editable(minValue: 0f, maxValue: 1000f)] + [Serialize(10f, true, description: "How much the targeting priority increases each time the character does damage to the target. The actual priority adjustment is calculated based on the damage percentage multiplied by the greed value. The default value is 10, which means the priority will increase by 1 every time the character does damage 10% of the target's current health. If the damage is 50%, then the priority increase is 5."), Editable(minValue: 0f, maxValue: 1000f)] public float AggressionGreed { get; private set; } [Serialize(0f, true, description: "If the health drops below this threshold, the character flees. In percentages."), Editable(minValue: 0f, maxValue: 100f)] @@ -423,8 +438,8 @@ namespace Barotrauma [Serialize(false, true, description: "Does the character attack ONLY when provoked?"), Editable()] public bool AttackOnlyWhenProvoked { get; private set; } - [Serialize(true, true, description: "When true, the character retaliates quickly when it's taking damage. Enabled by default."), Editable] - public bool RetaliateWhenTakingDamage { get; private set; } + [Serialize(true, true, description: "The character will flee for a brief moment when being shot at if not performing an attack."), Editable] + public bool AvoidGunfire { get; private set; } [Serialize(false, true, description: "Does the character try to break inside the sub?"), Editable()] public bool AggressiveBoarding { get; private set; } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Params/Ragdoll/RagdollParams.cs b/Barotrauma/BarotraumaShared/Source/Characters/Params/Ragdoll/RagdollParams.cs index 47fcd7ca1..f400d2a70 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Params/Ragdoll/RagdollParams.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Params/Ragdoll/RagdollParams.cs @@ -34,9 +34,19 @@ namespace Barotrauma [Serialize("", true, description: "Default path for the limb sprite textures. Used only if the limb specific path for the limb is not defined"), Editable] public string Texture { get; set; } - [Serialize(0f, true, description: "The orientation of the sprites as drawn on the sprite sheet. Can be overridden by setting a value for Limb's 'Sprite Orientation'. Used mainly for animations and widgets."), Editable(-360, 360)] + [Serialize(0.0f, true, description: "The orientation of the sprites as drawn on the sprite sheet. Can be overridden by setting a value for Limb's 'Sprite Orientation'. Used mainly for animations and widgets."), Editable(-360, 360)] public float SpritesheetOrientation { get; set; } + public bool IsSpritesheetOrientationHorizontal + { + get + { + return + (SpritesheetOrientation > 45.0f && SpritesheetOrientation < 135.0f) || + (SpritesheetOrientation > 255.0f && SpritesheetOrientation < 315.0f); + } + } + private float limbScale; [Serialize(1.0f, true), Editable(MIN_SCALE, MAX_SCALE, DecimalCount = 3)] public float LimbScale { get { return limbScale; } set { limbScale = MathHelper.Clamp(value, MIN_SCALE, MAX_SCALE); } } @@ -55,12 +65,18 @@ namespace Barotrauma [Serialize(50f, true, description: "How much impact is required before the character takes impact damage?"), Editable(MinValueFloat = 0, MaxValueFloat = 1000)] public float ImpactTolerance { get; set; } - [Serialize(true, true, description: "Can the creature enter submarine and walk when there is no water? Creatures that cannot enter submarines, always collide with it, even when there is a gap."), Editable()] + [Serialize(true, true, description: "Can the creature enter submarine. Creatures that cannot enter submarines, always collide with it, even when there is a gap."), Editable()] public bool CanEnterSubmarine { get; set; } + [Serialize(true, true), Editable] + public bool CanWalk { get; set; } + [Serialize(true, true, description: "Can the character be dragged around by other creatures?"), Editable()] public bool Draggable { get; set; } + [Serialize(LimbType.Torso, true), Editable] + public LimbType MainLimb { get; set; } + private static Dictionary> allRagdolls = new Dictionary>(); public List Colliders { get; private set; } = new List(); @@ -513,6 +529,9 @@ namespace Barotrauma [Serialize(float.NaN, true, description: "The orientation of the sprite as drawn on the sprite sheet. Overrides the value defined in the Ragdoll settings. Used mainly for animations and widgets."), Editable(-360, 360)] public float SpriteOrientation { get; set; } + /// + /// The orientation of the sprite as drawn on the sprite sheet (in radians). + /// public float GetSpriteOrientation() => MathHelper.ToRadians(float.IsNaN(SpriteOrientation) ? Ragdoll.SpritesheetOrientation : SpriteOrientation); [Serialize(true, true, description: "Does the limb flip when the character flips?"), Editable()] @@ -527,7 +546,7 @@ namespace Barotrauma [Serialize(false, true, description: "Disable drawing for this limb."), Editable()] public bool Hide { get; set; } - [Serialize(1f, true, description: "Higher values make AI characters prefer attacking this limb."), Editable()] + [Serialize(1f, true, description: "Higher values make AI characters prefer attacking this limb."), Editable(MinValueFloat = 0.1f, MaxValueFloat = 10)] public float AttackPriority { get; set; } [Serialize(0f, true), Editable(MinValueFloat = 0, MaxValueFloat = 500)] diff --git a/Barotrauma/BarotraumaShared/Source/ContentPackage.cs b/Barotrauma/BarotraumaShared/Source/ContentPackage.cs index e6347551c..d6df0873f 100644 --- a/Barotrauma/BarotraumaShared/Source/ContentPackage.cs +++ b/Barotrauma/BarotraumaShared/Source/ContentPackage.cs @@ -216,6 +216,8 @@ namespace Barotrauma } } + public bool NeedsRestart; + public override string ToString() { return Name; diff --git a/Barotrauma/BarotraumaShared/Source/DebugConsole.cs b/Barotrauma/BarotraumaShared/Source/DebugConsole.cs index 9f4b54c52..854c87bd0 100644 --- a/Barotrauma/BarotraumaShared/Source/DebugConsole.cs +++ b/Barotrauma/BarotraumaShared/Source/DebugConsole.cs @@ -79,7 +79,7 @@ namespace Barotrauma } } - private static Queue queuedMessages = new Queue(); + private static readonly Queue queuedMessages = new Queue(); static partial void ShowHelpMessage(Command command); @@ -90,7 +90,7 @@ namespace Barotrauma public delegate void QuestionCallback(string answer); private static QuestionCallback activeQuestionCallback; - private static List commands = new List(); + private static readonly List commands = new List(); public static List Commands { get { return commands; } @@ -100,12 +100,12 @@ namespace Barotrauma private static int currentAutoCompletedIndex; //used for keeping track of the message entered when pressing up/down - static int selectedIndex; + private static int selectedIndex; public static bool CheatsEnabled; - private static List unsavedMessages = new List(); - private static int messagesPerFile = 5000; + private static readonly List unsavedMessages = new List(); + private static readonly int messagesPerFile = 5000; public const string SavePath = "ConsoleLogs"; private static void AssignOnExecute(string names, Action onExecute) @@ -113,7 +113,7 @@ namespace Barotrauma var matchingCommand = commands.Find(c => c.names.Intersect(names.Split('|')).Count() > 0); if (matchingCommand == null) { - throw new Exception("AssignOnExecute failed. Command matching the name(s) \""+names+"\" not found."); + throw new Exception("AssignOnExecute failed. Command matching the name(s) \"" + names + "\" not found."); } else { @@ -165,8 +165,7 @@ namespace Barotrauma NewMessage("***************", Color.Cyan); foreach (MapEntityPrefab ep in MapEntityPrefab.List) { - var itemPrefab = ep as ItemPrefab; - if (itemPrefab == null || itemPrefab.Name == null) continue; + if (!(ep is ItemPrefab itemPrefab) || itemPrefab.Name == null) continue; string text = $"- {itemPrefab.Name}"; if (itemPrefab.Tags.Any()) { @@ -284,6 +283,8 @@ namespace Barotrauma NewMessage("Enemy AI enabled", Color.Green); }, isCheat: true)); + commands.Add(new Command("starttraitormissionimmediately", "starttraitormissionimmediately: Skip the initial delay of the traitor mission and start one immediately.", null)); + commands.Add(new Command("botcount", "botcount [x]: Set the number of bots in the crew in multiplayer.", null)); commands.Add(new Command("botspawnmode", "botspawnmode [fill/normal]: Set how bots are spawned in the multiplayer.", null)); @@ -335,18 +336,19 @@ namespace Barotrauma commands.Add(new Command("kick", "kick [name]: Kick a player out of the server.", (string[] args) => { - if (GameMain.NetworkMember == null || args.Length == 0) return; + if (GameMain.NetworkMember == null || args.Length == 0) { return; } string playerName = string.Join(" ", args); - ShowQuestionPrompt("Reason for kicking \"" + playerName + "\"?", (reason) => + ShowQuestionPrompt("Reason for kicking \"" + playerName + "\"? (Enter c to cancel)", (reason) => { + if (reason == "c" || reason == "C") { return; } GameMain.NetworkMember.KickPlayer(playerName, reason); }); }, () => { - if (GameMain.NetworkMember == null) return null; + if (GameMain.NetworkMember == null) { return null; } return new string[][] { @@ -366,8 +368,9 @@ namespace Barotrauma return; } - ShowQuestionPrompt("Reason for kicking \"" + client.Name + "\"?", (reason) => + ShowQuestionPrompt("Reason for kicking \"" + client.Name + "\"? (Enter c to cancel)", (reason) => { + if (reason == "c" || reason == "C") { return; } GameMain.NetworkMember.KickPlayer(client.Name, reason); }); })); @@ -377,10 +380,12 @@ namespace Barotrauma if (GameMain.NetworkMember == null || args.Length == 0) return; string clientName = string.Join(" ", args); - ShowQuestionPrompt("Reason for banning \"" + clientName + "\"?", (reason) => + ShowQuestionPrompt("Reason for banning \"" + clientName + "\"? (Enter c to cancel)", (reason) => { - ShowQuestionPrompt("Enter the duration of the ban (leave empty to ban permanently, or use the format \"[days] d [hours] h\")", (duration) => + if (reason == "c" || reason == "C") { return; } + ShowQuestionPrompt("Enter the duration of the ban (leave empty to ban permanently, or use the format \"[days] d [hours] h\") (Enter c to cancel)", (duration) => { + if (duration == "c" || duration == "C") { return; } TimeSpan? banDuration = null; if (!string.IsNullOrWhiteSpace(duration)) { @@ -418,10 +423,12 @@ namespace Barotrauma return; } - ShowQuestionPrompt("Reason for banning \"" + client.Name + "\"?", (reason) => + ShowQuestionPrompt("Reason for banning \"" + client.Name + "\"? (Enter c to cancel)", (reason) => { - ShowQuestionPrompt("Enter the duration of the ban (leave empty to ban permanently, or use the format \"[days] d [hours] h\")", (duration) => + if (reason == "c" || reason == "C") { return; } + ShowQuestionPrompt("Enter the duration of the ban (leave empty to ban permanently, or use the format \"[days] d [hours] h\") (c to cancel)", (duration) => { + if (duration == "c" || duration == "C") { return; } TimeSpan? banDuration = null; if (!string.IsNullOrWhiteSpace(duration)) { @@ -874,8 +881,7 @@ namespace Barotrauma commands.Add(new Command("campaigninfo|campaignstatus", "campaigninfo: Display information about the state of the currently active campaign.", (string[] args) => { - var campaign = GameMain.GameSession?.GameMode as CampaignMode; - if (campaign == null) + if (!(GameMain.GameSession?.GameMode is CampaignMode campaign)) { ThrowError("No campaign active!"); return; @@ -886,8 +892,7 @@ namespace Barotrauma commands.Add(new Command("campaigndestination|setcampaigndestination", "campaigndestination [index]: Set the location to head towards in the currently active campaign.", (string[] args) => { - var campaign = GameMain.GameSession?.GameMode as CampaignMode; - if (campaign == null) + if (!(GameMain.GameSession?.GameMode is CampaignMode campaign)) { ThrowError("No campaign active!"); return; @@ -938,7 +943,6 @@ namespace Barotrauma NewMessage((GameSettings.VerboseLogging ? "Enabled" : "Disabled") + " verbose logging.", Color.White); }, isCheat: false)); - commands.Add(new Command("calculatehashes", "calculatehashes [content package name]: Show the MD5 hashes of the files in the selected content package. If the name parameter is omitted, the first content package is selected.", (string[] args) => { if (args.Length > 0) @@ -967,7 +971,21 @@ namespace Barotrauma }; })); -#if DEBUG + commands.Add(new Command("debugai", "", onExecute: (string[] args) => + { + var commands = new List>() + { + new KeyValuePair("debugdraw", new string[]{ "true" }), + new KeyValuePair("los", new string[]{ "false" }), + new KeyValuePair("lights", new string[]{ "false" }), + new KeyValuePair("freecam", new string[0]), + }; + foreach (var command in commands) + { + Commands.Find(c => c.names.Any(n => n.Equals(command.Key, StringComparison.OrdinalIgnoreCase)))?.Execute(command.Value); + } + })); + commands.Add(new Command("simulatedlatency", "simulatedlatency [minimumlatencyseconds] [randomlatencyseconds]: applies a simulated latency to network messages. Useful for simulating real network conditions when testing the multiplayer locally.", (string[] args) => { if (args.Count() < 2 || (GameMain.NetworkMember == null)) return; @@ -1039,7 +1057,6 @@ namespace Barotrauma #endif NewMessage("Set packet duplication to " + (int)(duplicates * 100) + "%.", Color.White); })); -#endif //"dummy commands" that only exist so that the server can give clients permissions to use them //TODO: alphabetical order? @@ -1170,16 +1187,6 @@ namespace Barotrauma } } - private static string AutoCompleteStr(string str, IEnumerable validStrings) - { - if (string.IsNullOrEmpty(str)) return str; - foreach (string validStr in validStrings) - { - if (validStr.Length > str.Length && validStr.Substring(0, str.Length) == str) return validStr; - } - return str; - } - public static void ResetAutoComplete() { currentAutoCompletedCommand = ""; @@ -1197,7 +1204,7 @@ namespace Barotrauma { selectedIndex += direction; if (selectedIndex < 0) selectedIndex = Messages.Count - 1; - selectedIndex = selectedIndex % Messages.Count; + selectedIndex %= Messages.Count; if (++i >= Messages.Count) break; } while (!Messages[selectedIndex].IsCommand || Messages[selectedIndex].Text == currentText); @@ -1257,13 +1264,6 @@ namespace Barotrauma return; } -#if !DEBUG - if (!IsCommandPermitted(splitCommand[0].ToLowerInvariant(), GameMain.Client)) - { - ThrowError("You're not permitted to use the command \"" + splitCommand[0].ToLowerInvariant() + "\"!"); - return; - } -#endif } #endif @@ -1509,9 +1509,7 @@ namespace Barotrauma public static void NewMessage(string msg, Color color, bool isCommand = false) { - if (string.IsNullOrEmpty((msg))) return; - - var newMsg = new ColoredText(msg, color, isCommand); + if (string.IsNullOrEmpty(msg)) { return; } lock (queuedMessages) { diff --git a/Barotrauma/BarotraumaShared/Source/Events/EventManagerSettings.cs b/Barotrauma/BarotraumaShared/Source/Events/EventManagerSettings.cs index 317d69926..0b669736a 100644 --- a/Barotrauma/BarotraumaShared/Source/Events/EventManagerSettings.cs +++ b/Barotrauma/BarotraumaShared/Source/Events/EventManagerSettings.cs @@ -10,6 +10,7 @@ namespace Barotrauma { public static readonly List List = new List(); + public readonly string Identifier; public readonly string Name; //How much the event threshold increases per second. 0.0005f = 0.03f per minute @@ -48,28 +49,30 @@ namespace Barotrauma foreach (XElement subElement in mainElement.Elements()) { var element = subElement.IsOverride() ? subElement.FirstElement() : subElement; - string name = element.Name.ToString(); - var duplicate = List.FirstOrDefault(e => e.Name.ToString().Equals(name, StringComparison.OrdinalIgnoreCase)); + string identifier = element.Name.ToString(); + var duplicate = List.FirstOrDefault(e => e.Identifier.ToString().Equals(identifier, StringComparison.OrdinalIgnoreCase)); if (duplicate != null) { if (allowOverriding || subElement.IsOverride()) { - DebugConsole.NewMessage($"Overriding the existing preset '{name}' in the event manager settings using the file '{file}'", Color.Yellow); + DebugConsole.NewMessage($"Overriding the existing preset '{identifier}' in the event manager settings using the file '{file}'", Color.Yellow); List.Remove(duplicate); } else { - DebugConsole.ThrowError($"Error in '{file}': Another element with the name '{name}' found! Each element must have a unique name. Use tags if you want to override an existing preset."); + DebugConsole.ThrowError($"Error in '{file}': Another element with the name '{identifier}' found! Each element must have a unique name. Use tags if you want to override an existing preset."); continue; } } List.Add(new EventManagerSettings(element)); } + List.Sort((x, y) => { return Math.Sign((x.MinLevelDifficulty + x.MaxLevelDifficulty) / 2.0f - (y.MinLevelDifficulty + y.MaxLevelDifficulty) / 2.0f); }); } public EventManagerSettings(XElement element) { - Name = element.Name.ToString(); + Identifier = element.Name.ToString(); + Name = TextManager.Get("difficulty." + Identifier, returnNull: true) ?? Identifier; EventThresholdIncrease = element.GetAttributeFloat("EventThresholdIncrease", 0.0005f); DefaultEventThreshold = element.GetAttributeFloat("DefaultEventThreshold", 0.2f); EventCooldown = element.GetAttributeFloat("EventCooldown", 360.0f); diff --git a/Barotrauma/BarotraumaShared/Source/Events/Missions/Mission.cs b/Barotrauma/BarotraumaShared/Source/Events/Missions/Mission.cs index a518a9bc0..b1356b31a 100644 --- a/Barotrauma/BarotraumaShared/Source/Events/Missions/Mission.cs +++ b/Barotrauma/BarotraumaShared/Source/Events/Missions/Mission.cs @@ -9,7 +9,25 @@ namespace Barotrauma { public readonly MissionPrefab Prefab; protected bool completed; - + protected int state; + public int State + { + get { return state; } + protected set + { + if (state != value) + { + state = value; +#if SERVER + GameMain.Server?.UpdateMissionState(state); +#endif + ShowMessage(State); + } + } + } + + protected bool IsClient => GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient; + public readonly List Headers; public readonly List Messages; @@ -107,17 +125,13 @@ namespace Barotrauma public static Mission LoadRandom(Location[] locations, MTRandom rand, bool requireCorrectLocationType, MissionType missionType, bool isSinglePlayer = false) { List allowedMissions = new List(); - if (missionType == MissionType.Random) - { - allowedMissions.AddRange(MissionPrefab.List); - } - else if (missionType == MissionType.None) + if (missionType == MissionType.None) { return null; } else { - allowedMissions = MissionPrefab.List.FindAll(m => m.type == missionType); + allowedMissions.AddRange(MissionPrefab.List.Where(m => ((int)(missionType & m.type)) != 0)); } allowedMissions.RemoveAll(m => isSinglePlayer ? m.MultiplayerOnly : m.SingleplayerOnly); diff --git a/Barotrauma/BarotraumaShared/Source/Events/Missions/MissionPrefab.cs b/Barotrauma/BarotraumaShared/Source/Events/Missions/MissionPrefab.cs index 31bcae2e1..231fe64fc 100644 --- a/Barotrauma/BarotraumaShared/Source/Events/Missions/MissionPrefab.cs +++ b/Barotrauma/BarotraumaShared/Source/Events/Missions/MissionPrefab.cs @@ -6,14 +6,15 @@ using Microsoft.Xna.Framework; namespace Barotrauma { + [Flags] public enum MissionType { - Random, - None, - Salvage, - Monster, - Cargo, - Combat + None = 0x0, + Salvage = 0x1, + Monster = 0x2, + Cargo = 0x4, + Combat = 0x8, + All = 0xf } partial class MissionPrefab @@ -155,11 +156,6 @@ namespace Barotrauma DebugConsole.ThrowError("Error in mission prefab \"" + Name + "\" - \"" + missionTypeName + "\" is not a valid mission type."); return; } - if (type == MissionType.Random) - { - DebugConsole.ThrowError("Error in mission prefab \"" + Name + "\" - mission type cannot be random."); - return; - } if (type == MissionType.None) { DebugConsole.ThrowError("Error in mission prefab \"" + Name + "\" - mission type cannot be none."); diff --git a/Barotrauma/BarotraumaShared/Source/Events/Missions/MonsterMission.cs b/Barotrauma/BarotraumaShared/Source/Events/Missions/MonsterMission.cs index 66a92c012..750b7fd9a 100644 --- a/Barotrauma/BarotraumaShared/Source/Events/Missions/MonsterMission.cs +++ b/Barotrauma/BarotraumaShared/Source/Events/Missions/MonsterMission.cs @@ -1,34 +1,41 @@ using Microsoft.Xna.Framework; using System.Collections.Generic; using System.Linq; +using System; namespace Barotrauma { class MonsterMission : Mission { - private string monsterFile; - - private int state; - - private int monsterCount; - + private readonly string monsterFile; + private readonly int monsterCount; + private readonly HashSet> monsterFiles = new HashSet>(); private readonly List monsters = new List(); private readonly List sonarPositions = new List(); - public override IEnumerable SonarPositions - { - get - { - return sonarPositions; - } - } + public override IEnumerable SonarPositions => sonarPositions; public MonsterMission(MissionPrefab prefab, Location[] locations) : base(prefab, locations) { - monsterFile = prefab.ConfigElement.GetAttributeString("monsterfile", ""); + monsterFile = prefab.ConfigElement.GetAttributeString("monsterfile", null); monsterCount = prefab.ConfigElement.GetAttributeInt("monstercount", 1); - + foreach (var monsterElement in prefab.ConfigElement.GetChildElements("monster")) + { + string monster = monsterElement.GetAttributeString("character", string.Empty); + if (monsterFile == null) + { + monsterFile = monster; + } + int defaultCount = monsterElement.GetAttributeInt("count", -1); + if (defaultCount < 0) + { + defaultCount = monsterElement.GetAttributeInt("amount", 1); + } + int min = monsterElement.GetAttributeInt("min", defaultCount); + int max = Math.Max(min, monsterElement.GetAttributeInt("max", defaultCount)); + monsterFiles.Add(new Tuple(monster, Rand.Range(min, max + 1, Rand.RandSync.Server))); + } description = description.Replace("[monster]", TextManager.Get("character." + System.IO.Path.GetFileNameWithoutExtension(monsterFile))); } @@ -37,11 +44,22 @@ namespace Barotrauma { Level.Loaded.TryGetInterestingPosition(true, Level.PositionType.MainPath, Level.Loaded.Size.X * 0.3f, out Vector2 spawnPos); - bool isClient = GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient; - for (int i = 0; i < monsterCount; i++) + bool isClient = IsClient; + if (!string.IsNullOrEmpty(monsterFile)) { - monsters.Add(Character.Create(monsterFile, spawnPos, ToolBox.RandomSeed(8), null, isClient, true, false)); + for (int i = 0; i < monsterCount; i++) + { + monsters.Add(Character.Create(monsterFile, spawnPos, ToolBox.RandomSeed(8), null, isClient, true, false)); + } } + foreach (var monster in monsterFiles) + { + for (int i = 0; i < monster.Item2; i++) + { + monsters.Add(Character.Create(monster.Item1, spawnPos, ToolBox.RandomSeed(8), null, isClient, true, false)); + } + } + monsters.ForEach(m => m.Enabled = false); SwarmBehavior.CreateSwarm(monsters.Cast()); sonarPositions.Add(spawnPos); @@ -49,40 +67,35 @@ namespace Barotrauma public override void Update(float deltaTime) { - switch (state) + switch (State) { case 0: sonarPositions.Clear(); - var activeMonsters = monsters.Where(m => m != null && !m.Removed && !m.IsDead); - if (activeMonsters.Any()) + foreach (var monster in monsters) { - Vector2 centerOfMass = Vector2.Zero; - foreach (var monster in activeMonsters) + if (monster.Removed || monster.IsDead) { continue; } + //don't add another label if there's another monster roughly at the same spot + if (sonarPositions.All(p => Vector2.DistanceSquared(p, monster.Position) > 1000.0f * 1000.0f)) { - //don't add another label if there's another monster roughly at the same spot - if (sonarPositions.All(p => Vector2.DistanceSquared(p, monster.Position) > 1000.0f * 1000.0f)) - { - sonarPositions.Add(monster.Position); - } + sonarPositions.Add(monster.Position); } } - - - if (activeMonsters.Any()) { return; } - - ShowMessage(state); - - state = 1; + if (!IsClient && monsters.All(m => IsEliminated(m))) + { + State = 1; + } break; } } public override void End() { - if (!monsters.All(m => m.Removed || m.IsDead)) { return; } + if (State < 1) { return; } GiveReward(); completed = true; } + + public bool IsEliminated(Character enemy) => enemy.Removed || enemy.IsDead || enemy.AIController is EnemyAIController ai && ai.State == AIState.Flee; } } diff --git a/Barotrauma/BarotraumaShared/Source/Events/Missions/SalvageMission.cs b/Barotrauma/BarotraumaShared/Source/Events/Missions/SalvageMission.cs index 0f8e2459d..2ff3d82a5 100644 --- a/Barotrauma/BarotraumaShared/Source/Events/Missions/SalvageMission.cs +++ b/Barotrauma/BarotraumaShared/Source/Events/Missions/SalvageMission.cs @@ -14,13 +14,11 @@ namespace Barotrauma private Level.PositionType spawnPositionType; - private int state; - public override IEnumerable SonarPositions { get { - if (state > 0 ) + if (State > 0 ) { Enumerable.Empty(); } @@ -87,34 +85,27 @@ namespace Barotrauma public override void Update(float deltaTime) { - switch (state) + if (IsClient) { return; } + switch (State) { case 0: - //item.body.LinearVelocity = Vector2.Zero; - if (item.ParentInventory != null) item.body.FarseerBody.IsKinematic = false; - if (item.CurrentHull?.Submarine == null) return; - - ShowMessage(state); - - state = 1; + if (item.ParentInventory != null) { item.body.FarseerBody.IsKinematic = false; } + if (item.CurrentHull?.Submarine == null) { return; } + State = 1; break; case 1: - if (!Submarine.MainSub.AtEndPosition && !Submarine.MainSub.AtStartPosition) return; - - ShowMessage(state); - - state = 2; + if (!Submarine.MainSub.AtEndPosition && !Submarine.MainSub.AtStartPosition) { return; } + State = 2; break; } } public override void End() { - if (item.CurrentHull?.Submarine == null || !item.CurrentHull.Submarine.AtEndPosition || item.Removed) return; + if (item.CurrentHull?.Submarine == null || !item.CurrentHull.Submarine.AtEndPosition || item.Removed) { return; } + item.Remove(); - GiveReward(); - completed = true; } } diff --git a/Barotrauma/BarotraumaShared/Source/Extensions/StringFormatter.cs b/Barotrauma/BarotraumaShared/Source/Extensions/StringFormatter.cs index f13e5a0de..dff706002 100644 --- a/Barotrauma/BarotraumaShared/Source/Extensions/StringFormatter.cs +++ b/Barotrauma/BarotraumaShared/Source/Extensions/StringFormatter.cs @@ -110,5 +110,60 @@ namespace Barotrauma } } } + + public static ICollection ParseCommaSeparatedStringToCollection(string input, ICollection texts = null, bool convertToLowerInvariant = true) + { + if (texts == null) + { + texts = new HashSet(); + } + else + { + texts.Clear(); + } + if (!string.IsNullOrWhiteSpace(input)) + { + foreach (string value in input.Split(',')) + { + if (string.IsNullOrWhiteSpace(value)) { continue; } + if (convertToLowerInvariant) + { + texts.Add(value.ToLowerInvariant()); + } + else + { + texts.Add(value); + } + } + } + return texts; + } + + public static ICollection ParseSeparatedStringToCollection(string input, string[] separators, ICollection texts = null, bool convertToLowerInvariant = true) + { + if (texts == null) + { + texts = new HashSet(); + } + else + { + texts.Clear(); + } + if (!string.IsNullOrWhiteSpace(input)) + { + foreach (string value in input.Split(separators, StringSplitOptions.RemoveEmptyEntries)) + { + if (convertToLowerInvariant) + { + texts.Add(value.ToLowerInvariant()); + } + else + { + texts.Add(value); + } + } + } + return texts; + } } } diff --git a/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs b/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs index cb6b1df83..b634bf35a 100644 --- a/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs +++ b/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs @@ -83,8 +83,16 @@ namespace Barotrauma /// public static void AddErrorEventOnce(string identifier, EGAErrorSeverity errorSeverity, string message) { - if (!GameSettings.SendUserStatistics) return; - if (sentEventIdentifiers.Contains(identifier)) return; + if (!GameSettings.SendUserStatistics) { return; } + if (sentEventIdentifiers.Contains(identifier)) { return; } + + if (GameMain.SelectedPackages != null) + { + if (GameMain.VanillaContent == null || GameMain.SelectedPackages.Any(p => p.HasMultiplayerIncompatibleContent && p != GameMain.VanillaContent)) + { + message = "[MODDED] " + message; + } + } GameAnalytics.AddErrorEvent(errorSeverity, message); sentEventIdentifiers.Add(identifier); diff --git a/Barotrauma/BarotraumaShared/Source/GameSession/GameModes/MultiPlayerCampaign.cs b/Barotrauma/BarotraumaShared/Source/GameSession/GameModes/MultiPlayerCampaign.cs index 9c7f8c86d..aaa343799 100644 --- a/Barotrauma/BarotraumaShared/Source/GameSession/GameModes/MultiPlayerCampaign.cs +++ b/Barotrauma/BarotraumaShared/Source/GameSession/GameModes/MultiPlayerCampaign.cs @@ -104,6 +104,7 @@ namespace Barotrauma { if (c.Character?.Info != null && !c.Character.IsDead) { + c.CharacterInfo = c.Character.Info; characterData.Add(new CharacterCampaignData(c)); } } diff --git a/Barotrauma/BarotraumaShared/Source/GameSettings.cs b/Barotrauma/BarotraumaShared/Source/GameSettings.cs index 8a1cc5411..e781bcc15 100644 --- a/Barotrauma/BarotraumaShared/Source/GameSettings.cs +++ b/Barotrauma/BarotraumaShared/Source/GameSettings.cs @@ -51,6 +51,8 @@ namespace Barotrauma public bool VoipAttenuationEnabled { get; set; } public bool UseDirectionalVoiceChat { get; set; } + public IList CaptureDeviceNames; + public enum VoiceMode { Disabled, @@ -69,7 +71,7 @@ namespace Barotrauma private LosMode losMode; - public List jobPreferences; + public List> jobPreferences; private bool useSteamMatchmaking; private bool requireSteamAuthentication; @@ -119,7 +121,7 @@ namespace Barotrauma } } - public List JobPreferences + public List> JobPreferences { get { return jobPreferences; } set { jobPreferences = value; } @@ -211,12 +213,13 @@ namespace Barotrauma } } + public const float MaxMicrophoneVolume = 10.0f; public float MicrophoneVolume { get { return microphoneVolume; } set { - microphoneVolume = MathHelper.Clamp(value, 0.2f, 10.0f); + microphoneVolume = MathHelper.Clamp(value, 0.2f, MaxMicrophoneVolume); } } public string Language @@ -232,6 +235,7 @@ namespace Barotrauma if (!SelectedContentPackages.Contains(contentPackage)) { SelectedContentPackages.Add(contentPackage); + contentPackage.NeedsRestart |= contentPackage.HasMultiplayerIncompatibleContent; ContentPackage.SortContentPackages(); } } @@ -241,6 +245,7 @@ namespace Barotrauma if (SelectedContentPackages.Contains(contentPackage)) { SelectedContentPackages.Remove(contentPackage); + contentPackage.NeedsRestart |= contentPackage.HasMultiplayerIncompatibleContent; ContentPackage.SortContentPackages(); } } @@ -442,11 +447,7 @@ namespace Barotrauma GraphicsHeight = 768; MasterServerUrl = ""; SelectContentPackage(ContentPackage.List.Any() ? ContentPackage.List[0] : new ContentPackage("")); - jobPreferences = new List(); - foreach (string job in JobPrefab.List.Keys) - { - jobPreferences.Add(job); - } + jobPreferences = new List>(); return; } @@ -570,9 +571,12 @@ namespace Barotrauma var gameplay = new XElement("gameplay"); var jobPreferences = new XElement("jobpreferences"); - foreach (string jobName in JobPreferences) + foreach (Pair job in JobPreferences) { - jobPreferences.Add(new XElement("job", new XAttribute("identifier", jobName))); + XElement jobElement = new XElement("job"); + jobElement.Add(new XAttribute("identifier", job.First)); + jobElement.Add(new XAttribute("variant", job.Second)); + jobPreferences.Add(jobElement); } gameplay.Add(jobPreferences); doc.Root.Add(gameplay); @@ -890,9 +894,12 @@ namespace Barotrauma var gameplay = new XElement("gameplay"); var jobPreferences = new XElement("jobpreferences"); - foreach (string jobName in JobPreferences) + foreach (Pair job in JobPreferences) { - jobPreferences.Add(new XElement("job", new XAttribute("identifier", jobName))); + XElement jobElement = new XElement("job"); + jobElement.Add(new XAttribute("identifier", job.First)); + jobElement.Add(new XAttribute("variant", job.Second)); + jobPreferences.Add(jobElement); } gameplay.Add(jobPreferences); doc.Root.Add(gameplay); @@ -972,14 +979,19 @@ namespace Barotrauma CampaignDisclaimerShown = doc.Root.GetAttributeBool("campaigndisclaimershown", CampaignDisclaimerShown); EditorDisclaimerShown = doc.Root.GetAttributeBool("editordisclaimershown", EditorDisclaimerShown); XElement gameplayElement = doc.Root.Element("gameplay"); + jobPreferences = new List>(); if (gameplayElement != null) { - jobPreferences = new List(); - foreach (XElement ele in gameplayElement.Element("jobpreferences").Elements("job")) + var preferencesElement = gameplayElement.Element("jobpreferences"); + if (preferencesElement != null) { - string jobIdentifier = ele.GetAttributeString("identifier", ""); - if (string.IsNullOrEmpty(jobIdentifier)) continue; - jobPreferences.Add(jobIdentifier); + foreach (XElement ele in preferencesElement.Elements("job")) + { + string jobIdentifier = ele.GetAttributeString("identifier", ""); + int outfitVariant = ele.GetAttributeInt("variant", 1); + if (string.IsNullOrEmpty(jobIdentifier)) continue; + jobPreferences.Add(new Pair(jobIdentifier, outfitVariant)); + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs index 136b9513f..d69d69a2b 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs @@ -20,9 +20,9 @@ namespace Barotrauma.Items.Components private bool isOpen; private float openState; - private Sprite doorSprite, weldedSprite, brokenSprite; - private bool scaleBrokenSprite, fadeBrokenSprite; - private bool autoOrientGap; + private readonly Sprite doorSprite, weldedSprite, brokenSprite; + private readonly bool scaleBrokenSprite, fadeBrokenSprite; + private readonly bool autoOrientGap; private bool isStuck; public bool IsStuck => isStuck; @@ -221,8 +221,8 @@ namespace Barotrauma.Items.Components #endif } - private string accessDeniedTxt = TextManager.Get("AccessDenied"); - private string cannotOpenText = TextManager.Get("DoorMsgCannotOpen"); + private readonly string accessDeniedTxt = TextManager.Get("AccessDenied"); + private readonly string cannotOpenText = TextManager.Get("DoorMsgCannotOpen"); private bool hasValidIdCard; public override bool HasRequiredItems(Character character, bool addMessage, string msg = null) { @@ -272,14 +272,15 @@ namespace Barotrauma.Items.Components ToggleState(ActionType.OnUse); PickingTime = originalPickingTime; } - else if (hasRequiredItems) - { #if CLIENT + else if (hasRequiredItems && character != null && character == Character.Controlled) + { GUI.AddMessage(accessDeniedTxt, Color.Red); -#endif + } +#endif } - return item.Condition <= RepairThreshold; + return false; } public override void Update(float deltaTime, Camera cam) @@ -340,6 +341,13 @@ namespace Barotrauma.Items.Components if (!Impassable) { Body.FarseerBody.IsSensor = false; + var ce = Body.FarseerBody.ContactList; + while (ce != null && ce.Contact != null) + { + ce.Contact.Enabled = false; + ce = ce.Next; + } + PushCharactersAway(); } #if CLIENT UpdateConvexHulls(); @@ -354,6 +362,12 @@ namespace Barotrauma.Items.Components if (!Impassable) { Body.FarseerBody.IsSensor = true; + var ce = Body.FarseerBody.ContactList; + while (ce != null && ce.Contact != null) + { + ce.Contact.Enabled = false; + ce = ce.Next; + } } linkedGap.Open = 1.0f; IsOpen = false; @@ -413,15 +427,14 @@ namespace Barotrauma.Items.Components //otherwise the gap will be removed twice and cause console warnings if (!Submarine.Unloading) { - if (linkedGap != null) linkedGap.Remove(); + linkedGap?.Remove(); } - - doorSprite.Remove(); - if (weldedSprite != null) weldedSprite.Remove(); + doorSprite?.Remove(); + weldedSprite?.Remove(); #if CLIENT - if (convexHull != null) convexHull.Remove(); - if (convexHull2 != null) convexHull2.Remove(); + convexHull?.Remove(); + convexHull2?.Remove(); #endif } @@ -474,7 +487,6 @@ namespace Barotrauma.Items.Components private bool PushBodyOutOfDoorway(Character c, PhysicsBody body, int dir, Vector2 doorRectSimPos, Vector2 doorRectSimSize) { - float diff = 0.0f; if (!MathUtils.IsValid(body.SimPosition)) { DebugConsole.ThrowError("Failed to push a limb out of a doorway - position of the body (character \"" + c.Name + "\") is not valid (" + body.SimPosition + ")"); @@ -484,7 +496,8 @@ namespace Barotrauma.Items.Components " Remoteplayer: " + c.IsRemotePlayer); return false; } - + + float diff; if (IsHorizontal) { if (body.SimPosition.X < doorRectSimPos.X || body.SimPosition.X > doorRectSimPos.X + doorRectSimSize.X) { return false; } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/ElectricalDischarger.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/ElectricalDischarger.cs index df42f6c2e..76aaf4f52 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/ElectricalDischarger.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/ElectricalDischarger.cs @@ -131,7 +131,7 @@ namespace Barotrauma.Items.Components { if (charging) { - if (voltage > minVoltage || powerConsumption <= 0.0f) + if (Voltage > MinVoltage) { Discharge(); } @@ -142,8 +142,6 @@ namespace Barotrauma.Items.Components { IsActive = false; } - - voltage = 0.0f; } public override void UpdateBroken(float deltaTime, Camera cam) @@ -455,6 +453,7 @@ namespace Barotrauma.Items.Components protected override void RemoveComponentSpecific() { + base.RemoveComponentSpecific(); list.Remove(this); } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/MeleeWeapon.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/MeleeWeapon.cs index 49b5e065f..2610644be 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/MeleeWeapon.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/MeleeWeapon.cs @@ -242,9 +242,19 @@ namespace Barotrauma.Items.Components User = null; } + //ignore collision if there's a wall between the user and the weapon to prevent hitting through walls + if (Submarine.PickBody(User.AnimController.AimSourceSimPos, + item.SimPosition, + collisionCategory: Physics.CollisionWall | Physics.CollisionLevel | Physics.CollisionItemBlocking, + allowInsideFixture: true) != null) + { + return false; + } + Character targetCharacter = null; Limb targetLimb = null; Structure targetStructure = null; + Item targetItem = null; attack?.SetUser(User); @@ -292,6 +302,19 @@ namespace Barotrauma.Items.Components } hitTargets.Add(targetStructure); } + else if (f2.Body.UserData is Item) + { + targetItem = (Item)f2.Body.UserData; + if (AllowHitMultiple) + { + if (hitTargets.Contains(targetItem)) { return true; } + } + else + { + if (hitTargets.Any(t => t is Item)) { return true; } + } + hitTargets.Add(targetItem); + } else { return false; @@ -313,6 +336,10 @@ namespace Barotrauma.Items.Components { attack.DoDamage(User, targetStructure, item.WorldPosition, 1.0f); } + else if (targetItem != null && targetItem.Prefab.DamagedByMeleeWeapons) + { + attack.DoDamage(User, targetItem, item.WorldPosition, 1.0f); + } else { return false; diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/RepairTool.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/RepairTool.cs index 9b38863f3..cee0372dd 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/RepairTool.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/RepairTool.cs @@ -127,6 +127,7 @@ namespace Barotrauma.Items.Components if (activeTimer <= 0.0f) IsActive = false; } + private List ignoredBodies = new List(); public override bool Use(float deltaTime, Character character = null) { if (character == null || character.Removed) return false; @@ -185,7 +186,7 @@ namespace Barotrauma.Items.Components (float)Math.Cos(angle), (float)Math.Sin(angle)) * Range * item.body.Dir); - List ignoredBodies = new List(); + ignoredBodies.Clear(); foreach (Limb limb in character.AnimController.Limbs) { if (Rand.Range(0.0f, 0.5f) > degreeOfSuccess) continue; @@ -438,27 +439,48 @@ namespace Barotrauma.Items.Components private float sinTime; public override bool AIOperate(float deltaTime, Character character, AIObjectiveOperateItem objective) { - if (!(objective.OperateTarget is Gap leak)) return true; - - Vector2 fromItemToLeak = leak.WorldPosition - item.WorldPosition; - float dist = fromItemToLeak.Length(); + if (!(objective.OperateTarget is Gap leak)) { return true; } + if (leak.Submarine == null) { return true; } + Vector2 fromCharacterToLeak = leak.WorldPosition - character.WorldPosition; + float dist = fromCharacterToLeak.Length(); + float reach = Range + ConvertUnits.ToDisplayUnits(((HumanoidAnimController)character.AnimController).ArmLength); //too far away -> consider this done and hope the AI is smart enough to move closer - if (dist > Range * 3.0f) { return true; } - - // TODO: use the collider size? - if (!character.AnimController.InWater && character.AnimController is HumanoidAnimController && - Math.Abs(fromItemToLeak.X) < 100.0f && fromItemToLeak.Y < 0.0f && fromItemToLeak.Y > -150.0f) - { - ((HumanoidAnimController)character.AnimController).Crouching = true; - } - + if (dist > reach * 2) { return true; } + character.AIController.SteeringManager.Reset(); //steer closer if almost in range - if (dist > Range) + if (dist > reach) { - Vector2 standPos = new Vector2(Math.Sign(-fromItemToLeak.X), Math.Sign(-fromItemToLeak.Y)) / 2; - if (!character.AnimController.InWater) + if (character.AnimController.InWater) { + if (character.AIController.SteeringManager is IndoorsSteeringManager indoorSteering) + { + // Swimming inside the sub + if (indoorSteering.CurrentPath != null && !indoorSteering.IsPathDirty && indoorSteering.CurrentPath.Unreachable) + { + Vector2 dir = Vector2.Normalize(fromCharacterToLeak); + character.AIController.SteeringManager.SteeringManual(deltaTime, dir); + } + else + { + character.AIController.SteeringManager.SteeringSeek(character.GetRelativeSimPosition(leak)); + } + } + else + { + // Swimming outside the sub + character.AIController.SteeringManager.SteeringSeek(character.GetRelativeSimPosition(leak)); + } + } + else + { + // TODO: use the collider size? + if (!character.AnimController.InWater && character.AnimController is HumanoidAnimController && + Math.Abs(fromCharacterToLeak.X) < 100.0f && fromCharacterToLeak.Y < 0.0f && fromCharacterToLeak.Y > -150.0f) + { + ((HumanoidAnimController)character.AnimController).Crouching = true; + } + Vector2 standPos = new Vector2(Math.Sign(-fromCharacterToLeak.X), Math.Sign(-fromCharacterToLeak.Y)) / 2; if (leak.IsHorizontal) { standPos.X *= 2; @@ -468,43 +490,40 @@ namespace Barotrauma.Items.Components { standPos.X = 0; } - } - if (character.AIController.SteeringManager is IndoorsSteeringManager indoorSteering) - { - if (indoorSteering.CurrentPath != null && !indoorSteering.IsPathDirty && indoorSteering.CurrentPath.Unreachable) - { - Vector2 dir = Vector2.Normalize(standPos - character.WorldPosition); - character.AIController.SteeringManager.SteeringManual(deltaTime, dir / 2); - } - else - { - character.AIController.SteeringManager.SteeringSeek(standPos); - } - } - else - { character.AIController.SteeringManager.SteeringSeek(standPos); } } else { - if (dist < Range / 2) + if (dist < reach / 2) { // Too close -> steer away - character.AIController.SteeringManager.SteeringManual(deltaTime, Vector2.Normalize(character.SimPosition - leak.SimPosition) / 2); + character.AIController.SteeringManager.SteeringManual(deltaTime, Vector2.Normalize(character.SimPosition - leak.SimPosition)); } - else if (dist <= Range) + else if (dist <= reach) { // In range - character.AIController.SteeringManager.Reset(); - } - else - { - return false; + character.CursorPosition = leak.Position; + character.CursorPosition += VectorExtensions.Forward(Item.body.TransformedRotation + (float)Math.Sin(sinTime) / 2, dist / 2); + if (character.AnimController.InWater) + { + var torso = character.AnimController.GetLimb(LimbType.Torso); + // Turn facing the target when not moving (handled in the animcontroller if not moving) + Vector2 mousePos = ConvertUnits.ToSimUnits(character.CursorPosition); + Vector2 diff = (mousePos - torso.SimPosition) * character.AnimController.Dir; + float newRotation = MathUtils.VectorToAngle(diff); + character.AnimController.Collider.SmoothRotate(newRotation, 5.0f); + + if (VectorExtensions.Angle(VectorExtensions.Forward(torso.body.TransformedRotation), fromCharacterToLeak) < MathHelper.PiOver4) + { + // Swim past + Vector2 moveDir = leak.IsHorizontal ? Vector2.UnitY : Vector2.UnitX; + moveDir *= character.AnimController.Dir; + character.AIController.SteeringManager.SteeringManual(deltaTime, moveDir); + } + } } } - sinTime += deltaTime; - character.CursorPosition = leak.Position + VectorExtensions.Forward(Item.body.TransformedRotation + (float)Math.Sin(sinTime), dist); if (item.RequireAimToUse) { bool isOperatingButtons = false; @@ -520,13 +539,33 @@ namespace Barotrauma.Items.Components { character.SetInput(InputType.Aim, false, true); } + bool isAiming = false; + var holdable = item.GetComponent(); + if (holdable != null) + { + isAiming = holdable.ControlPose; + } + sinTime = isAiming ? sinTime + deltaTime * 5 : 0; } // Press the trigger only when the tool is approximately facing the target. + Vector2 fromItemToLeak = leak.WorldPosition - item.WorldPosition; var angle = VectorExtensions.Angle(VectorExtensions.Forward(item.body.TransformedRotation), fromItemToLeak); if (angle < MathHelper.PiOver4) { - character.SetInput(InputType.Shoot, false, true); - Use(deltaTime, character); + // Check that we don't hit any friendlies + if (Submarine.PickBodies(item.SimPosition, leak.SimPosition, collisionCategory: Physics.CollisionCharacter).None(hit => + { + if (hit.UserData is Character c) + { + if (c == character) { return false; } + return HumanAIController.IsFriendly(character, c); + } + return false; + })) + { + character.SetInput(InputType.Shoot, false, true); + Use(deltaTime, character); + } } bool leakFixed = (leak.Open <= 0.0f || leak.Removed) && @@ -534,7 +573,6 @@ namespace Barotrauma.Items.Components if (leakFixed && leak.FlowTargetHull != null) { - sinTime = 0; if (!leak.FlowTargetHull.ConnectedGaps.Any(g => !g.IsRoomToRoom && g.Open > 0.0f)) { diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs index 0bedaa73c..a7adf639f 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs @@ -44,8 +44,9 @@ namespace Barotrauma.Items.Components public bool WasUsed; public readonly Dictionary> statusEffectLists; - + public Dictionary> requiredItems; + public readonly List DisabledRequiredItems = new List(); public List requiredSkills; @@ -271,19 +272,7 @@ namespace Barotrauma.Items.Components break; case "requireditem": case "requireditems": - RelatedItem ri = RelatedItem.Load(subElement, item.Name); - if (ri != null) - { - if (!requiredItems.ContainsKey(ri.Type)) - { - requiredItems.Add(ri.Type, new List()); - } - requiredItems[ri.Type].Add(ri); - } - else - { - DebugConsole.ThrowError("Error in item config \"" + item.ConfigFile + "\" - component " + GetType().ToString() + " requires an item with no identifiers."); - } + SetRequiredItems(subElement); break; case "requiredskill": case "requiredskills": @@ -323,6 +312,34 @@ namespace Barotrauma.Items.Components } } + public void SetRequiredItems(XElement element) + { + bool returnEmpty = false; +#if CLIENT + returnEmpty = Screen.Selected == GameMain.SubEditorScreen; +#endif + RelatedItem ri = RelatedItem.Load(element, returnEmpty, item.Name); + if (ri != null) + { + if (ri.Identifiers.Length == 0) + { + DisabledRequiredItems.Add(ri); + } + else + { + if (!requiredItems.ContainsKey(ri.Type)) + { + requiredItems.Add(ri.Type, new List()); + } + requiredItems[ri.Type].Add(ri); + } + } + else + { + DebugConsole.ThrowError("Error in item config \"" + item.ConfigFile + "\" - component " + GetType().ToString() + " requires an item with no identifiers."); + } + } + public virtual void Move(Vector2 amount) { } /// a Character has picked the item @@ -762,6 +779,12 @@ namespace Barotrauma.Items.Components componentElement.Add(newElement); } } + foreach (RelatedItem ri in DisabledRequiredItems) + { + XElement newElement = new XElement("requireditem"); + ri.Save(newElement); + componentElement.Add(newElement); + } SerializableProperty.SerializeProperties(this, componentElement); @@ -783,12 +806,16 @@ namespace Barotrauma.Items.Components var prevRequiredItems = new Dictionary>(requiredItems); requiredItems.Clear(); + bool returnEmptyRequirements = false; +#if CLIENT + returnEmptyRequirements = Screen.Selected == GameMain.SubEditorScreen; +#endif foreach (XElement subElement in element.Elements()) { switch (subElement.Name.ToString().ToLowerInvariant()) { case "requireditem": - RelatedItem newRequiredItem = RelatedItem.Load(subElement, item.Name); + RelatedItem newRequiredItem = RelatedItem.Load(subElement, returnEmptyRequirements, item.Name); if (newRequiredItem == null) continue; var prevRequiredItem = prevRequiredItems.ContainsKey(newRequiredItem.Type) ? diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemContainer.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemContainer.cs index dbd110d73..eca6c032a 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemContainer.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemContainer.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; +using Barotrauma.Extensions; namespace Barotrauma.Items.Components { @@ -54,20 +55,44 @@ namespace Barotrauma.Items.Components [Serialize(5, false, description: "How many inventory slots the inventory has per row.")] public int SlotsPerRow { get; set; } - public List ContainableItems { get; private set; } + private HashSet containableRestrictions = new HashSet(); + [Editable, Serialize("", true, description: "Define items (by identifiers or tags) that bots should place inside this container. If empty, no restrictions are applied.")] + public string ContainableRestrictions + { + get { return string.Join(",", containableRestrictions); } + set + { + StringFormatter.ParseCommaSeparatedStringToCollection(value, containableRestrictions); + } + } + + public bool ShouldBeContained(string[] identifiersOrTags, out bool isRestrictionsDefined) + { + isRestrictionsDefined = containableRestrictions.Any(); + if (!isRestrictionsDefined) { return true; } + return identifiersOrTags.Any(id => containableRestrictions.Any(r => r == id)); + } + + public bool ShouldBeContained(Item item, out bool isRestrictionsDefined) + { + isRestrictionsDefined = containableRestrictions.Any(); + if (!isRestrictionsDefined) { return true; } + return containableRestrictions.Any(id => item.Prefab.Identifier == id || item.HasTag(id)); + } + + public List ContainableItems { get; private set; } = new List(); public ItemContainer(Item item, XElement element) : base (item, element) { - Inventory = new ItemInventory(item, this, capacity, SlotsPerRow); - ContainableItems = new List(); + Inventory = new ItemInventory(item, this, capacity, SlotsPerRow); foreach (XElement subElement in element.Elements()) { switch (subElement.Name.ToString().ToLowerInvariant()) { case "containable": - RelatedItem containable = RelatedItem.Load(subElement, item.Name); + RelatedItem containable = RelatedItem.Load(subElement, returnEmpty: false, parentDebugName: item.Name); if (containable == null) { DebugConsole.ThrowError("Error in item config \"" + item.ConfigFile + "\" - containable with no identifiers."); diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs index 4c0291752..677f6aac8 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs @@ -34,6 +34,7 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); var containers = item.GetComponents().ToList(); if (containers.Count < 2) { @@ -59,7 +60,7 @@ namespace Barotrauma.Items.Components return; } - hasPower = voltage >= minVoltage; + hasPower = Voltage >= MinVoltage; if (!hasPower) { return; } var repairable = item.GetComponent(); @@ -70,10 +71,8 @@ namespace Barotrauma.Items.Components ApplyStatusEffects(ActionType.OnActive, deltaTime, null); - if (powerConsumption == 0.0f) { voltage = 1.0f; } - - progressTimer += deltaTime * voltage; - Voltage -= deltaTime * 10.0f; + if (powerConsumption <= 0.0f) { Voltage = 1.0f; } + progressTimer += deltaTime * Voltage; var targetItem = inputContainer.Inventory.Items.LastOrDefault(i => i != null); if (targetItem == null) { return; } @@ -99,7 +98,7 @@ namespace Barotrauma.Items.Components float condition = deconstructProduct.CopyCondition ? percentageHealth * itemPrefab.Health : itemPrefab.Health * deconstructProduct.OutCondition; - + //container full, drop the items outside the deconstructor if (emptySlots <= 0) { @@ -111,7 +110,7 @@ namespace Barotrauma.Items.Components emptySlots--; } } - + if (GameMain.NetworkMember == null || GameMain.NetworkMember.IsServer) { if (targetItem.Prefab.DeconstructItems.Any()) @@ -149,8 +148,6 @@ namespace Barotrauma.Items.Components progressState = 0.0f; } } - - voltage -= deltaTime * 10.0f; } private void PutItemsToLinkedContainer() diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Engine.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Engine.cs index 2f3d61d1a..5de4f1f7f 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Engine.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Engine.cs @@ -50,7 +50,7 @@ namespace Barotrauma.Items.Components public float CurrentVolume { - get { return Math.Abs((force / 100.0f) * (minVoltage <= 0.0f ? 1.0f : Math.Min(prevVoltage / minVoltage, 1.0f))); } + get { return Math.Abs((force / 100.0f) * (MinVoltage <= 0.0f ? 1.0f : Math.Min(prevVoltage / MinVoltage, 1.0f))); } } public Engine(Item item, XElement element) @@ -83,15 +83,15 @@ namespace Barotrauma.Items.Components //pumps consume more power when in a bad condition currPowerConsumption *= MathHelper.Lerp(2.0f, 1.0f, item.Condition / item.MaxCondition); - if (powerConsumption == 0.0f) voltage = 1.0f; + if (powerConsumption == 0.0f) { Voltage = 1.0f; } - prevVoltage = voltage; - hasPower = voltage > minVoltage; + prevVoltage = Voltage; + hasPower = Voltage > MinVoltage; - Force = MathHelper.Lerp(force, (voltage < minVoltage) ? 0.0f : targetForce, 0.1f); + Force = MathHelper.Lerp(force, (Voltage < MinVoltage) ? 0.0f : targetForce, 0.1f); if (Math.Abs(Force) > 1.0f) { - Vector2 currForce = new Vector2((force / 10.0f) * maxForce * Math.Min(voltage / minVoltage, 1.0f), 0.0f); + Vector2 currForce = new Vector2((force / 10.0f) * maxForce * Math.Min(Voltage / MinVoltage, 1.0f), 0.0f); //less effective when in a bad condition currForce *= MathHelper.Lerp(0.5f, 2.0f, item.Condition / item.MaxCondition); @@ -119,8 +119,6 @@ namespace Barotrauma.Items.Components } #endif } - - voltage -= deltaTime; } private void UpdatePropellerDamage(float deltaTime) @@ -172,5 +170,16 @@ namespace Barotrauma.Items.Components } } } + + public override XElement Save(XElement parentElement) + { + Vector2 prevPropellerPos = PropellerPos; + //undo flipping before saving + if (item.FlippedX) { PropellerPos = new Vector2(-PropellerPos.X, PropellerPos.Y); } + if (item.FlippedY) { PropellerPos = new Vector2(PropellerPos.X, -PropellerPos.Y); } + XElement element = base.Save(parentElement); + PropellerPos = prevPropellerPos; + return element; + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs index 73e41e196..01a21467b 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs @@ -70,6 +70,7 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); var containers = item.GetComponents().ToList(); if (containers.Count < 2) { @@ -199,7 +200,7 @@ namespace Barotrauma.Items.Components progressState = fabricatedItem == null ? 0.0f : (requiredTime - timeUntilReady) / requiredTime; - hasPower = voltage >= minVoltage; + hasPower = Voltage >= MinVoltage; if (!hasPower) { return; } var repairable = item.GetComponent(); @@ -210,10 +211,9 @@ namespace Barotrauma.Items.Components ApplyStatusEffects(ActionType.OnActive, deltaTime, null); - if (powerConsumption <= 0) { voltage = 1.0f; } + if (powerConsumption <= 0) { Voltage = 1.0f; } - timeUntilReady -= deltaTime * voltage; - voltage -= deltaTime * 10.0f; + timeUntilReady -= deltaTime * Voltage; if (timeUntilReady > 0.0f) { return; } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/MiniMap.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/MiniMap.cs index 627e7b1b1..667793f6e 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/MiniMap.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/MiniMap.cs @@ -75,13 +75,11 @@ namespace Barotrauma.Items.Components currPowerConsumption = powerConsumption; currPowerConsumption *= MathHelper.Lerp(2.0f, 1.0f, item.Condition / item.MaxCondition); - hasPower = voltage > minVoltage; + hasPower = Voltage > MinVoltage; if (hasPower) { ApplyStatusEffects(ActionType.OnActive, deltaTime, null); } - - voltage -= deltaTime; } public override bool Pick(Character picker) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/OxygenGenerator.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/OxygenGenerator.cs index 702ee23cb..3334b018c 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/OxygenGenerator.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/OxygenGenerator.cs @@ -46,12 +46,12 @@ namespace Barotrauma.Items.Components if (powerConsumption <= 0.0f) { - voltage = 1.0f; + Voltage = 1.0f; } if (item.CurrentHull == null) return; - if (voltage < minVoltage) + if (Voltage < MinVoltage) { powerDownTimer += deltaTime; return; @@ -61,7 +61,7 @@ namespace Barotrauma.Items.Components powerDownTimer = 0.0f; } - CurrFlow = Math.Min(voltage, 1.0f) * generatedAmount * 100.0f; + CurrFlow = Math.Min(Voltage, 1.0f) * generatedAmount * 100.0f; //less effective when in bad condition float conditionMult = item.Condition / item.MaxCondition; @@ -71,8 +71,6 @@ namespace Barotrauma.Items.Components CurrFlow *= conditionMult * conditionMult; UpdateVents(CurrFlow); - - voltage -= deltaTime; } public override void UpdateBroken(float deltaTime, Camera cam) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Pump.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Pump.cs index 5bf8dcc7f..862b767c1 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Pump.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Pump.cs @@ -76,7 +76,7 @@ namespace Barotrauma.Items.Components //pumps consume more power when in a bad condition currPowerConsumption *= MathHelper.Lerp(2.0f, 1.0f, item.Condition / item.MaxCondition); - if (voltage < minVoltage) { return; } + if (Voltage < MinVoltage) { return; } UpdateProjSpecific(deltaTime); @@ -86,7 +86,7 @@ namespace Barotrauma.Items.Components if (item.CurrentHull == null) { return; } - float powerFactor = currPowerConsumption <= 0.0f ? 1.0f : voltage; + float powerFactor = currPowerConsumption <= 0.0f ? 1.0f : Voltage; currFlow = flowPercentage / 100.0f * maxFlow * powerFactor; //less effective when in a bad condition @@ -94,8 +94,6 @@ namespace Barotrauma.Items.Components item.CurrentHull.WaterVolume += currFlow; if (item.CurrentHull.WaterVolume > item.CurrentHull.Volume) { item.CurrentHull.Pressure += 0.5f; } - - voltage -= deltaTime; } partial void UpdateProjSpecific(float deltaTime); @@ -124,7 +122,7 @@ namespace Barotrauma.Items.Components { if (float.TryParse(signal, NumberStyles.Any, CultureInfo.InvariantCulture, out float tempTarget)) { - targetLevel = MathHelper.Clamp((tempTarget + 100.0f) / 2.0f, 0.0f, 100.0f); + targetLevel = MathHelper.Clamp(tempTarget + 50.0f, 0.0f, 100.0f); controlLockTimer = 0.1f; } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Reactor.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Reactor.cs index 76879e86e..351ff33c9 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Reactor.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Reactor.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; +using Barotrauma.Extensions; namespace Barotrauma.Items.Components { @@ -35,6 +36,7 @@ namespace Barotrauma.Items.Components private float maxPowerOutput; + private Queue loadQueue = new Queue(); private float load; private bool unsentChanges; @@ -165,7 +167,10 @@ namespace Barotrauma.Items.Components private float prevAvailableFuel; public float AvailableFuel { get; set; } - + + private readonly string[] fuelTags = new string[1] { "reactorfuel" }; + + public Reactor(Item item, XElement element) : base(item, element) { @@ -267,8 +272,7 @@ namespace Barotrauma.Items.Components { UpdateAutoTemp(2.0f, deltaTime); } - - load = 0.0f; + float currentLoad = 0.0f; List connections = item.Connections; if (connections != null && connections.Count > 0) { @@ -284,13 +288,20 @@ namespace Barotrauma.Items.Components //calculate how much external power there is in the grid //(power coming from somewhere else than this reactor, e.g. batteries) - float externalPower = Math.Max(CurrPowerConsumption - pt.CurrPowerConsumption, 0); + float externalPower = Math.Max(CurrPowerConsumption - pt.CurrPowerConsumption, 0) * 0.95f; //reduce the external power from the load to prevent overloading the grid - load = Math.Max(load, pt.PowerLoad - externalPower); + currentLoad = Math.Max(currentLoad, pt.PowerLoad - externalPower); } } } + loadQueue.Enqueue(currentLoad); + while (loadQueue.Count() > 60.0f) + { + load = loadQueue.Average(); + loadQueue.Dequeue(); + } + if (fissionRate > 0.0f) { foreach (Item item in item.ContainedItems) @@ -505,6 +516,19 @@ namespace Barotrauma.Items.Components return picker != null; } + private int itemIndex; + private List ignoredContainers = new List(); + private bool FindSuitableContainer(Character character, Func priority, out Item suitableContainer) + { + suitableContainer = null; + if (character.FindItem(ref itemIndex, out Item targetContainer, ignoredItems: ignoredContainers, customPriorityFunction: priority)) + { + suitableContainer = targetContainer; + return true; + } + return false; + } + public override bool AIOperate(float deltaTime, Character character, AIObjectiveOperateItem objective) { if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient) { return false; } @@ -516,13 +540,56 @@ namespace Barotrauma.Items.Components //characters with insufficient skill levels don't refuel the reactor if (degreeOfSuccess > 0.2f) { - //remove used-up fuel from the reactor - var containedItems = item.ContainedItems; - foreach (Item item in containedItems) + if (objective.SubObjectives.None()) { - if (item != null && item.Condition <= 0.0f) + var containedItems = item.ContainedItems; + foreach (Item fuelRod in containedItems) { - item.Drop(character); + if (fuelRod != null && fuelRod.Condition <= 0.0f) + { + if (!FindSuitableContainer(character, + i => + { + var container = i.GetComponent(); + if (container == null) { return 0; } + if (container.Inventory.IsFull()) { return 0; } + if (container.ShouldBeContained(fuelRod, out bool isRestrictionsDefined)) + { + if (isRestrictionsDefined) + { + return 3; + } + else + { + if (fuelRod.Prefab.IsContainerPreferred(container, out bool isPreferencesDefined)) + { + return isPreferencesDefined ? 2 : 1; + } + else + { + return isPreferencesDefined ? 0 : 1; + } + } + } + else + { + return 0; + } + }, out Item targetContainer)) + { + return false; + } + var decontainObjective = new AIObjectiveDecontainItem(character, fuelRod, item.GetComponent(), objective.objectiveManager, targetContainer?.GetComponent()); + decontainObjective.Abandoned += () => + { + itemIndex = 0; + if (targetContainer != null) + { + ignoredContainers.Add(targetContainer); + } + }; + objective.AddSubObjectiveInQueue(decontainObjective); + } } } @@ -535,31 +602,33 @@ namespace Barotrauma.Items.Components //load more fuel if the current maximum output is only 50% of the current load if (NeedMoreFuel(minimumOutputRatio: 0.5f)) { - var containFuelObjective = new AIObjectiveContainItem(character, new string[] { "fuelrod", "reactorfuel" }, item.GetComponent(), objective.objectiveManager) - { - targetItemCount = item.ContainedItems.Count(i => i != null && i.Prefab.Identifier == "fuelrod" || i.HasTag("reactorfuel")) + 1, - GetItemPriority = (Item fuelItem) => - { - if (fuelItem.ParentInventory?.Owner is Item) - { - //don't take fuel from other reactors - if (((Item)fuelItem.ParentInventory.Owner).GetComponent() != null) return 0.0f; - } - return 1.0f; - } - }; - objective.AddSubObjective(containFuelObjective); - - character?.Speak(TextManager.Get("DialogReactorFuel"), null, 0.0f, "reactorfuel", 30.0f); - aiUpdateTimer = AIUpdateInterval; + if (objective.SubObjectives.None()) + { + var containFuelObjective = new AIObjectiveContainItem(character, fuelTags, item.GetComponent(), objective.objectiveManager) + { + targetItemCount = item.ContainedItems.Count(i => i != null && fuelTags.Any(t => i.Prefab.Identifier == t || i.HasTag(t))) + 1, + GetItemPriority = (Item fuelItem) => + { + if (fuelItem.ParentInventory?.Owner is Item) + { + //don't take fuel from other reactors + if (((Item)fuelItem.ParentInventory.Owner).GetComponent() != null) return 0.0f; + } + return 1.0f; + } + }; + containFuelObjective.Abandoned += () => objective.Abandon = true; + objective.AddSubObjective(containFuelObjective); + character?.Speak(TextManager.Get("DialogReactorFuel"), null, 0.0f, "reactorfuel", 30.0f); + } return false; } else if (TooMuchFuel()) { foreach (Item item in item.ContainedItems) { - if (item != null && item.HasTag("reactorfuel")) + if (item != null && fuelTags.Any(t => item.Prefab.Identifier == t || item.HasTag(t))) { if (!character.Inventory.TryPutItem(item, character, allowedSlots: item.AllowedSlots)) { @@ -577,22 +646,28 @@ namespace Barotrauma.Items.Components } LastUser = lastAIUser = character; - + + bool prevAutoTemp = autoTemp; + bool prevShutDown = shutDown; + float prevFissionRate = targetFissionRate; + float prevTurbineOutput = targetTurbineOutput; + switch (objective.Option.ToLowerInvariant()) { case "powerup": shutDown = false; - //characters with insufficient skill levels simply set the autotemp on instead of trying to adjust the temperature manually - if (degreeOfSuccess < 0.5f) + if (objective.Override || !autoTemp) { - if (!autoTemp) unsentChanges = true; - AutoTemp = true; - } - else - { - AutoTemp = false; - unsentChanges = true; - UpdateAutoTemp(MathHelper.Lerp(0.5f, 2.0f, degreeOfSuccess), 1.0f); + //characters with insufficient skill levels simply set the autotemp on instead of trying to adjust the temperature manually + if (degreeOfSuccess < 0.5f) + { + AutoTemp = true; + } + else + { + AutoTemp = false; + UpdateAutoTemp(MathHelper.Lerp(0.5f, 2.0f, degreeOfSuccess), 1.0f); + } } #if CLIENT onOffSwitch.BarScroll = 0.0f; @@ -604,11 +679,6 @@ namespace Barotrauma.Items.Components #if CLIENT onOffSwitch.BarScroll = 1.0f; #endif - if (AutoTemp || !shutDown || targetFissionRate > 0.0f || targetTurbineOutput > 0.0f) - { - unsentChanges = true; - } - AutoTemp = false; shutDown = true; targetFissionRate = 0.0f; @@ -616,6 +686,14 @@ namespace Barotrauma.Items.Components break; } + if (autoTemp != prevAutoTemp || + prevShutDown != shutDown || + Math.Abs(prevFissionRate - targetFissionRate) > 1.0f || + Math.Abs(prevTurbineOutput - targetTurbineOutput) > 1.0f) + { + unsentChanges = true; + } + aiUpdateTimer = AIUpdateInterval; return false; diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Sonar.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Sonar.cs index e349fa50e..4c45431d0 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Sonar.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Sonar.cs @@ -162,7 +162,7 @@ namespace Barotrauma.Items.Components if (currentMode == Mode.Active) { - if ((voltage >= minVoltage || powerConsumption <= 0.0f) && + if ((Voltage >= MinVoltage) && (!UseTransducers || connectedTransducers.Count > 0)) { if (currentPingIndex != -1) @@ -201,7 +201,6 @@ namespace Barotrauma.Items.Components { item.AiTarget.SectorDegrees = 360.0f; } - currentPingIndex = -1; aiPingCheckPending = false; } } @@ -235,6 +234,7 @@ namespace Barotrauma.Items.Components protected override void RemoveComponentSpecific() { + base.RemoveComponentSpecific(); sonarBlip?.Remove(); pingCircle?.Remove(); directionalPingCircle?.Remove(); @@ -247,6 +247,7 @@ namespace Barotrauma.Items.Components { if (currentMode == Mode.Passive || !aiPingCheckPending) return false; + // TODO: Don't create new collections here Dictionary> targetGroups = new Dictionary>(); foreach (Character c in Character.CharacterList) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/SonarTransducer.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/SonarTransducer.cs index 927ebbf9c..58a0799d3 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/SonarTransducer.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/SonarTransducer.cs @@ -20,7 +20,7 @@ namespace Barotrauma.Items.Components { UpdateOnActiveEffects(deltaTime); - if (voltage >= minVoltage || PowerConsumption <= 0.0f) + if (Voltage >= MinVoltage) { sendSignalTimer += deltaTime; if (sendSignalTimer > SendSignalInterval) @@ -29,8 +29,6 @@ namespace Barotrauma.Items.Components sendSignalTimer = SendSignalInterval; } } - - voltage = 0.0f; } } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs index 2c2411e1e..098478821 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs @@ -15,6 +15,13 @@ namespace Barotrauma.Items.Components private const float AutopilotRayCastInterval = 0.5f; private const float RecalculatePathInterval = 5.0f; + private const float AutopilotMinDistToPathNode = 30.0f; + + private const float AutoPilotSteeringLerp = 0.1f; + + private const float AutoPilotMaxSpeed = 0.5f; + private const float AIPilotMaxSpeed = 1.0f; + private Vector2 currVelocity; private Vector2 targetVelocity; @@ -162,6 +169,7 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); sonar = item.GetComponent(); } @@ -209,7 +217,7 @@ namespace Barotrauma.Items.Components currPowerConsumption = powerConsumption; - if (voltage < minVoltage && currPowerConsumption > 0.0f) { return; } + if (Voltage < MinVoltage) { return; } if (user != null && user.Removed) { @@ -221,6 +229,12 @@ namespace Barotrauma.Items.Components if (autoPilot) { UpdateAutoPilot(deltaTime); + float userSkill = 0.0f; + if (user != null && (user.SelectedConstruction == item || item.linkedTo.Contains(user.SelectedConstruction))) + { + userSkill = user.GetSkillLevel("helm") / 100.0f; + } + targetVelocity = targetVelocity.ClampLength(MathHelper.Lerp(AutoPilotMaxSpeed, AIPilotMaxSpeed, userSkill) * 100.0f); } else { @@ -253,8 +267,6 @@ namespace Barotrauma.Items.Components targetLevel += (neutralBallastLevel - 0.5f) * 100.0f; item.SendSignal(0, targetLevel.ToString(CultureInfo.InvariantCulture), "velocity_y_out", null); - - voltage -= deltaTime; } private void UpdateAutoPilot(float deltaTime) @@ -262,7 +274,8 @@ namespace Barotrauma.Items.Components if (controlledSub == null) return; if (posToMaintain != null) { - SteerTowardsPosition((Vector2)posToMaintain); + Vector2 steeringVel = GetSteeringVelocity((Vector2)posToMaintain); + TargetVelocity = Vector2.Lerp(TargetVelocity, steeringVel, AutoPilotSteeringLerp); return; } @@ -284,7 +297,7 @@ namespace Barotrauma.Items.Components //if the node is close enough, check if it's visible float lengthSqr = diff.LengthSquared(); - if (lengthSqr > 0.001f && lengthSqr < 500.0f) + if (lengthSqr > 0.001f && lengthSqr < AutopilotMinDistToPathNode * AutopilotMinDistToPathNode) { diff = Vector2.Normalize(diff); @@ -298,11 +311,11 @@ namespace Barotrauma.Items.Components Vector2 cornerPos = new Vector2(controlledSub.Borders.Width * x, controlledSub.Borders.Height * y) / 2.0f; - cornerPos = ConvertUnits.ToSimUnits(cornerPos * 1.2f + controlledSub.WorldPosition); + cornerPos = ConvertUnits.ToSimUnits(cornerPos * 1.1f + controlledSub.WorldPosition); float dist = Vector2.Distance(cornerPos, steeringPath.NextNode.SimPosition); - if (Submarine.PickBody(cornerPos, cornerPos + diff * dist, null, Physics.CollisionLevel) == null) continue; + if (Submarine.PickBody(cornerPos, cornerPos + diff * dist, null, Physics.CollisionLevel) == null) { continue; } nextVisible = false; x = 2; @@ -313,19 +326,18 @@ namespace Barotrauma.Items.Components if (nextVisible) steeringPath.SkipToNextNode(); } - - autopilotRayCastTimer = AutopilotRayCastInterval; } + Vector2 newVelocity = Vector2.Zero; if (steeringPath.CurrentNode != null) { - SteerTowardsPosition(steeringPath.CurrentNode.WorldPosition); + newVelocity = GetSteeringVelocity(steeringPath.CurrentNode.WorldPosition); } Vector2 avoidDist = new Vector2( - Math.Max(1000.0f * Math.Abs(controlledSub.Velocity.X), controlledSub.Borders.Width * 1.5f), - Math.Max(1000.0f * Math.Abs(controlledSub.Velocity.Y), controlledSub.Borders.Height * 1.5f)); + Math.Max(1000.0f * Math.Abs(controlledSub.Velocity.X), controlledSub.Borders.Width * 0.75f), + Math.Max(1000.0f * Math.Abs(controlledSub.Velocity.Y), controlledSub.Borders.Height * 0.75f)); float avoidRadius = avoidDist.Length(); @@ -356,22 +368,22 @@ namespace Barotrauma.Items.Components 0.0f : Vector2.Dot(controlledSub.Velocity, -normalizedDiff); //not heading towards the wall -> ignore - if (dot < 0.5) + if (dot < 1.0) { debugDrawObstacles.Add(new ObstacleDebugInfo(edge, intersection, dot, Vector2.Zero, cell.Translation)); continue; } - Vector2 change = (normalizedDiff * Math.Max((avoidRadius - diff.Length()), 0.0f)) / avoidRadius; - newAvoidStrength += change * dot; - debugDrawObstacles.Add(new ObstacleDebugInfo(edge, intersection, dot, change * dot, cell.Translation)); + Vector2 change = (normalizedDiff * Math.Max((avoidRadius - diff.Length()), 0.0f)) / avoidRadius; + if (change.LengthSquared() < 0.001f) { continue; } + newAvoidStrength += change * (dot - 1.0f); + debugDrawObstacles.Add(new ObstacleDebugInfo(edge, intersection, dot - 1.0f, change * (dot - 1.0f), cell.Translation)); } } } avoidStrength = Vector2.Lerp(avoidStrength, newAvoidStrength, deltaTime * 10.0f); - - targetVelocity += avoidStrength * 100.0f; + TargetVelocity = Vector2.Lerp(TargetVelocity, newVelocity + avoidStrength * 100.0f, AutoPilotSteeringLerp); //steer away from other subs foreach (Submarine sub in Submarine.Loaded) @@ -447,21 +459,21 @@ namespace Barotrauma.Items.Components UpdatePath(); } } - private void SteerTowardsPosition(Vector2 worldPosition) + private Vector2 GetSteeringVelocity(Vector2 worldPosition) { - float prediction = 10.0f; + float prediction = 2.0f; Vector2 futurePosition = ConvertUnits.ToDisplayUnits(controlledSub.Velocity) * prediction; Vector2 targetSpeed = ((worldPosition - controlledSub.WorldPosition) - futurePosition); - if (targetSpeed.Length() > 500.0f) + if (targetSpeed.LengthSquared() > 500.0f * 500.0f) { - targetSpeed = Vector2.Normalize(targetSpeed); - TargetVelocity = targetSpeed * 100.0f; + + return Vector2.Normalize(targetSpeed) * 100.0f; } else { - TargetVelocity = targetSpeed / 5.0f; + return targetSpeed / 5.0f; } } @@ -471,43 +483,53 @@ namespace Barotrauma.Items.Components { character.Speak(TextManager.Get("DialogSteeringTaken"), null, 0.0f, "steeringtaken", 10.0f); } - user = character; - + if (!AutoPilot) + { + unsentChanges = true; + AutoPilot = true; + } switch (objective.Option.ToLowerInvariant()) { case "maintainposition": - if (!posToMaintain.HasValue) + if (objective.Override) { - unsentChanges = true; - posToMaintain = controlledSub != null ? - controlledSub.WorldPosition : - item.Submarine == null ? item.WorldPosition : item.Submarine.WorldPosition; + if (!MaintainPos) + { + unsentChanges = true; + MaintainPos = true; + } + if (!posToMaintain.HasValue) + { + unsentChanges = true; + posToMaintain = controlledSub != null ? + controlledSub.WorldPosition : + item.Submarine == null ? item.WorldPosition : item.Submarine.WorldPosition; + } } - - if (!AutoPilot || !MaintainPos) unsentChanges = true; - - AutoPilot = true; - MaintainPos = true; break; case "navigateback": - if (!AutoPilot || MaintainPos || LevelEndSelected || !LevelStartSelected) + if (objective.Override) { - unsentChanges = true; + if (MaintainPos || LevelEndSelected || !LevelStartSelected) + { + unsentChanges = true; + } + SetDestinationLevelStart(); } - SetDestinationLevelStart(); break; case "navigatetodestination": - if (!AutoPilot || MaintainPos || !LevelEndSelected || LevelStartSelected) + if (objective.Override) { - unsentChanges = true; + if (MaintainPos || !LevelEndSelected || LevelStartSelected) + { + unsentChanges = true; + } + SetDestinationLevelEnd(); } - SetDestinationLevelEnd(); break; } - sonar?.AIOperate(deltaTime, character, objective); - return false; } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs index 55e4241d8..38487261f 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs @@ -14,7 +14,7 @@ namespace Barotrauma.Items.Components private float charge; - private float rechargeVoltage; + //private float rechargeVoltage; //how fast the battery can be recharged private float maxRechargeSpeed; @@ -28,10 +28,7 @@ namespace Barotrauma.Items.Components protected Vector2 indicatorPosition, indicatorSize; protected bool isHorizontal; - - //a list of powered devices connected directly to this item - private readonly List> directlyConnected = new List>(10); - + public float CurrPowerOutput { get; @@ -107,12 +104,18 @@ namespace Barotrauma.Items.Components if (!MathUtils.IsValid(value)) return; rechargeSpeed = MathHelper.Clamp(value, 0.0f, maxRechargeSpeed); rechargeSpeed = MathUtils.RoundTowardsClosest(rechargeSpeed, Math.Max(maxRechargeSpeed * 0.1f, 1.0f)); + if (isRunning) + { + HasBeenTuned = true; + } } } public float RechargeRatio => RechargeSpeed / MaxRechargeSpeed; public const float aiRechargeTargetRatio = 0.5f; + private bool isRunning; + public bool HasBeenTuned { get; private set; } public PowerContainer(Item item, XElement element) : base(item, element) @@ -131,14 +134,13 @@ namespace Barotrauma.Items.Components public override void Update(float deltaTime, Camera cam) { + isRunning = true; float chargeRatio = charge / capacity; float gridPower = 0.0f; float gridLoad = 0.0f; - directlyConnected.Clear(); - foreach (Connection c in item.Connections) { - if (c.Name == "power_in") continue; + if (!c.IsPower || !c.IsOutput) { continue; } foreach (Connection c2 in c.Recipients) { if (c2.Item.Condition <= 0.0f) { continue; } @@ -149,15 +151,13 @@ namespace Barotrauma.Items.Components foreach (Powered powered in c2.Item.GetComponents()) { if (!powered.IsActive) continue; - directlyConnected.Add(new Pair(powered, c2)); gridLoad += powered.CurrPowerConsumption; } continue; } if (!pt.IsActive || !pt.CanTransfer) { continue; } - - gridLoad += pt.PowerLoad; gridPower -= pt.CurrPowerConsumption; + gridLoad += pt.PowerLoad; } } @@ -168,66 +168,51 @@ namespace Barotrauma.Items.Components if (charge >= capacity) { - rechargeVoltage = 0.0f; + //rechargeVoltage = 0.0f; charge = capacity; - CurrPowerConsumption = 0.0f; } else { currPowerConsumption = MathHelper.Lerp(currPowerConsumption, rechargeSpeed, 0.05f); - Charge += currPowerConsumption * rechargeVoltage / 3600.0f; + Charge += currPowerConsumption * Voltage / 3600.0f; } - - //provide power to the grid - if (gridLoad > 0.0f) + + + if (charge <= 0.0f) { - if (charge <= 0.0f) - { - CurrPowerOutput = 0.0f; - charge = 0.0f; - return; - } - - if (gridPower < gridLoad) - { - //output starts dropping when the charge is less than 10% - float maxOutputRatio = 1.0f; - if (chargeRatio < 0.1f) - { - maxOutputRatio = Math.Max(chargeRatio * 10.0f, 0.0f); - } - - CurrPowerOutput = MathHelper.Lerp( - CurrPowerOutput, - Math.Min(MaxOutPut * maxOutputRatio, gridLoad), - deltaTime * 10.0f); - } - else - { - CurrPowerOutput = MathHelper.Lerp(CurrPowerOutput, 0.0f, deltaTime * 10.0f); - } - - Charge -= CurrPowerOutput / 3600.0f; + CurrPowerOutput = 0.0f; + charge = 0.0f; + return; } - 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) + //output starts dropping when the charge is less than 10% + float maxOutputRatio = 1.0f; + if (chargeRatio < 0.1f) { - connected.First.ReceiveSignal(0, "", connected.Second, source: item, sender: null, - power: gridLoad <= 0.0f ? 1.0f : CurrPowerOutput / gridLoad); + maxOutputRatio = Math.Max(chargeRatio * 10.0f, 0.0f); } - rechargeVoltage = 0.0f; + CurrPowerOutput += (gridLoad - gridPower) * deltaTime; + + float maxOutput = Math.Min(MaxOutPut * maxOutputRatio, gridLoad); + CurrPowerOutput = MathHelper.Clamp(CurrPowerOutput, 0.0f, maxOutput); + Charge -= CurrPowerOutput / 3600.0f; + + item.SendSignal(0, ((int)Math.Round(Charge)).ToString(), "charge", null); + item.SendSignal(0, ((int)Math.Round((Charge / capacity) * 100)).ToString(), "charge_%", null); + item.SendSignal(0, ((int)Math.Round((RechargeSpeed / maxRechargeSpeed) * 100)).ToString(), "charge_rate", null); } public override bool AIOperate(float deltaTime, Character character, AIObjectiveOperateItem objective) { -#if CLIENT - if (GameMain.Client != null) return false; -#endif + if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient) { return false; } + + if (objective.Override) + { + HasBeenTuned = false; + } + if (HasBeenTuned) { return true; } if (string.IsNullOrEmpty(objective.Option) || objective.Option.ToLowerInvariant() == "charge") { @@ -274,6 +259,8 @@ namespace Barotrauma.Items.Components public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power, float signalStrength = 1.0f) { + if (connection.IsPower) { return; } + if (connection.Name == "set_rate") { if (float.TryParse(signal, NumberStyles.Any, CultureInfo.InvariantCulture, out float tempSpeed)) @@ -290,12 +277,6 @@ namespace Barotrauma.Items.Components #endif } } - if (!connection.IsPower) { return; } - - if (connection.Name == "power_in") - { - rechargeVoltage = Math.Min(power, 1.0f); - } } } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerTransfer.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerTransfer.cs index 8713a7ef6..7d6e347ee 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerTransfer.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerTransfer.cs @@ -8,37 +8,21 @@ namespace Barotrauma.Items.Components { partial class PowerTransfer : Powered { - private static float fullPower; - private static float fullLoad; + public List PowerConnections { get; private set; } - private int updateCount; - - //affects how fast changes in power/load are carried over the grid - static float inertia = 5.0f; - - private static HashSet connectedList = new HashSet(); - private List powerConnections; - public List PowerConnections - { - get - { - return powerConnections; - } - } - - - private Dictionary connectionDirty = new Dictionary(); + private readonly Dictionary connectionDirty = new Dictionary(); //a list of connections a given connection is connected to, either directly or via other power transfer components - private Dictionary> connectedRecipients = new Dictionary>(); + private readonly Dictionary> connectedRecipients = new Dictionary>(); - private float powerLoad; + protected float powerLoad; - private bool isBroken; + protected bool isBroken; public float PowerLoad { get { return powerLoad; } + set { powerLoad = value; } } [Editable, Serialize(true, true, description: "Can the item be damaged if too much power is supplied to the power grid.")] @@ -145,97 +129,43 @@ namespace Barotrauma.Items.Components SetAllConnectionsDirty(); isBroken = false; } - - if (updateCount > 0) + + ApplyStatusEffects(ActionType.OnActive, deltaTime, null); + + //if the item can't be fixed, don't allow it to break + if (!item.Repairables.Any() || !CanBeOverloaded) { return; } + + float maxOverVoltage = Math.Max(OverloadVoltage, 1.0f); + Overload = -currPowerConsumption > Math.Max(powerLoad, 200.0f) * maxOverVoltage; + if (Overload && (GameMain.NetworkMember == null || GameMain.NetworkMember.IsServer)) { - //this junction box has already been updated this frame - updateCount--; - return; - } + //damage the item if voltage is too high (except if running as a client) + float prevCondition = item.Condition; + item.Condition -= deltaTime * 10.0f; - Overload = false; - - //reset and recalculate the power generated/consumed - //by the constructions connected to the grid - fullPower = 0.0f; - fullLoad = 0.0f; - - connectedList.Clear(); - - updateCount = 0; - CheckJunctions(deltaTime); - - foreach (Powered p in connectedList) - { - PowerTransfer pt = p as PowerTransfer; - if (pt == null || pt.updateCount == 0) { continue; } - - if (pt is RelayComponent != this is RelayComponent) { continue; } - - pt.Overload = false; - pt.powerLoad += (fullLoad - pt.powerLoad) / inertia; - pt.currPowerConsumption += (-fullPower - pt.currPowerConsumption) / inertia; - - float voltage = fullPower / Math.Max(fullLoad, 1.0f); - if (this is RelayComponent) - { - pt.currPowerConsumption = Math.Max(-fullLoad, pt.currPowerConsumption); - voltage = Math.Min(voltage, 1.0f); - } - - pt.Item.SendSignal(0, "", "power", null, voltage); - pt.Item.SendSignal(0, "", "power_out", null, voltage); - - //items in a bad condition are more sensitive to overvoltage - float maxOverVoltage = MathHelper.Lerp(OverloadVoltage * 0.75f, OverloadVoltage, pt.item.Condition / pt.item.MaxCondition); - maxOverVoltage = Math.Max(OverloadVoltage, 1.0f); - - //if the item can't be fixed, don't allow it to break - if (!pt.item.Repairables.Any() || !pt.CanBeOverloaded) { continue; } - - //relays don't blow up if the power is higher than load, only if the output is high enough - //(i.e. enough power passing through the relay) - if (pt is RelayComponent) { continue; } - - if (-pt.currPowerConsumption < Math.Max(pt.powerLoad, 200.0f) * maxOverVoltage) { continue; } - - pt.Overload = true; -#if CLIENT - //damage the item if voltage is too high - //(except if running as a client) - if (GameMain.Client != null) { continue; } -#endif - float prevCondition = pt.item.Condition; - pt.item.Condition -= deltaTime * 10.0f; - - if (pt.item.Condition <= 0.0f && prevCondition > 0.0f) + if (item.Condition <= 0.0f && prevCondition > 0.0f) { #if CLIENT - SoundPlayer.PlaySound("zap", item.WorldPosition, hullGuess: pt.item.CurrentHull); - + SoundPlayer.PlaySound("zap", item.WorldPosition, hullGuess: item.CurrentHull); Vector2 baseVel = Rand.Vector(300.0f); for (int i = 0; i < 10; i++) { - var particle = GameMain.ParticleManager.CreateParticle("spark", pt.item.WorldPosition, - baseVel + Rand.Vector(100.0f), 0.0f, pt.item.CurrentHull); - + var particle = GameMain.ParticleManager.CreateParticle("spark", item.WorldPosition, + baseVel + Rand.Vector(100.0f), 0.0f, item.CurrentHull); if (particle != null) particle.Size *= Rand.Range(0.5f, 1.0f); } #endif - - float currentIntensity = GameMain.GameSession?.EventManager != null ? + float currentIntensity = GameMain.GameSession?.EventManager != null ? GameMain.GameSession.EventManager.CurrentIntensity : 0.5f; - + //higher probability for fires if the current intensity is low - if (pt.FireProbability > 0.0f && - Rand.Range(0.0f, 1.0f) < MathHelper.Lerp(pt.FireProbability, pt.FireProbability * 0.1f, currentIntensity)) + if (FireProbability > 0.0f && + Rand.Range(0.0f, 1.0f) < MathHelper.Lerp(FireProbability, FireProbability * 0.1f, currentIntensity)) { - new FireSource(pt.item.WorldPosition); + new FireSource(item.WorldPosition); } } } - - updateCount = 0; } public override bool Pick(Character picker) @@ -243,7 +173,7 @@ namespace Barotrauma.Items.Components return picker != null; } - private void RefreshConnections() + protected void RefreshConnections() { var connections = item.Connections; foreach (Connection c in connections) @@ -317,102 +247,6 @@ namespace Barotrauma.Items.Components } } - //a recursive function that goes through all the junctions and adds up - //all the generated/consumed power of the constructions connected to the grid - private void CheckJunctions(float deltaTime, bool increaseUpdateCount = true, float clampPower = float.MaxValue, float clampLoad = float.MaxValue) - { - if (increaseUpdateCount) - { - updateCount = 1; - } - connectedList.Add(this); - - ApplyStatusEffects(ActionType.OnActive, deltaTime, null); - - //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) - { - var recipients = c.Recipients; - foreach (Connection recipient in recipients) - { - if (recipient?.Item == null || !recipient.IsPower) { continue; } - - Item it = recipient.Item; - if (it.Condition <= 0.0f) { continue; } - - foreach (ItemComponent ic in it.Components) - { - if (!(ic is Powered powered) || !powered.IsActive) { continue; } - if (connectedList.Contains(powered)) { continue; } - - if (powered is PowerTransfer powerTransfer) - { - RelayComponent otherRelayComponent = powerTransfer as RelayComponent; - if ((thisRelayComponent == null) == (otherRelayComponent == null)) - { - if (!powerTransfer.CanTransfer) { continue; } - powerTransfer.CheckJunctions(deltaTime, increaseUpdateCount, clampPower, clampLoad); - } - else - { - if (!powerTransfer.CanTransfer) continue; - float maxPowerIn = (thisRelayComponent != null && c.IsOutput) ? 0.0f : clampPower; - float maxPowerOut = (thisRelayComponent != null && !c.IsOutput) ? 0.0f : clampLoad; - if (maxPowerIn > 0.0f || maxPowerOut > 0.0f) - { - powerTransfer.CheckJunctions(deltaTime, false, maxPowerIn, maxPowerOut); - } - } - - continue; - } - - float addLoad = 0.0f; - float addPower = 0.0f; - if (powered is PowerContainer powerContainer) - { - if (recipient.Name == "power_in") - { - addLoad = powerContainer.CurrPowerConsumption; - } - else - { - addPower = powerContainer.CurrPowerOutput; - } - } - else - { - connectedList.Add(powered); - //positive power consumption = the construction requires power -> increase load - if (powered.CurrPowerConsumption > 0.0f) - { - addLoad = powered.CurrPowerConsumption; - } - else if (powered.CurrPowerConsumption < 0.0f) - //negative power consumption = the construction is a - //generator/battery or another junction box - { - 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; } - } - } - } - } - public void SetAllConnectionsDirty() { if (item.Connections == null) return; @@ -431,8 +265,9 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); var connections = Item.Connections; - powerConnections = connections == null ? new List() : connections.FindAll(c => c.IsPower); + PowerConnections = connections == null ? new List() : connections.FindAll(c => c.IsPower); if (connections == null) { IsActive = false; @@ -440,33 +275,45 @@ namespace Barotrauma.Items.Components } SetAllConnectionsDirty(); } - + + public override void ReceivePowerProbeSignal(Connection connection, Item source, float power) + { + //we've already received this signal + if (lastPowerProbeRecipients.Contains(this)) { return; } + lastPowerProbeRecipients.Add(this); + + if (power < 0.0f) + { + powerLoad -= power; + } + else + { + currPowerConsumption -= power; + } + powerOut?.SendPowerProbeSignal(source, power); + } + public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power, float signalStrength = 1.0f) { - if (connection.IsPower) return; - - base.ReceiveSignal(stepsTaken, signal, connection, source, sender, power); - - if (!connectedRecipients.ContainsKey(connection)) return; + if (item.Condition <= 0.0f || connection.IsPower) { return; } + if (!connectedRecipients.ContainsKey(connection)) { return; } if (connection.Name.Length > 5 && connection.Name.Substring(0, 6) == "signal") { foreach (Connection recipient in connectedRecipients[connection]) { - if (recipient.Item == item || recipient.Item == source) continue; + if (recipient.Item == item || recipient.Item == source) { continue; } foreach (ItemComponent ic in recipient.Item.Components) { //powertransfer components don't need to receive the signal in the pass-through signal connections //because we relay it straight to the connected items without going through the whole chain of junction boxes - if (ic is PowerTransfer && connection.Name.Contains("signal")) continue; + if (ic is PowerTransfer && connection.Name.Contains("signal")) { continue; } ic.ReceiveSignal(stepsTaken, signal, recipient, source, sender, 0.0f, signalStrength); } - bool broken = recipient.Item.Condition <= 0.0f; foreach (StatusEffect effect in recipient.Effects) { - if (broken && effect.type != ActionType.OnBroken) continue; recipient.Item.ApplyStatusEffect(effect, ActionType.OnUse, 1.0f, null, null, false, false); } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/Powered.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/Powered.cs index fb6627510..37c452648 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/Powered.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/Powered.cs @@ -1,6 +1,7 @@ using System; using System.Xml.Linq; using Microsoft.Xna.Framework; +using System.Collections.Generic; #if CLIENT using Barotrauma.Sounds; #endif @@ -9,25 +10,47 @@ namespace Barotrauma.Items.Components { partial class Powered : ItemComponent { - //the amount of power CURRENTLY consumed by the item - //negative values mean that the item is providing power to connected items + private static float updateTimer; + protected static float UpdateInterval = 0.2f; + + /// + /// List of all powered ItemComponents + /// + private static readonly List poweredList = new List(); + + /// + /// Items that have already received the "probe signal" that's used to distribute power and load across the grid + /// + protected static HashSet lastPowerProbeRecipients = new HashSet(); + + /// + /// The amount of power currently consumed by the item. Negative values mean that the item is providing power to connected items + /// protected float currPowerConsumption; - //current voltage of the item (load / power) - protected float voltage; + /// + /// Current voltage of the item (load / power) + /// + private float voltage; - //the minimum voltage required for the item to work - protected float minVoltage; + /// + /// The minimum voltage required for the item to work + /// + private float minVoltage; - //the maximum amount of power the item can draw from connected items + /// + /// The maximum amount of power the item can draw from connected items + /// protected float powerConsumption; + protected Connection powerIn, powerOut; + [Editable, Serialize(0.5f, true, description: "The minimum voltage required for the device to function. " + "The voltage is calculated as power / powerconsumption, meaning that a device " + "with a power consumption of 1000 kW would need at least 500 kW of power to work if the minimum voltage is set to 0.5.")] public float MinVoltage { - get { return minVoltage; } + get { return powerConsumption <= 0.0f ? 0.0f : minVoltage; } set { minVoltage = value; } } @@ -76,34 +99,32 @@ namespace Barotrauma.Items.Components public Powered(Item item, XElement element) : base(item, element) { + poweredList.Add(this); InitProjectSpecific(element); } partial void InitProjectSpecific(XElement element); - public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power = 0, float signalStrength = 1.0f) - { - if (currPowerConsumption == 0.0f) voltage = 0.0f; - if (connection.IsPower) voltage = Math.Max(0.0f, power); - } - protected void UpdateOnActiveEffects(float deltaTime) { - if (currPowerConsumption == 0.0f) + if (currPowerConsumption <= 0.0f) { //if the item consumes no power, ignore the voltage requirement and //apply OnActive statuseffects as long as this component is active - if (powerConsumption == 0.0f) + if (powerConsumption <= 0.0f) { ApplyStatusEffects(ActionType.OnActive, deltaTime, null); } return; } -#if CLIENT if (voltage > minVoltage) { ApplyStatusEffects(ActionType.OnActive, deltaTime, null); + } +#if CLIENT + if (voltage > minVoltage) + { if (!powerOnSoundPlayed && powerOnSound != null) { SoundPlayer.PlaySound(powerOnSound.Sound, item.WorldPosition, powerOnSound.Volume, powerOnSound.Range, item.CurrentHull); @@ -114,21 +135,160 @@ namespace Barotrauma.Items.Components { powerOnSoundPlayed = false; } -#else - if (voltage > minVoltage) - { - ApplyStatusEffects(ActionType.OnActive, deltaTime, null); - } #endif } public override void Update(float deltaTime, Camera cam) { UpdateOnActiveEffects(deltaTime); - - voltage = 0.0f; } + public override void OnItemLoaded() + { + if (item.Connections == null) { return; } + foreach (Connection c in item.Connections) + { + if (!c.IsPower) { continue; } + if (this is PowerTransfer pt) + { + if (c.Name == "power_in") + { + powerIn = c; + } + else if (c.Name == "power_out") + { + powerOut = c; + } + else if (c.Name == "power") + { + powerIn = powerOut = c; + } + } + else + { + if (c.IsOutput) + { + if (c.Name == "power_in") + { +#if DEBUG + DebugConsole.ThrowError($"Item \"{item.Name}\" has a power output connection called power_in. If the item is supposed to receive power through the connection, change it to an input connection."); +#else + DebugConsole.NewMessage($"Item \"{item.Name}\" has a power output connection called power_in. If the item is supposed to receive power through the connection, change it to an input connection.", Color.Orange); +#endif + } + powerOut = c; + } + else + { + if (c.Name == "power_out") + { +#if DEBUG + DebugConsole.ThrowError($"Item \"{item.Name}\" has a power input connection called power_out. If the item is supposed to output power through the connection, change it to an output connection."); +#else + DebugConsole.NewMessage($"Item \"{item.Name}\" has a power input connection called power_out. If the item is supposed to output power through the connection, change it to an output connection.", Color.Orange); +#endif + } + powerIn = c; + } + } + } + } + + public virtual void ReceivePowerProbeSignal(Connection connection, Item source, float power) { } + public static void UpdatePower(float deltaTime) + { + if (updateTimer > 0.0f) + { + updateTimer -= deltaTime; + return; + } + updateTimer = UpdateInterval; + + //reset power first + foreach (Powered powered in poweredList) + { + if (powered is PowerTransfer pt) + { + powered.CurrPowerConsumption = 0.0f; + pt.PowerLoad = 0.0f; + if (pt is RelayComponent relay) + { + relay.DisplayLoad = 0.0f; + } + } + //only reset voltage if the item has a power connector + //(other items, such as handheld devices, get power through other means and shouldn't be updated here) + if (powered.powerIn != null || powered.powerOut != null) { powered.voltage = 0.0f; } + } + + //go through all the devices that are consuming/providing power + //and send out a "probe signal" which the PowerTransfer components use to add up the grid power/load + foreach (Powered powered in poweredList) + { + if (powered is PowerTransfer) { continue; } + if (powered.currPowerConsumption > 0.0f) + { + //consuming power + lastPowerProbeRecipients.Clear(); + powered.powerIn?.SendPowerProbeSignal(powered.item, -powered.currPowerConsumption); + } + } + foreach (Powered powered in poweredList) + { + if (powered is PowerTransfer) { continue; } + else if (powered.currPowerConsumption < 0.0f) + { + //providing power + lastPowerProbeRecipients.Clear(); + powered.powerOut?.SendPowerProbeSignal(powered.item, -powered.currPowerConsumption); + } + if (powered is PowerContainer pc) + { + if (pc.CurrPowerOutput <= 0.0f) { continue; } + //providing power + lastPowerProbeRecipients.Clear(); + powered.powerOut?.SendPowerProbeSignal(powered.item, pc.CurrPowerOutput); + } + } + //go through powered items and calculate their current voltage + foreach (Powered powered in poweredList) + { + if (powered is PowerTransfer pt1 || (pt1 = powered.Item.GetComponent()) != null) + { + powered.voltage = -pt1.CurrPowerConsumption / Math.Max(pt1.PowerLoad, 1.0f); + continue; + } + if (powered.powerConsumption <= 0.0f && !(powered is PowerContainer)) + { + powered.voltage = 1.0f; + continue; + } + if (powered.powerIn == null) { continue; } + + foreach (Connection powerSource in powered.powerIn.Recipients) + { + if (!powerSource.IsPower || !powerSource.IsOutput) { continue; } + var pt = powerSource.Item.GetComponent(); + if (pt != null) + { + float voltage = -pt.CurrPowerConsumption / Math.Max(pt.PowerLoad, 1.0f); + powered.voltage = Math.Max(powered.voltage, voltage); + continue; + } + var pc = powerSource.Item.GetComponent(); + if (pc != null) + { + float voltage = -pc.CurrPowerOutput / Math.Max(powered.CurrPowerConsumption, 1.0f); + powered.voltage += voltage; + } + } + } + } + + protected override void RemoveComponentSpecific() + { + poweredList.Remove(this); + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Projectile.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Projectile.cs index ec2827d76..c9fd76605 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Projectile.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Projectile.cs @@ -416,9 +416,8 @@ namespace Barotrauma.Items.Components if (IgnoredBodies.Contains(target.Body)) { return false; } - if (target.UserData is Item) { return false; } - - if (target.CollisionCategories == Physics.CollisionCharacter && !(target.Body.UserData is Limb)) + //ignore character colliders (the projectile only hits limbs) + if (target.CollisionCategories == Physics.CollisionCharacter && target.Body.UserData is Character) { return false; } @@ -445,17 +444,52 @@ namespace Barotrauma.Items.Components if (attack != null) { attackResult = attack.DoDamageToLimb(User, limb, item.WorldPosition, 1.0f); } if (limb.character != null) { character = limb.character; } } - else if (target.Body.UserData is Structure structure) + else if (target.Body.UserData is Item targetItem) { - if (attack != null) { attackResult = attack.DoDamage(User, structure, item.WorldPosition, 1.0f); } + if (attack != null && targetItem.Prefab.DamagedByProjectiles) + { + attackResult = attack.DoDamage(User, targetItem, item.WorldPosition, 1.0f); + } + } + else if (target.Body.UserData is IDamageable damageable) + { + if (attack != null) { attackResult = attack.DoDamage(User, damageable, item.WorldPosition, 1.0f); } } if (character != null) { character.LastDamageSource = item; } if (GameMain.NetworkMember == null || GameMain.NetworkMember.IsServer) { - ApplyStatusEffects(ActionType.OnUse, 1.0f, character, target.Body.UserData as Limb, user: user); - ApplyStatusEffects(ActionType.OnImpact, 1.0f, character, target.Body.UserData as Limb, user: user); + if (target.Body.UserData is Limb targetLimb) + { + ApplyStatusEffects(ActionType.OnUse, 1.0f, character, targetLimb, user: user); + ApplyStatusEffects(ActionType.OnImpact, 1.0f, character, targetLimb, user: user); + var attack = targetLimb.attack; + if (attack != null) + { + // Apply the status effects defined in the limb's attack that was hit + foreach (var effect in attack.StatusEffects) + { + if (effect.type == ActionType.OnImpact) + { + //effect.Apply(effect.type, 1.0f, targetLimb.character, targetLimb.character, targetLimb.WorldPosition); + + if (effect.HasTargetType(StatusEffect.TargetType.This)) + { + effect.Apply(effect.type, 1.0f, targetLimb.character, targetLimb.character, targetLimb.WorldPosition); + } + if (effect.HasTargetType(StatusEffect.TargetType.NearbyItems) || + effect.HasTargetType(StatusEffect.TargetType.NearbyCharacters)) + { + var targets = new List(); + effect.GetNearbyTargets(targetLimb.WorldPosition, targets); + effect.Apply(ActionType.OnActive, 1.0f, targetLimb.character, targets); + } + + } + } + } + } #if SERVER if (GameMain.NetworkMember.IsServer) { diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/Connection.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/Connection.cs index cb9a09a9d..e029a9e9b 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/Connection.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/Connection.cs @@ -92,9 +92,7 @@ namespace Barotrauma.Items.Components foreach (XElement connectionElement in subElement.Elements()) { - if (connectionElement.Name.ToString() != element.Name.ToString()) { continue; } - - string prefabConnectionName = element.GetAttributeString("name", IsOutput ? "output" : "input"); + string prefabConnectionName = element.GetAttributeString("name", null); if (prefabConnectionName == Name) { displayNameTag = connectionElement.GetAttributeString("displayname", ""); @@ -245,31 +243,38 @@ namespace Barotrauma.Items.Components { for (int i = 0; i < MaxLinked; i++) { - if (wires[i] == null) continue; + if (wires[i] == null) { continue; } Connection recipient = wires[i].OtherConnection(this); - if (recipient == null) continue; - if (recipient.item == this.item || recipient.item == source) continue; + if (recipient == null) { continue; } + if (recipient.item == this.item || recipient.item == source) { continue; } - if (source != null && !source.LastSentSignalRecipients.Contains(recipient.item)) - { - source.LastSentSignalRecipients.Add(recipient.item); - } + source?.LastSentSignalRecipients.Add(recipient.item); foreach (ItemComponent ic in recipient.item.Components) { ic.ReceiveSignal(stepsTaken, signal, recipient, source, sender, power, signalStrength); } - bool broken = recipient.Item.Condition <= 0.0f; foreach (StatusEffect effect in recipient.Effects) { - if (broken && effect.type != ActionType.OnBroken) continue; recipient.Item.ApplyStatusEffect(effect, ActionType.OnUse, (float)Timing.Step, null, null, false, false); } } } + public void SendPowerProbeSignal(Item source, float power) + { + for (int i = 0; i < MaxLinked; i++) + { + if (wires[i] == null) { continue; } + + Connection recipient = wires[i].OtherConnection(this); + if (recipient == null) { continue; } + + recipient.item.GetComponent()?.ReceivePowerProbeSignal(recipient, source, power); + } + } public void ClearConnections() { for (int i = 0; i < MaxLinked; i++) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/FunctionComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/FunctionComponent.cs new file mode 100644 index 000000000..77bd2edb1 --- /dev/null +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/FunctionComponent.cs @@ -0,0 +1,57 @@ +using System; +using System.Globalization; +using System.Xml.Linq; + +namespace Barotrauma.Items.Components +{ + class FunctionComponent : ItemComponent + { + public enum FunctionType + { + Round, + Ceil, + Floor, + Factorial + } + + [Serialize(FunctionType.Round, false, description: "Which kind of function to run the input through.")] + public FunctionType Function + { + get; set; + } + + public FunctionComponent(Item item, XElement element) + : base(item, element) + { + IsActive = true; + } + + public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power = 0, float signalStrength = 1) + { + float.TryParse(signal, out float value); + switch (Function) + { + case FunctionType.Round: + item.SendSignal(0, Math.Round(value).ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + break; + case FunctionType.Ceil: + item.SendSignal(0, Math.Ceiling(value).ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + break; + case FunctionType.Floor: + item.SendSignal(0, Math.Floor(value).ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + break; + case FunctionType.Factorial: + int intVal = (int)Math.Min(value, 20); + ulong factorial = 1; + for (int i = intVal; i > 0; i--) + { + factorial *= (ulong)i; + } + item.SendSignal(0, factorial.ToString(), "signal_out", null); + break; + default: + throw new NotImplementedException($"Function {Function} has not been implemented."); + } + } + } +} diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs index 3aa438c7e..0f7a815d0 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs @@ -216,19 +216,12 @@ namespace Barotrauma.Items.Components #endif } - if (powerConsumption == 0.0f) - { - voltage = 1.0f; - } - else - { - currPowerConsumption = powerConsumption; - } + currPowerConsumption = powerConsumption; - if (Rand.Range(0.0f, 1.0f) < 0.05f && voltage < Rand.Range(0.0f, minVoltage)) + if (Rand.Range(0.0f, 1.0f) < 0.05f && Voltage < Rand.Range(0.0f, MinVoltage)) { #if CLIENT - if (voltage > 0.1f) + if (Voltage > 0.1f) { SoundPlayer.PlaySound("zap", item.WorldPosition, hullGuess: item.CurrentHull); } @@ -237,7 +230,7 @@ namespace Barotrauma.Items.Components } else { - lightBrightness = MathHelper.Lerp(lightBrightness, Math.Min(voltage, 1.0f), 0.1f); + lightBrightness = MathHelper.Lerp(lightBrightness, Math.Min(Voltage, 1.0f), 0.1f); } if (blinkFrequency > 0.0f) @@ -262,8 +255,6 @@ namespace Barotrauma.Items.Components { UpdateAITarget(item.AiTarget); } - - voltage -= deltaTime; } #if CLIENT diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/ModuloComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/ModuloComponent.cs new file mode 100644 index 000000000..8893d1351 --- /dev/null +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/ModuloComponent.cs @@ -0,0 +1,41 @@ +using System.Globalization; +using System.Xml.Linq; + +namespace Barotrauma.Items.Components +{ + class ModuloComponent : ItemComponent + { + private float modulus; + [InGameEditable, Serialize(1.0f, false, description: "The modulus of the operation. Must be non-zero.")] + public float Modulus + { + get { return modulus; } + set + { + modulus = MathUtils.NearlyEqual(value, 0.0f) ? 1.0f : value; + } + } + + public ModuloComponent(Item item, XElement element) : base(item, element) + { + IsActive = true; + } + + public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power = 0, float signalStrength = 1) + { + switch (connection.Name) + { + case "set_modulus": + case "modulus": + float.TryParse(signal, out float newModulus); + Modulus = newModulus; + break; + case "signal_in": + float.TryParse(signal, out float value); + item.SendSignal(0, (value % modulus).ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + break; + } + + } + } +} diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/MotionSensor.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/MotionSensor.cs index 175bd4399..a672b8e63 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/MotionSensor.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/MotionSensor.cs @@ -25,6 +25,14 @@ namespace Barotrauma.Items.Components set; } + [Editable, Serialize(false, true, description: "Should the sensor ignore the bodies of dead characters?")] + public bool IgnoreDead + { + get; + set; + } + + [InGameEditable, Serialize(0.0f, true, description: "Horizontal detection range.")] public float RangeX { @@ -109,6 +117,7 @@ namespace Barotrauma.Items.Components foreach (Character c in Character.CharacterList) { + if (IgnoreDead && c.IsDead) { continue; } if (OnlyHumans && !c.IsHuman) { continue; } //do a rough check based on the position of the character's collider first @@ -138,5 +147,15 @@ namespace Barotrauma.Items.Components { detectOffset.Y = -detectOffset.Y; } + public override XElement Save(XElement parentElement) + { + Vector2 prevDetectOffset = detectOffset; + //undo flipping before saving + if (item.FlippedX) { detectOffset.X = -detectOffset.X; } + if (item.FlippedY) { detectOffset.Y = -detectOffset.Y; } + XElement element = base.Save(parentElement); + detectOffset = prevDetectOffset; + return element; + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/RelayComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/RelayComponent.cs index 7fe73ed1b..26c197604 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/RelayComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/RelayComponent.cs @@ -1,4 +1,5 @@ using Barotrauma.Networking; +using Microsoft.Xna.Framework; using System; using System.Collections.Generic; using System.Xml.Linq; @@ -8,9 +9,11 @@ namespace Barotrauma.Items.Components class RelayComponent : PowerTransfer, IServerSerializable { private float maxPower; - + private bool isOn; + private float throttlePowerOutput; + private static readonly Dictionary connectionPairs = new Dictionary { { "power_in", "power_out"}, @@ -21,6 +24,7 @@ namespace Barotrauma.Items.Components { "signal_in4", "signal_out4" }, { "signal_in5", "signal_out5" } }; + public float DisplayLoad { get; set; } [Editable, Serialize(1000.0f, true, description: "The maximum amount of power that can pass through the item.")] public float MaxPower @@ -31,7 +35,7 @@ namespace Barotrauma.Items.Components maxPower = Math.Max(0.0f, value); } } - + [Editable, Serialize(false, true, description: "Can the relay currently pass power and signals through it.")] public bool IsOn { @@ -49,18 +53,46 @@ namespace Barotrauma.Items.Components } } } - + public RelayComponent(Item item, XElement element) - : base (item, element) + : base(item, element) { IsActive = true; - } - + throttlePowerOutput = MaxPower; + } public override void Update(float deltaTime, Camera cam) { - base.Update(deltaTime, cam); + RefreshConnections(); item.SendSignal(0, IsOn ? "1" : "0", "state_out", null); + + if (!CanTransfer) { Voltage = 0.0f; return; } + + if (isBroken) + { + SetAllConnectionsDirty(); + isBroken = false; + } + + ApplyStatusEffects(ActionType.OnActive, deltaTime, null); + + if (powerOut != null) + { + bool overloaded = false; + foreach (Connection recipient in powerOut.Recipients) + { + var pt = recipient.Item.GetComponent(); + if (pt != null) + { + float overload = -pt.CurrPowerConsumption - pt.PowerLoad; + throttlePowerOutput += overload * deltaTime * 0.5f; + overloaded = overload > 1.0f; + } + } + throttlePowerOutput = overloaded ? + MathHelper.Clamp(throttlePowerOutput, 0.0f, MaxPower): + Math.Max(throttlePowerOutput - MaxPower * 0.1f * deltaTime, 0.0f); + } if (Math.Min(-currPowerConsumption, PowerLoad) > maxPower && CanBeOverloaded) { @@ -68,9 +100,56 @@ namespace Barotrauma.Items.Components } } + public override void ReceivePowerProbeSignal(Connection connection, Item source, float power) + { + if (!IsOn) { return; } + + //we've already received this signal + if (lastPowerProbeRecipients.Contains(this)) { return; } + lastPowerProbeRecipients.Add(this); + + if (power < 0.0f) + { + if (!connection.IsOutput || powerIn == null) { return; } + + //power being drawn from the power_out connection + DisplayLoad -= Math.Min(power, 0.0f); + powerLoad -= Math.Min(power + throttlePowerOutput, 0.0f); + + //pass the load to items connected to the input + powerIn.SendPowerProbeSignal(source, Math.Max(power, -MaxPower)); + } + else + { + if (connection.IsOutput || powerOut == null) { return; } + //power being supplied to the power_in connection + if (currPowerConsumption - power < -MaxPower) + { + power += MaxPower + (currPowerConsumption - power); + } + + currPowerConsumption -= power; + + foreach (Connection recipient in powerOut.Recipients) + { + if (!recipient.IsPower) { continue; } + var powered = recipient.Item.GetComponent(); + if (powered == null) { continue; } + + float load = powered.CurrPowerConsumption; + var powerTransfer = powered as PowerTransfer; + if (powerTransfer != null) { load = powerTransfer.PowerLoad; } + + float powerOut = power * (load / Math.Max(powerLoad + throttlePowerOutput, 0.01f)); + powered.ReceivePowerProbeSignal(recipient, source, Math.Min(powerOut, power)); + } + } + + } + public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power = 0.0f, float signalStrength = 1.0f) { - if (connection.IsPower || item.Condition <= 0.0f) { return; } + if (item.Condition <= 0.0f || connection.IsPower) { return; } if (connectionPairs.TryGetValue(connection.Name, out string outConnection)) { diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/TrigonometricFunctionComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/TrigonometricFunctionComponent.cs new file mode 100644 index 000000000..05bca8b5e --- /dev/null +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/TrigonometricFunctionComponent.cs @@ -0,0 +1,108 @@ +using Microsoft.Xna.Framework; +using System; +using System.Globalization; +using System.Xml.Linq; + +namespace Barotrauma.Items.Components +{ + class TrigonometricFunctionComponent : ItemComponent + { + public enum FunctionType + { + Sin, + Cos, + Tan, + Asin, + Acos, + Atan, + } + + protected float[] receivedSignal = new float[2]; + + [Serialize(FunctionType.Sin, false, description: "Which kind of function to run the input through.")] + public FunctionType Function + { + get; set; + } + + + [InGameEditable, Serialize(false, true, description: "If set to true, the trigonometric function uses radians instead of degrees.")] + public bool UseRadians + { + get; set; + } + + + public TrigonometricFunctionComponent(Item item, XElement element) + : base(item, element) + { + IsActive = true; + } + + public override void Update(float deltaTime, Camera cam) + { + //reset received signals + receivedSignal[0] = float.NaN; + receivedSignal[1] = float.NaN; + } + + + public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power = 0, float signalStrength = 1) + { + float.TryParse(signal, out float value); + switch (Function) + { + case FunctionType.Sin: + if (!UseRadians) { value = MathHelper.ToRadians(value); } + item.SendSignal(0, ((float)Math.Sin(value)).ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + break; + case FunctionType.Cos: + if (!UseRadians) { value = MathHelper.ToRadians(value); } + item.SendSignal(0, ((float)Math.Cos(value)).ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + break; + case FunctionType.Tan: + if (!UseRadians) { value = MathHelper.ToRadians(value); } + item.SendSignal(0, ((float)Math.Tan(value)).ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + break; + case FunctionType.Asin: + { + float angle = (float)Math.Asin(value); + if (!UseRadians) { angle = MathHelper.ToDegrees(angle); } + item.SendSignal(0, angle.ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + } + break; + case FunctionType.Acos: + { + float angle = (float)Math.Acos(value); + if (!UseRadians) { angle = MathHelper.ToDegrees(angle); } + item.SendSignal(0, angle.ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + } + break; + case FunctionType.Atan: + if (connection.Name == "signal_in_x") + { + float.TryParse(signal, NumberStyles.Float, CultureInfo.InvariantCulture, out receivedSignal[0]); + } + else if (connection.Name == "signal_in_y") + { + float.TryParse(signal, NumberStyles.Float, CultureInfo.InvariantCulture, out receivedSignal[1]); + if (!float.IsNaN(receivedSignal[0]) && !float.IsNaN(receivedSignal[1])) + { + float angle = (float)Math.Atan2(receivedSignal[1], receivedSignal[0]); + if (!UseRadians) { angle = MathHelper.ToDegrees(angle); } + item.SendSignal(0, angle.ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + } + } + else + { + float angle = (float)Math.Atan(value); + if (!UseRadians) { angle = MathHelper.ToDegrees(angle); } + item.SendSignal(0, angle.ToString("G", CultureInfo.InvariantCulture), "signal_out", null); + } + break; + default: + throw new NotImplementedException($"Function {Function} has not been implemented."); + } + } + } +} diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/WifiComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/WifiComponent.cs index b14ec6b00..f78b70c90 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/WifiComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/WifiComponent.cs @@ -22,7 +22,7 @@ namespace Barotrauma.Items.Components [Serialize(Character.TeamType.None, false, description: "WiFi components can only communicate with components that have the same Team ID.")] public Character.TeamType TeamID { get; set; } - [Serialize(20000.0f, false, description: "How close the recipient has to be to receive a signal from this WiFi component.")] + [Editable, Serialize(20000.0f, false, description: "How close the recipient has to be to receive a signal from this WiFi component.")] public float Range { get { return range; } @@ -174,8 +174,6 @@ namespace Barotrauma.Items.Components protected override void RemoveComponentSpecific() { - base.RemoveComponentSpecific(); - list.Remove(this); } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/Wire.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/Wire.cs index a2e0ae132..0ff58668f 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/Wire.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/Wire.cs @@ -83,22 +83,16 @@ namespace Barotrauma.Items.Components public Wire(Item item, XElement element) : base(item, element) { -#if CLIENT - if (wireSprite == null) - { - wireSprite = new Sprite("Content/Items/wireHorizontal.png", new Vector2(0.5f, 0.5f)) - { - Depth = 0.85f - }; - } -#endif - nodes = new List(); sections = new List(); connections = new Connection[2]; IsActive = false; + + InitProjSpecific(element); } + partial void InitProjSpecific(XElement element); + public Connection OtherConnection(Connection connection) { if (connection == connections[0]) { return connections[1]; } @@ -728,6 +722,11 @@ namespace Barotrauma.Items.Components { ClearConnections(); base.RemoveComponentSpecific(); +#if CLIENT + overrideSprite?.Remove(); + overrideSprite = null; + wireSprite = null; +#endif } public void ClientRead(ServerNetObject type, IReadMessage msg, float sendingTime) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Turret.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Turret.cs index 8cafa873f..fe184c492 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Turret.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Turret.cs @@ -192,6 +192,7 @@ namespace Barotrauma.Items.Components public override void OnItemLoaded() { + base.OnItemLoaded(); var lightComponents = item.GetComponents(); if (lightComponents != null && lightComponents.Count() > 0) { @@ -325,20 +326,24 @@ namespace Barotrauma.Items.Components failedLaunchAttempts = 0; var batteries = item.GetConnectedComponents(); - float availablePower = 0.0f; - foreach (PowerContainer battery in batteries) + float neededPower = powerConsumption; + + while (neededPower > 0.0001f && batteries.Count > 0) { - float batteryPower = Math.Min(battery.Charge * 3600.0f, battery.MaxOutPut); - float takePower = Math.Min(powerConsumption - availablePower, batteryPower); - - battery.Charge -= takePower / 3600.0f; - -#if SERVER - if (GameMain.Server != null) + batteries.RemoveAll(b => b.Charge <= 0.0001f || b.MaxOutPut <= 0.0001f); + float takePower = neededPower / batteries.Count; + takePower = Math.Min(takePower, batteries.Min(b => Math.Min(b.Charge * 3600.0f, b.MaxOutPut))); + foreach (PowerContainer battery in batteries) { - battery.Item.CreateServerEvent(battery); - } + neededPower -= takePower; + battery.Charge -= takePower / 3600.0f; +#if SERVER + if (GameMain.Server != null) + { + battery.Item.CreateServerEvent(battery); + } #endif + } } Launch(projectiles[0].Item, character); @@ -477,12 +482,12 @@ namespace Barotrauma.Items.Components //enough shells and power Character closestEnemy = null; - float closestDist = 10000.0f * 10000.0f; + float closestDist = 3000 * 3000; foreach (Character enemy in Character.CharacterList) { - //ignore humans and characters that are inside the sub - if (enemy.IsDead|| enemy.AnimController.CurrentHull != null || !enemy.Enabled) { continue; } - if (enemy.SpeciesName == character.SpeciesName && enemy.TeamID == character.TeamID) { continue; } + // Ignore friendly and those that are inside the sub + if (enemy.IsDead || enemy.AnimController.CurrentHull != null || !enemy.Enabled) { continue; } + if (HumanAIController.IsFriendly(character, enemy)) { continue; } float dist = Vector2.DistanceSquared(enemy.WorldPosition, item.WorldPosition); if (dist > closestDist) { continue; } @@ -510,8 +515,21 @@ namespace Barotrauma.Items.Components if (Math.Abs(MathUtils.GetShortestAngle(enemyAngle, turretAngle)) > 0.15f) { return false; } - var pickedBody = Submarine.PickBody(ConvertUnits.ToSimUnits(item.WorldPosition), closestEnemy.SimPosition, null); - if (pickedBody != null && !(pickedBody.UserData is Limb)) { return false; } + var pickedBody = Submarine.PickBody(ConvertUnits.ToSimUnits(item.WorldPosition), closestEnemy.SimPosition); + if (pickedBody == null) { return false; } + Character target = null; + if (pickedBody.UserData is Character c) + { + target = c; + } + else if (pickedBody.UserData is Limb limb) + { + target = limb.character; + } + if (target == null || HumanAIController.IsFriendly(character, target)) + { + return false; + } if (objective.Option.ToLowerInvariant() == "fireatwill") { @@ -554,8 +572,8 @@ namespace Barotrauma.Items.Components { base.RemoveComponentSpecific(); - if (barrelSprite != null) barrelSprite.Remove(); - if (railSprite != null) railSprite.Remove(); + barrelSprite?.Remove(); barrelSprite = null; + railSprite?.Remove(); railSprite = null; #if CLIENT moveSoundChannel?.Dispose(); moveSoundChannel = null; diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Wearable.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Wearable.cs index 469a42f5c..2c9988a89 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Wearable.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Wearable.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Xml.Linq; using Barotrauma.Items.Components; using Barotrauma.Extensions; +using Barotrauma.Networking; namespace Barotrauma { @@ -23,6 +24,7 @@ namespace Barotrauma class WearableSprite { + public string UnassignedSpritePath { get; private set; } public string SpritePath { get; private set; } public XElement SourceElement { get; private set; } @@ -83,7 +85,7 @@ namespace Barotrauma if (value == _gender) { return; } _gender = value; IsInitialized = false; - SpritePath = ParseSpritePath(SourceElement.GetAttributeString("texture", string.Empty)); + UnassignedSpritePath = ParseSpritePath(SourceElement.GetAttributeString("texture", string.Empty)); Init(_gender); } } @@ -92,7 +94,7 @@ namespace Barotrauma { Type = type; SourceElement = subElement; - SpritePath = subElement.GetAttributeString("texture", string.Empty); + UnassignedSpritePath = subElement.GetAttributeString("texture", string.Empty); Init(); switch (type) { @@ -122,42 +124,24 @@ namespace Barotrauma Type = WearableType.Item; WearableComponent = wearable; Variant = Math.Max(variant, 0); - SpritePath = ParseSpritePath(subElement.GetAttributeString("texture", string.Empty)); + UnassignedSpritePath = ParseSpritePath(subElement.GetAttributeString("texture", string.Empty)); SourceElement = subElement; } private string ParseSpritePath(string texturePath) => texturePath.Contains("/") ? texturePath : $"{Path.GetDirectoryName(WearableComponent.Item.Prefab.ConfigFile)}/{texturePath}"; - public void RefreshPath() - { - if (Variant > 0) - { - // Restore the tag so that we can parse it again. - ReplaceNumbersWith("[VARIANT]"); - } - ParsePath(true); - } - - private void ReplaceNumbersWith(string replacement) - { - var fileName = Path.GetFileName(SpritePath); - var path = Path.GetDirectoryName(SpritePath); - fileName = fileName.Replace(replacement, c => char.IsNumber(c)); - SpritePath = Path.Combine(path, fileName); - } - - private void ParsePath(bool parseSpritePath) + public void ParsePath(bool parseSpritePath) { + string tempPath = UnassignedSpritePath; if (_gender != Gender.None) { - SpritePath = SpritePath.Replace("[GENDER]", (_gender == Gender.Female) ? "female" : "male"); + tempPath = tempPath.Replace("[GENDER]", (_gender == Gender.Female) ? "female" : "male"); } - SpritePath = SpritePath.Replace("[VARIANT]", Variant.ToString()); + SpritePath = tempPath.Replace("[VARIANT]", Variant.ToString()); if (!File.Exists(SpritePath)) { // If the variant does not exist, parse the path so that it uses first variant. - Variant = 1; - ReplaceNumbersWith(Variant.ToString()); + SpritePath = tempPath.Replace("[VARIANT]", "1"); } if (parseSpritePath) { @@ -169,13 +153,13 @@ namespace Barotrauma public void Init(Gender gender = Gender.None) { if (IsInitialized) { return; } - _gender = SpritePath.Contains("[GENDER]") ? gender : Gender.None; + _gender = UnassignedSpritePath.Contains("[GENDER]") ? gender : Gender.None; ParsePath(false); if (Sprite != null) { Sprite.Remove(); } - Sprite = new Sprite(SourceElement, file: SpritePath); + Sprite = new Sprite(SourceElement, file: SpritePath, preMultiplyAlpha: true); Limb = (LimbType)Enum.Parse(typeof(LimbType), SourceElement.GetAttributeString("limb", "Head"), true); HideLimb = SourceElement.GetAttributeBool("hidelimb", false); HideOtherWearables = SourceElement.GetAttributeBool("hideotherwearables", false); @@ -197,25 +181,60 @@ namespace Barotrauma namespace Barotrauma.Items.Components { - class Wearable : Pickable + class Wearable : Pickable, IServerSerializable { - private WearableSprite[] wearableSprites; - private LimbType[] limbType; - private Limb[] limb; + private readonly XElement[] wearableElements; + private readonly WearableSprite[] wearableSprites; + private readonly LimbType[] limbType; + private readonly Limb[] limb; - private List damageModifiers; + private readonly List damageModifiers; - public List DamageModifiers + public IEnumerable DamageModifiers { get { return damageModifiers; } } - private bool autoEquipWhenFull; - public bool AutoEquipWhenFull + public bool AutoEquipWhenFull { get; private set; } + + public readonly int Variants; + + private int variant; + public int Variant { - get { return autoEquipWhenFull; } - } - + get { return variant; } + set + { +#if SERVER + variant = value; + item.CreateServerEvent(this); +#elif CLIENT + if (variant == value) { return; } + + Character character = picker; + if (character != null) + { + Unequip(character); + } + + for (int i = 0; i < wearableSprites.Length; i++) + { + var subElement = wearableElements[i]; + + wearableSprites[i]?.Sprite?.Remove(); + wearableSprites[i] = new WearableSprite(subElement, this, value); + } + + if (character != null) + { + Equip(character); + } + + variant = value; +#endif + } + } + public Wearable(Item item, XElement element) : base(item, element) { this.item = item; @@ -223,12 +242,13 @@ namespace Barotrauma.Items.Components damageModifiers = new List(); int spriteCount = element.Elements().Count(x => x.Name.ToString() == "sprite"); - int variants = element.GetAttributeInt("variants", 0); - int variant = variants > 0 ? Rand.Range(1, variants + 1, Rand.RandSync.Server) : 1; + Variants = element.GetAttributeInt("variants", 0); + variant = Rand.Range(1, Variants + 1, Rand.RandSync.Server); wearableSprites = new WearableSprite[spriteCount]; + wearableElements = new XElement[spriteCount]; limbType = new LimbType[spriteCount]; limb = new Limb[spriteCount]; - autoEquipWhenFull = element.GetAttributeBool("autoequipwhenfull", true); + AutoEquipWhenFull = element.GetAttributeBool("autoequipwhenfull", true); int i = 0; foreach (XElement subElement in element.Elements()) { @@ -245,6 +265,7 @@ namespace Barotrauma.Items.Components subElement.GetAttributeString("limb", "Head"), true); wearableSprites[i] = new WearableSprite(subElement, this, variant); + wearableElements[i] = subElement; foreach (XElement lightElement in subElement.Elements()) { @@ -380,5 +401,39 @@ namespace Barotrauma.Items.Components } } + public override XElement Save(XElement parentElement) + { + XElement componentElement = base.Save(parentElement); + componentElement.Add(new XAttribute("variant", variant)); + return componentElement; + } + + private int loadedVariant = -1; + public override void Load(XElement componentElement, bool usePrefabValues) + { + base.Load(componentElement, usePrefabValues); + loadedVariant = componentElement.GetAttributeInt("variant", -1); + } + public override void OnItemLoaded() + { + base.OnItemLoaded(); + //do this here to prevent creating a network event before the item has been fully initialized + if (loadedVariant > 0 && loadedVariant < Variants + 1) + { + Variant = loadedVariant; + } + } + public override void ServerWrite(IWriteMessage msg, Client c, object[] extraData = null) + { + msg.Write((byte)Variant); + base.ServerWrite(msg, c, extraData); + } + + public override void ClientRead(ServerNetObject type, IReadMessage msg, float sendingTime) + { + Variant = (int)msg.ReadByte(); + base.ClientRead(type, msg, sendingTime); + } + } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/Inventory.cs b/Barotrauma/BarotraumaShared/Source/Items/Inventory.cs index 692a9e94c..b68cb412b 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Inventory.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Inventory.cs @@ -338,7 +338,7 @@ namespace Barotrauma public Item FindItem(Func predicate, bool recursive) { - Item match = Items.FirstOrDefault(predicate); + Item match = Items.FirstOrDefault(i => i != null && predicate(i)); if (match == null && recursive) { foreach (var item in Items) @@ -360,13 +360,13 @@ namespace Barotrauma public Item FindItemByTag(string tag, bool recursive = false) { if (tag == null) { return null; } - return FindItem(i => i != null && i.HasTag(tag), recursive); + return FindItem(i => i.HasTag(tag), recursive); } public Item FindItemByIdentifier(string identifier, bool recursive = false) { if (identifier == null) return null; - return FindItem(i => i != null && i.Prefab.Identifier == identifier, recursive); + return FindItem(i => i.Prefab.Identifier == identifier, recursive); } public virtual void RemoveItem(Item item) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Item.cs b/Barotrauma/BarotraumaShared/Source/Items/Item.cs index f45ee95c7..02340e7d8 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Item.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Item.cs @@ -59,6 +59,8 @@ namespace Barotrauma public readonly XElement StaticBodyConfig; + private bool transformDirty = true; + private float lastSentCondition; private float sendConditionUpdateTimer; private bool conditionUpdatePending; @@ -465,7 +467,7 @@ namespace Barotrauma { get; private set; - } = new List(); + } = new List(20); public string ConfigFile { @@ -578,7 +580,7 @@ namespace Barotrauma SerializableProperties = SerializableProperty.DeserializeProperties(this, element); - if (submarine == null || !submarine.Loading) FindHull(); + if (submarine == null || !submarine.Loading) { FindHull(); } SetActiveSprite(); @@ -588,8 +590,35 @@ namespace Barotrauma { case "body": body = new PhysicsBody(subElement, ConvertUnits.ToSimUnits(Position), Scale); - body.FarseerBody.AngularDamping = 0.2f; - body.FarseerBody.LinearDamping = 0.1f; + string collisionCategory = subElement.GetAttributeString("collisioncategory", null); + if (Prefab.DamagedByProjectiles || Prefab.DamagedByMeleeWeapons) + { + //force collision category to Character to allow projectiles and weapons to hit + //(we could also do this by making the projectiles and weapons hit CollisionItem + //and check if the collision should be ignored in the OnCollision callback, but + //that'd make the hit detection more expensive because every item would be included) + body.CollisionCategories = Physics.CollisionCharacter; + body.CollidesWith = Physics.CollisionWall | Physics.CollisionLevel | Physics.CollisionPlatform | Physics.CollisionProjectile; + } + if (collisionCategory != null) + { + if (!Physics.TryParseCollisionCategory(collisionCategory, out Category cat)) + { + DebugConsole.ThrowError("Invalid collision category in item \"" + Name+"\" (" + collisionCategory + ")"); + } + else + { + body.CollisionCategories = cat; + if (cat.HasFlag(Physics.CollisionCharacter)) + { + body.CollidesWith = Physics.CollisionWall | Physics.CollisionLevel | Physics.CollisionPlatform | Physics.CollisionProjectile; + } + } + } + + body.FarseerBody.AngularDamping = element.GetAttributeFloat("angulardamping", 0.2f); + body.FarseerBody.LinearDamping = element.GetAttributeFloat("lineardamping", 0.1f); + body.UserData = this; break; case "trigger": case "inventoryicon": @@ -874,7 +903,7 @@ namespace Barotrauma rect.X = (int)(displayPos.X - rect.Width / 2.0f); rect.Y = (int)(displayPos.Y + rect.Height / 2.0f); - if (findNewHull) FindHull(); + if (findNewHull) { FindHull(); } } public void SetActiveSprite() @@ -966,6 +995,8 @@ namespace Barotrauma return rootContainer; } + public bool IsOwnedBy(Character character) => FindParentInventory(i => i.Owner == character) != null; + public Inventory FindParentInventory(Func predicate) { if (parentInventory != null) @@ -1214,11 +1245,13 @@ namespace Barotrauma } } + if (Removed) { return; } + if (body != null && body.Enabled) { System.Diagnostics.Debug.Assert(body.FarseerBody.FixtureList != null); - if (Math.Abs(body.LinearVelocity.X) > 0.01f || Math.Abs(body.LinearVelocity.Y) > 0.01f) + if (Math.Abs(body.LinearVelocity.X) > 0.01f || Math.Abs(body.LinearVelocity.Y) > 0.01f || transformDirty) { UpdateTransform(); if (CurrentHull == null && body.SimPosition.Y < ConvertUnits.ToSimUnits(Level.MaxEntityDepth)) @@ -1255,6 +1288,8 @@ namespace Barotrauma public void UpdateTransform() { + if (body == null) { return; } + Submarine prevSub = Submarine; FindHull(); @@ -1283,6 +1318,8 @@ namespace Barotrauma MathHelper.Clamp(body.LinearVelocity.X, -NetConfig.MaxPhysicsBodyVelocity, NetConfig.MaxPhysicsBodyVelocity), MathHelper.Clamp(body.LinearVelocity.Y, -NetConfig.MaxPhysicsBodyVelocity, NetConfig.MaxPhysicsBodyVelocity)); } + + transformDirty = false; } /// @@ -1321,6 +1358,8 @@ namespace Barotrauma private bool OnCollision(Fixture f1, Fixture f2, Contact contact) { + if (transformDirty) { return false; } + Vector2 normal = contact.Manifold.LocalNormal; float impact = Vector2.Dot(f1.Body.LinearVelocity, -normal); @@ -1503,34 +1542,37 @@ namespace Barotrauma } } } - - + public void SendSignal(int stepsTaken, string signal, string connectionName, Character sender, float power = 0.0f, Item source = null, float signalStrength = 1.0f) { - LastSentSignalRecipients.Clear(); if (connections == null) { return; } + if (!connections.TryGetValue(connectionName, out Connection c)) { return; } + SendSignal(stepsTaken, signal, c, sender, power, source, signalStrength); + } + + public void SendSignal(int stepsTaken, string signal, Connection connection, Character sender, float power = 0.0f, Item source = null, float signalStrength = 1.0f) + { + LastSentSignalRecipients.Clear(); + if (connections == null || connection == null) { return; } stepsTaken++; - - if (!connections.TryGetValue(connectionName, out Connection c)) { return; } - + if (stepsTaken > 10) { //use a coroutine to prevent infinite loops by creating a one //frame delay if the "signal chain" gets too long - CoroutineManager.StartCoroutine(SendSignal(signal, c, sender, power, signalStrength)); + CoroutineManager.StartCoroutine(SendSignal(signal, connection, sender, power, signalStrength)); } else { - foreach (StatusEffect effect in c.Effects) + foreach (StatusEffect effect in connection.Effects) { if (condition <= 0.0f && effect.type != ActionType.OnBroken) { continue; } if (signal != "0" && !string.IsNullOrEmpty(signal)) { ApplyStatusEffect(effect, ActionType.OnUse, (float)Timing.Step, null, null, false, false); } } - c.SendSignal(stepsTaken, signal, source ?? this, sender, power, signalStrength); - } + connection.SendSignal(stepsTaken, signal, source ?? this, sender, power, signalStrength); + } } - private IEnumerable SendSignal(string signal, Connection connection, Character sender, float power = 0.0f, float signalStrength = 1.0f) { //wait one frame @@ -1854,7 +1896,6 @@ namespace Barotrauma foreach (ItemComponent ic in components) ic.Unequip(character); } - public List> GetProperties() { List> allProperties = new List>(); diff --git a/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs b/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs index e5d3dc565..ebd60e015 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs @@ -5,6 +5,8 @@ using System.Collections.Generic; using System.IO; using System.Xml.Linq; using System.Linq; +using Barotrauma.Items.Components; +using Barotrauma.Extensions; namespace Barotrauma { @@ -247,6 +249,27 @@ namespace Barotrauma private set; } + [Serialize(false, false)] + public bool DamagedByExplosions + { + get; + private set; + } + + [Serialize(false, false)] + public bool DamagedByProjectiles + { + get; + private set; + } + + [Serialize(false, false)] + public bool DamagedByMeleeWeapons + { + get; + private set; + } + [Serialize(false, false)] public bool FireProof { @@ -310,6 +333,17 @@ namespace Barotrauma private set; } + private HashSet preferredContainers = new HashSet(); + [Serialize("", true, description: "Define containers (by identifiers or tags) that this item should be placed in. These are preferences, which are not enforced.")] + public string PreferredContainers + { + get { return string.Join(",", preferredContainers); } + set + { + StringFormatter.ParseCommaSeparatedStringToCollection(value, preferredContainers); + } + } + /// /// How likely it is for the item to spawn in a level of a given type. /// Key = name of the LevelGenerationParameters (empty string = default value) @@ -794,9 +828,24 @@ namespace Barotrauma } return prefab; } + public IEnumerable GetPrices() { return prices?.Values; } + + public bool IsContainerPreferred(ItemContainer itemContainer, out bool isPreferencesDefined) + { + isPreferencesDefined = preferredContainers.Any(); + if (!isPreferencesDefined) { return true; } + return preferredContainers.Any(id => itemContainer.Item.Prefab.Identifier == id || itemContainer.Item.HasTag(id)); + } + + public bool IsContainerPreferred(string[] identifiersOrTags, out bool isPreferencesDefined) + { + isPreferencesDefined = preferredContainers.Any(); + if (!isPreferencesDefined) { return true; } + return preferredContainers.Any(id => preferredContainers.Any(p => p == id)); + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Items/RelatedItem.cs b/Barotrauma/BarotraumaShared/Source/Items/RelatedItem.cs index 739fdf82b..9af0fd2a2 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/RelatedItem.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/RelatedItem.cs @@ -98,10 +98,11 @@ namespace Barotrauma if (parentItem == null) { return false; } return CheckContained(parentItem); case RelationType.Container: - if (parentItem == null || parentItem.Container == null) { return false; } + if (parentItem == null || parentItem.Container == null) { return MatchOnEmpty; } return parentItem.Container.Condition > 0.0f && MatchesItem(parentItem.Container); case RelationType.Equipped: if (character == null) { return false; } + if (MatchOnEmpty && character.SelectedItems.All(it => it == null)) { return true; } foreach (Item equippedItem in character.SelectedItems) { if (equippedItem == null) { continue; } @@ -158,7 +159,7 @@ namespace Barotrauma if (!string.IsNullOrWhiteSpace(Msg)) element.Add(new XAttribute("msg", Msg)); } - public static RelatedItem Load(XElement element, string parentDebugName) + public static RelatedItem Load(XElement element, bool returnEmpty, string parentDebugName) { string[] identifiers; if (element.Attribute("name") != null) @@ -205,10 +206,9 @@ namespace Barotrauma } } - if (identifiers.Length == 0 && excludedIdentifiers.Length == 0) { return null; } + if (identifiers.Length == 0 && excludedIdentifiers.Length == 0 && !returnEmpty) { return null; } RelatedItem ri = new RelatedItem(identifiers, excludedIdentifiers); - string typeStr = element.GetAttributeString("type", ""); if (string.IsNullOrEmpty(typeStr)) { diff --git a/Barotrauma/BarotraumaShared/Source/Map/Entity.cs b/Barotrauma/BarotraumaShared/Source/Map/Entity.cs index 60ff02152..7ecc8e61b 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Entity.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Entity.cs @@ -110,9 +110,17 @@ namespace Barotrauma get { return aiTarget; } } + public double SpawnTime + { + get { return spawnTime; } + } + + private readonly double spawnTime; + public Entity(Submarine submarine) { this.Submarine = submarine; + spawnTime = Timing.TotalTime; //give a unique ID id = this is EntitySpawner ? diff --git a/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs b/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs index 5b16fcfe7..fc99bb304 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs @@ -124,39 +124,55 @@ namespace Barotrauma if (powerContainer != null) { powerContainer.Charge -= powerContainer.Capacity * empStrength * distFactor; - } + } } } - if (force == 0.0f && attack.Stun == 0.0f && attack.GetTotalDamage(false) == 0.0f) return; + if (MathUtils.NearlyEqual(force, 0.0f) && MathUtils.NearlyEqual(attack.Stun, 0.0f) && MathUtils.NearlyEqual(attack.GetTotalDamage(false), 0.0f)) + { + return; + } DamageCharacters(worldPosition, attack, force, damageSource, attacker); - + if (GameMain.NetworkMember == null || !GameMain.NetworkMember.IsClient) { if (flames) { foreach (Item item in Item.ItemList) { - if (item.CurrentHull != hull || item.FireProof || item.Condition <= 0.0f) continue; + if (item.CurrentHull != hull || item.FireProof || item.Condition <= 0.0f) { continue; } //don't apply OnFire effects if the item is inside a fireproof container //(or if it's inside a container that's inside a fireproof container, etc) Item container = item.Container; + bool fireProof = false; while (container != null) { - if (container.FireProof) return; + if (container.FireProof) { fireProof = true; break; } container = container.Container; } - if (Vector2.Distance(item.WorldPosition, worldPosition) > attack.Range * 0.1f) continue; + if (fireProof || Vector2.Distance(item.WorldPosition, worldPosition) > attack.Range * 0.5f) { continue; } item.ApplyStatusEffects(ActionType.OnFire, 1.0f); - if (item.Condition <= 0.0f && GameMain.NetworkMember != null && GameMain.NetworkMember.IsServer) { GameMain.NetworkMember.CreateEntityEvent(item, new object[] { NetEntityEvent.Type.ApplyStatusEffect, ActionType.OnFire }); } + + if (item.Prefab.DamagedByExplosions && !item.Indestructible) + { + float limbRadius = item.body == null ? 0.0f : item.body.GetMaxExtent(); + float dist = Vector2.Distance(item.WorldPosition, worldPosition); + dist = Math.Max(0.0f, dist - ConvertUnits.ToDisplayUnits(limbRadius)); + + if (dist > attack.Range) { continue; } + + float distFactor = 1.0f - dist / attack.Range; + float damageAmount = attack.GetItemDamage(1.0f); + item.Condition -= damageAmount * distFactor; + } } } } @@ -197,7 +213,7 @@ namespace Barotrauma //calculate distance from the "outer surface" of the physics body //doesn't take the rotation of the limb into account, but should be accurate enough for this purpose float limbRadius = Math.Max(Math.Max(limb.body.width * 0.5f, limb.body.height * 0.5f), limb.body.radius); - dist = Math.Max(0.0f, dist - FarseerPhysics.ConvertUnits.ToDisplayUnits(limbRadius)); + dist = Math.Max(0.0f, dist - ConvertUnits.ToDisplayUnits(limbRadius)); if (dist > attack.Range) { continue; } @@ -240,7 +256,7 @@ namespace Barotrauma } } - if (limb.WorldPosition != worldPosition && force > 0.0f) + if (limb.WorldPosition != worldPosition && !MathUtils.NearlyEqual(force, 0.0f)) { Vector2 limbDiff = Vector2.Normalize(limb.WorldPosition - worldPosition); if (!MathUtils.IsValid(limbDiff)) limbDiff = Rand.Vector(1.0f); diff --git a/Barotrauma/BarotraumaShared/Source/Map/Gap.cs b/Barotrauma/BarotraumaShared/Source/Map/Gap.cs index d9a073f30..2008acac1 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Gap.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Gap.cs @@ -55,6 +55,8 @@ namespace Barotrauma set { open = MathHelper.Clamp(value, 0.0f, 1.0f); } } + public float Size => IsHorizontal ? Rect.Height : Rect.Width; + public Door ConnectedDoor; public Structure ConnectedWall; diff --git a/Barotrauma/BarotraumaShared/Source/Map/Hull.cs b/Barotrauma/BarotraumaShared/Source/Map/Hull.cs index 602c23f6c..8d6fb6e0f 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Hull.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Hull.cs @@ -228,13 +228,16 @@ namespace Barotrauma surface = rect.Y - rect.Height; - aiTarget = new AITarget(this) + if (submarine != null) { - MinSightRange = 2000, - MaxSightRange = 5000, - MaxSoundRange = 5000, - SoundRange = 0 - }; + aiTarget = new AITarget(this) + { + MinSightRange = 2000, + MaxSightRange = 5000, + MaxSoundRange = 5000, + SoundRange = 0 + }; + } hullList.Add(this); @@ -430,8 +433,11 @@ namespace Barotrauma FireSource.UpdateAll(FireSources, deltaTime); - aiTarget.SightRange = Submarine == null ? aiTarget.MinSightRange : Submarine.Velocity.Length() / 2 * aiTarget.MaxSightRange; - aiTarget.SoundRange -= deltaTime * 1000.0f; + if (aiTarget != null) + { + aiTarget.SightRange = Submarine == null ? aiTarget.MinSightRange : Submarine.Velocity.Length() / 2 * aiTarget.MaxSightRange; + aiTarget.SoundRange -= deltaTime * 1000.0f; + } if (!update) { @@ -594,16 +600,17 @@ namespace Barotrauma { adjacentHulls.Clear(); int startStep = 0; - return GetAdjacentHulls(includingThis, adjacentHulls, ref startStep, searchDepth); + searchDepth = searchDepth ?? 100; + return GetAdjacentHulls(includingThis, adjacentHulls, ref startStep, searchDepth.Value); } - private HashSet GetAdjacentHulls(bool includingThis, HashSet connectedHulls, ref int step, int? searchDepth) + private HashSet GetAdjacentHulls(bool includingThis, HashSet connectedHulls, ref int step, int searchDepth) { if (includingThis) { connectedHulls.Add(this); } - if (step > searchDepth.Value) + if (step > searchDepth) { return connectedHulls; } @@ -642,7 +649,7 @@ namespace Barotrauma foreach (Gap g in ConnectedGaps) { - if (g.ConnectedDoor != null) + if (g.ConnectedDoor != null && !g.ConnectedDoor.IsBroken) { //gap blocked if the door is not open or the predicted state is not open if (!g.ConnectedDoor.IsOpen || (g.ConnectedDoor.PredictedState.HasValue && !g.ConnectedDoor.PredictedState.Value)) @@ -660,7 +667,7 @@ namespace Barotrauma if (g.linkedTo[i] is Hull hull && !connectedHulls.Contains(hull)) { float dist = hull.GetApproximateHullDistance(g.Position, endPos, connectedHulls, target, distance + Vector2.Distance(startPos, g.Position), maxDistance); - if (dist < float.MaxValue) return dist; + if (dist < float.MaxValue) { return dist; } } } } diff --git a/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/BTRoom.cs b/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/BTRoom.cs index 4d400ba24..1537134e1 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/BTRoom.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/BTRoom.cs @@ -40,12 +40,24 @@ namespace Barotrauma.RuinGeneration this.rect = rect; } - public void Split(float minDivRatio, float verticalProbability = 0.5f, int minWidth = 200) + public void Split(float minDivRatio, float verticalProbability = 0.5f, int minWidth = 200, int minHeight = 200) { - subRooms = new BTRoom[2]; + bool verticalSplit = Rand.Range(0.0f, rect.Height / (float)rect.Width, Rand.RandSync.Server) < verticalProbability; + if (rect.Width * minDivRatio < minWidth && rect.Height * minDivRatio < minHeight) + { + minDivRatio = 0.5f; + } + else if (rect.Width * minDivRatio < minWidth) + { + verticalSplit = false; + } + else if (rect.Height * minDivRatio < minHeight) + { + verticalSplit = true; + } - if (Rand.Range(0.0f, rect.Height / (float)rect.Width, Rand.RandSync.Server) < verticalProbability && - rect.Width * minDivRatio >= minWidth) + subRooms = new BTRoom[2]; + if (verticalSplit) { SplitVertical(minDivRatio); } diff --git a/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/RuinGenerationParams.cs b/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/RuinGenerationParams.cs index bf80c5fa6..3fce2e3d9 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/RuinGenerationParams.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/RuinGenerationParams.cs @@ -69,12 +69,18 @@ namespace Barotrauma.RuinGeneration set; } - [Serialize(400, false, description: "The splitting algorithm attempts to keep the dimensions the split areas larger than this. For example, if the width of the split areas would be smaller than this after a vertical split, the algorithm will do a horizontal split."), Editable] + [Serialize(400, false, description: "The splitting algorithm attempts to keep the width of the split areas larger than this. If the width of the split areas would be smaller than this after a vertical split, the algorithm would do a horizontal split."), Editable] public int MinSplitWidth { get; set; } + [Serialize(400, false, description: "The splitting algorithm attempts to keep the height of the split areas larger than this. If the height of the split areas would be smaller than this after a vertical split, the algorithm would do a horizontal split."), Editable] + public int MinSplitHeight + { + get; + set; + } [Serialize("0.5,0.9", false, description: "The minimum and maximum width of a room relative to the areas created by the split algorithm."), Editable] public Vector2 RoomWidthRange diff --git a/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/RuinGenerator.cs b/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/RuinGenerator.cs index 70813cd69..c99b50cdc 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/RuinGenerator.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Levels/Ruins/RuinGenerator.cs @@ -239,7 +239,7 @@ namespace Barotrauma.RuinGeneration for (int i = 0; i < iterations; i++) { - rooms.ForEach(l => l.Split(0.3f, verticalProbability, generationParams.MinSplitWidth)); + rooms.ForEach(l => l.Split(0.3f, verticalProbability, generationParams.MinSplitWidth, generationParams.MinSplitHeight)); rooms = baseRoom.GetLeaves(); } @@ -559,6 +559,11 @@ namespace Barotrauma.RuinGeneration foreach (MapEntity e in entities) { e.Move(doorOffset); + Door doorComponent = (e as Item)?.GetComponent(); + if (doorComponent != null && !entities.Contains(doorComponent.LinkedGap)) + { + doorComponent.LinkedGap.Move(doorOffset); + } } } } diff --git a/Barotrauma/BarotraumaShared/Source/Map/Map/Location.cs b/Barotrauma/BarotraumaShared/Source/Map/Map/Location.cs index 04a108a94..9e1514c81 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Map/Location.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Map/Location.cs @@ -43,7 +43,7 @@ namespace Barotrauma LocationConnection connection = Connections[(MissionsCompleted + i) % Connections.Count]; Location destination = connection.OtherLocation(this); - var mission = Mission.LoadRandom(new Location[] { this, destination }, rand, true, MissionType.Random, true); + var mission = Mission.LoadRandom(new Location[] { this, destination }, rand, true, MissionType.All, true); if (mission == null) { continue; } if (availableMissions.Any(m => m.Prefab == mission.Prefab)) { continue; } if (GameSettings.VerboseLogging && mission != null) @@ -65,7 +65,11 @@ namespace Barotrauma public int SelectedMissionIndex { - get { return availableMissions.IndexOf(SelectedMission); } + get + { + if (SelectedMission == null) { return -1; } + return availableMissions.IndexOf(SelectedMission); + } set { if (value < 0 || value >= AvailableMissions.Count()) diff --git a/Barotrauma/BarotraumaShared/Source/Map/MapEntity.cs b/Barotrauma/BarotraumaShared/Source/Map/MapEntity.cs index 4532f68be..2f095d308 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/MapEntity.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/MapEntity.cs @@ -73,15 +73,7 @@ namespace Barotrauma return !DrawBelowWater; } } - - public virtual bool DrawDamageEffect - { - get - { - return false; - } - } - + public virtual bool Linkable { get { return false; } @@ -344,6 +336,7 @@ namespace Barotrauma structure.Update(deltaTime, cam); } + //update gaps in random order, because otherwise in rooms with multiple gaps //the water/air will always tend to flow through the first gap in the list, //which may lead to weird behavior like water draining down only through @@ -353,6 +346,7 @@ namespace Barotrauma gap.Update(deltaTime, cam); } + Powered.UpdatePower(deltaTime); foreach (Item item in Item.ItemList) { item.Update(deltaTime, cam); diff --git a/Barotrauma/BarotraumaShared/Source/Map/Md5Hash.cs b/Barotrauma/BarotraumaShared/Source/Map/Md5Hash.cs index f9e8be7e1..a441941dd 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Md5Hash.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Md5Hash.cs @@ -85,6 +85,7 @@ namespace Barotrauma public static string GetShortHash(string fullHash) { + if (string.IsNullOrEmpty(fullHash)) { return ""; } return fullHash.Length < 7 ? fullHash : fullHash.Substring(0, 7); } } diff --git a/Barotrauma/BarotraumaShared/Source/Map/Structure.cs b/Barotrauma/BarotraumaShared/Source/Map/Structure.cs index 4836c9c69..cc7ebc246 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Structure.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Structure.cs @@ -121,7 +121,7 @@ namespace Barotrauma } } - public override bool DrawDamageEffect + public bool DrawDamageEffect { get { @@ -206,6 +206,14 @@ namespace Barotrauma } private Rectangle defaultRect; + /// + /// Unscaled rect + /// + public Rectangle DefaultRect + { + get { return defaultRect; } + set { defaultRect = value; } + } public override Rectangle Rect { diff --git a/Barotrauma/BarotraumaShared/Source/Map/WayPoint.cs b/Barotrauma/BarotraumaShared/Source/Map/WayPoint.cs index aa833b8a8..82c473310 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/WayPoint.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/WayPoint.cs @@ -83,6 +83,11 @@ namespace Barotrauma } } + public JobPrefab AssignedJob + { + get { return assignedJob; } + } + public WayPoint(Vector2 position, SpawnType spawnType, Submarine submarine, Gap gap = null) : this(new Rectangle((int)position.X - 3, (int)position.Y + 3, 6, 6), submarine) { diff --git a/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs b/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs index 7add8f969..b2bc4db8f 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs @@ -18,7 +18,9 @@ namespace Barotrauma.Networking public const int MaxMessagesPerPacket = 10; public const float SpeakRange = 2000.0f; - + + private static readonly string dateTimeFormatLongTimePattern = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern; + public static Color[] MessageColor = { new Color(190, 198, 205), //default @@ -66,6 +68,11 @@ namespace Barotrauma.Networking get { return MessageColor[(int)Type]; } } + public static string GetTimeStamp() + { + return $"[{DateTime.Now.ToString(dateTimeFormatLongTimePattern)}] "; + } + public string TextWithSender { get diff --git a/Barotrauma/BarotraumaShared/Source/Networking/Client.cs b/Barotrauma/BarotraumaShared/Source/Networking/Client.cs index 64888301a..98c06bf6d 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/Client.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/Client.cs @@ -14,6 +14,8 @@ namespace Barotrauma.Networking public byte ID; public UInt64 SteamID; + public string PreferredJob; + public Character.TeamType TeamID; private Character character; diff --git a/Barotrauma/BarotraumaShared/Source/Networking/EntitySpawner.cs b/Barotrauma/BarotraumaShared/Source/Networking/EntitySpawner.cs index fff151815..50b186cd1 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/EntitySpawner.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/EntitySpawner.cs @@ -7,8 +7,6 @@ namespace Barotrauma { partial class EntitySpawner : Entity, IServerSerializable { - const int MaxEntitiesPerWrite = 10; - private enum SpawnableType { Item, Character }; interface IEntitySpawnInfo @@ -53,7 +51,7 @@ namespace Barotrauma { return null; } - Item spawnedItem = null; + Item spawnedItem; if (Inventory != null) { spawnedItem = new Item(Prefab, Vector2.Zero, null); @@ -67,6 +65,41 @@ namespace Barotrauma } } + class CharacterSpawnInfo : IEntitySpawnInfo + { + public readonly string identifier; + + public readonly Vector2 Position; + public readonly Submarine Submarine; + + private readonly Action onSpawn; + + public CharacterSpawnInfo(string identifier, Vector2 worldPosition, Action onSpawn = null) + { + this.identifier = identifier ?? throw new ArgumentException("ItemSpawnInfo prefab cannot be null."); + Position = worldPosition; + this.onSpawn = onSpawn; + } + + public CharacterSpawnInfo(string identifier, Vector2 position, Submarine sub, Action onSpawn = null) + { + this.identifier = identifier ?? throw new ArgumentException("ItemSpawnInfo prefab cannot be null."); + Position = position; + Submarine = sub; + this.onSpawn = onSpawn; + } + + public Entity Spawn() + { + var character = string.IsNullOrEmpty(identifier) ? null : + Character.Create(identifier, + Submarine == null ? Position : Submarine.Position + Position, + ToolBox.RandomSeed(8), createNetworkEvent: false); + onSpawn?.Invoke(character); + return character; + } + } + private readonly Queue spawnQueue; private readonly Queue removeQueue; @@ -134,6 +167,32 @@ namespace Barotrauma spawnQueue.Enqueue(new ItemSpawnInfo(itemPrefab, inventory, condition)); } + public void AddToSpawnQueue(string speciesName, Vector2 worldPosition, Action onSpawn = null) + { + if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient) { return; } + if (string.IsNullOrEmpty(speciesName)) + { + string errorMsg = "Attempted to add an empty/null species name to entity spawn queue.\n" + Environment.StackTrace; + DebugConsole.ThrowError(errorMsg); + GameAnalyticsManager.AddErrorEventOnce("EntitySpawner.AddToSpawnQueue4:SpeciesNameNullOrEmpty", GameAnalyticsSDK.Net.EGAErrorSeverity.Error, errorMsg); + return; + } + spawnQueue.Enqueue(new CharacterSpawnInfo(speciesName, worldPosition, onSpawn)); + } + + public void AddToSpawnQueue(string speciesName, Vector2 position, Submarine sub, Action onSpawn = null) + { + if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient) { return; } + if (string.IsNullOrEmpty(speciesName)) + { + string errorMsg = "Attempted to add an empty/null species name to entity spawn queue.\n" + Environment.StackTrace; + DebugConsole.ThrowError(errorMsg); + GameAnalyticsManager.AddErrorEventOnce("EntitySpawner.AddToSpawnQueue5:SpeciesNameNullOrEmpty", GameAnalyticsSDK.Net.EGAErrorSeverity.Error, errorMsg); + return; + } + spawnQueue.Enqueue(new CharacterSpawnInfo(speciesName, position, sub, onSpawn)); + } + public void AddToRemoveQueue(Entity entity) { if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient) { return; } diff --git a/Barotrauma/BarotraumaShared/Source/Networking/NetConfig.cs b/Barotrauma/BarotraumaShared/Source/Networking/NetConfig.cs index 2df69075a..6fd92e83f 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/NetConfig.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/NetConfig.cs @@ -44,6 +44,7 @@ namespace Barotrauma.Networking public const float ItemConditionUpdateInterval = 0.15f; public const float LevelObjectUpdateInterval = 0.5f; public const float HullUpdateInterval = 0.5f; + public const float SparseHullUpdateInterval = 5.0f; public const float HullUpdateDistance = 20000.0f; public const int MaxEventPacketsPerUpdate = 4; diff --git a/Barotrauma/BarotraumaShared/Source/Networking/NetworkMember.cs b/Barotrauma/BarotraumaShared/Source/Networking/NetworkMember.cs index 0bf51e210..056467f39 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/NetworkMember.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/NetworkMember.cs @@ -62,7 +62,8 @@ namespace Barotrauma.Networking STARTGAME, //start a new round ENDGAME, - TRAITOR_MESSAGE + TRAITOR_MESSAGE, + MISSION } enum ServerNetObject { @@ -152,12 +153,10 @@ namespace Barotrauma.Networking protected RespawnManager respawnManager; public bool ShowNetStats; - -#if DEBUG + public float SimulatedRandomLatency, SimulatedMinimumLatency; public float SimulatedLoss; public float SimulatedDuplicatesChance; -#endif public int TickRate { diff --git a/Barotrauma/BarotraumaShared/Source/Networking/Primitives/NetworkConnection/LidgrenConnection.cs b/Barotrauma/BarotraumaShared/Source/Networking/Primitives/NetworkConnection/LidgrenConnection.cs index 1825dd108..8ab15b2e1 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/Primitives/NetworkConnection/LidgrenConnection.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/Primitives/NetworkConnection/LidgrenConnection.cs @@ -14,7 +14,7 @@ namespace Barotrauma.Networking { get { - return IPEndPoint.Address.IsIPv4MappedToIPv6 ? IPEndPoint.Address.MapToIPv4().ToString() : IPEndPoint.Address.ToString(); + return IPEndPoint.Address.IsIPv4MappedToIPv6 ? IPEndPoint.Address.MapToIPv4NoThrow().ToString() : IPEndPoint.Address.ToString(); } } diff --git a/Barotrauma/BarotraumaShared/Source/Networking/ServerLog.cs b/Barotrauma/BarotraumaShared/Source/Networking/ServerLog.cs index 02606590c..a5de5ef35 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/ServerLog.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/ServerLog.cs @@ -17,11 +17,11 @@ namespace Barotrauma.Networking { if (type.HasFlag(MessageType.Chat)) { - Text = $"[{DateTime.Now.ToString()}] {text}"; + Text = $"[{DateTime.Now.ToString()}]\n {text}"; } else { - Text = $"[{DateTime.Now.ToString()}] {TextManager.GetServerMessage(text)}"; + Text = $"[{DateTime.Now.ToString()}]\n {TextManager.GetServerMessage(text)}"; } Type = type; @@ -101,7 +101,7 @@ namespace Barotrauma.Networking lines.Enqueue(newText); #if CLIENT - if (LogFrame != null) + if (listBox != null) { AddLine(newText); diff --git a/Barotrauma/BarotraumaShared/Source/Networking/ServerSettings.cs b/Barotrauma/BarotraumaShared/Source/Networking/ServerSettings.cs index 73776fb79..8670798c0 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/ServerSettings.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/ServerSettings.cs @@ -28,6 +28,15 @@ namespace Barotrauma.Networking Normal, Fill } + public enum PlayStyle + { + Serious = 0, + Casual = 1, + Roleplay = 2, + Rampage = 3, + SomethingDifferent = 4 + } + partial class ServerSettings : ISerializableEntity { public const string SettingsFile = "serversettings.xml"; @@ -82,10 +91,9 @@ namespace Barotrauma.Networking partial class NetPropertyData { - private SerializableProperty property; - private string typeString; - - private object parentObject; + private readonly SerializableProperty property; + private readonly string typeString; + private readonly object parentObject; public string Name { @@ -257,7 +265,7 @@ namespace Barotrauma.Networking private set; } - Dictionary netProperties; + private readonly Dictionary netProperties; partial void InitProjSpecific(); @@ -348,7 +356,6 @@ namespace Barotrauma.Networking public Dictionary ExtraCargo { get; private set; } - private TimeSpan sparseUpdateInterval = new TimeSpan(0, 0, 0, 3); private float selectedLevelDifficulty; private byte[] password; @@ -481,6 +488,18 @@ namespace Barotrauma.Networking } } + private PlayStyle playstyleSelection; + [Serialize(PlayStyle.Serious, true)] + public PlayStyle PlayStyle + { + get { return playstyleSelection; } + set + { + playstyleSelection = value; + ServerDetailsChanged = true; + } + } + [Serialize(800, true)] private int LinesPerLogFile { @@ -603,6 +622,20 @@ namespace Barotrauma.Networking set; } + + [Serialize("", true)] + public string SelectedSubmarine + { + get; + set; + } + [Serialize("", true)] + public string SelectedShuttle + { + get; + set; + } + private YesNoMaybe traitorsEnabled; [Serialize(YesNoMaybe.No, true)] public YesNoMaybe TraitorsEnabled @@ -744,7 +777,7 @@ namespace Barotrauma.Networking set; } - [Serialize("Random", true)] + [Serialize("All", true)] public string MissionType { get; diff --git a/Barotrauma/BarotraumaShared/Source/Physics/Physics.cs b/Barotrauma/BarotraumaShared/Source/Physics/Physics.cs index 392572daf..b19aa5e29 100644 --- a/Barotrauma/BarotraumaShared/Source/Physics/Physics.cs +++ b/Barotrauma/BarotraumaShared/Source/Physics/Physics.cs @@ -18,6 +18,51 @@ namespace Barotrauma public static float DisplayToRealWorldRatio = 1.0f / 80.0f; - public const float DisplayToSimRation = 100.0f; + public const float DisplayToSimRation = 100.0f; + + public static bool TryParseCollisionCategory(string categoryName, out Category category) + { + category = Category.None; + if (string.IsNullOrEmpty(categoryName)) + { + return false; + } + switch (categoryName.ToLowerInvariant()) + { + case "all": + category = CollisionAll; + return true; + case "wall": + case "structure": + category = CollisionWall; + return true; + case "character": + category = CollisionCharacter; + return true; + case "platform": + category = CollisionPlatform; + return true; + case "stairs": + category = CollisionStairs; + return true; + case "item": + category = CollisionItem; + return true; + case "itemblocking": + category = CollisionItemBlocking; + return true; + case "projectile": + category = CollisionProjectile; + return true; + case "level": + category = CollisionLevel; + return true; + case "repair": + category = CollisionRepair; + return true; + default: + return false; + } + } } } diff --git a/Barotrauma/BarotraumaShared/Source/Physics/PhysicsBody.cs b/Barotrauma/BarotraumaShared/Source/Physics/PhysicsBody.cs index 706d29e58..599924055 100644 --- a/Barotrauma/BarotraumaShared/Source/Physics/PhysicsBody.cs +++ b/Barotrauma/BarotraumaShared/Source/Physics/PhysicsBody.cs @@ -445,7 +445,7 @@ namespace Barotrauma default: throw new NotImplementedException(); } - return spritesheetRotation == 0 ? pos : Vector2.Transform(pos, Matrix.CreateRotationZ(spritesheetRotation)); + return spritesheetRotation == 0 ? pos : Vector2.Transform(pos, Matrix.CreateRotationZ(-spritesheetRotation)); } public float GetMaxExtent() @@ -654,9 +654,9 @@ namespace Barotrauma if (newSpeedSqr > maxVelocity * maxVelocity) { newVelocity = newVelocity.ClampLength(maxVelocity); + force = (newVelocity - body.LinearVelocity) * Mass / (float)Timing.Step; } - Vector2 clampedForce = (newVelocity - body.LinearVelocity) * Mass / (float)Timing.Step; if (!IsValidValue(force, "clamped force", -1e10f, 1e10f)) return; body.ApplyForce(force); } diff --git a/Barotrauma/BarotraumaShared/Source/Screens/NetLobbyScreen.cs b/Barotrauma/BarotraumaShared/Source/Screens/NetLobbyScreen.cs index e479fb5c6..4d5cfa806 100644 --- a/Barotrauma/BarotraumaShared/Source/Screens/NetLobbyScreen.cs +++ b/Barotrauma/BarotraumaShared/Source/Screens/NetLobbyScreen.cs @@ -33,6 +33,7 @@ namespace Barotrauma #endif #if CLIENT levelDifficultyScrollBar.BarScroll = difficulty / 100.0f; + levelDifficultyScrollBar.OnMoved(levelDifficultyScrollBar, levelDifficultyScrollBar.BarScroll); #endif } diff --git a/Barotrauma/BarotraumaShared/Source/Serialization/SerializableProperty.cs b/Barotrauma/BarotraumaShared/Source/Serialization/SerializableProperty.cs index 56f502e56..75ce1f208 100644 --- a/Barotrauma/BarotraumaShared/Source/Serialization/SerializableProperty.cs +++ b/Barotrauma/BarotraumaShared/Source/Serialization/SerializableProperty.cs @@ -689,7 +689,8 @@ namespace Barotrauma { if (subElement.Name.ToString().ToLowerInvariant() != "upgrade") { continue; } var upgradeVersion = new Version(subElement.GetAttributeString("gameversion", "0.0.0.0")); - if (savedVersion >= upgradeVersion) { continue; } + if (savedVersion >= upgradeVersion) { continue; } + foreach (XAttribute attribute in subElement.Attributes()) { string attributeName = attribute.Name.ToString().ToLowerInvariant(); @@ -698,9 +699,9 @@ namespace Barotrauma { property.TrySetValue(entity, attribute.Value); } - else if (entity is Item item) + else if (entity is Item item1) { - foreach (ISerializableEntity component in item.AllPropertyObjects) + foreach (ISerializableEntity component in item1.AllPropertyObjects) { if (component.SerializableProperties.TryGetValue(attributeName, out SerializableProperty componentProperty)) { @@ -708,7 +709,28 @@ namespace Barotrauma } } } - } + } + + if (entity is Item item2) + { + XElement componentElement = subElement.FirstElement(); + if (componentElement == null) continue; + ItemComponent itemComponent = item2.Components.First(c => c.Name == componentElement.Name.ToString()); + if (itemComponent == null) continue; + foreach (XElement element in componentElement.Elements()) + { + switch (element.Name.ToString().ToLowerInvariant()) + { + case "requireditem": + case "requireditems": + itemComponent.requiredItems.Clear(); + itemComponent.DisabledRequiredItems.Clear(); + + itemComponent.SetRequiredItems(element); + break; + } + } + } } } } diff --git a/Barotrauma/BarotraumaShared/Source/Serialization/XMLExtensions.cs b/Barotrauma/BarotraumaShared/Source/Serialization/XMLExtensions.cs index 4385a3427..fa5b9db8b 100644 --- a/Barotrauma/BarotraumaShared/Source/Serialization/XMLExtensions.cs +++ b/Barotrauma/BarotraumaShared/Source/Serialization/XMLExtensions.cs @@ -260,6 +260,42 @@ namespace Barotrauma return val; } + public static UInt64 GetAttributeUInt64(this XElement element, string name, UInt64 defaultValue) + { + if (element?.Attribute(name) == null) return defaultValue; + + UInt64 val = defaultValue; + + try + { + val = UInt64.Parse(element.Attribute(name).Value); + } + catch (Exception e) + { + DebugConsole.ThrowError("Error in " + element + "! ", e); + } + + return val; + } + + public static UInt64 GetAttributeSteamID(this XElement element, string name, UInt64 defaultValue) + { + if (element?.Attribute(name) == null) return defaultValue; + + UInt64 val = defaultValue; + + try + { + val = Steam.SteamManager.SteamIDStringToUInt64(element.Attribute(name).Value); + } + catch (Exception e) + { + DebugConsole.ThrowError("Error in " + element + "! ", e); + } + + return val; + } + public static int[] GetAttributeIntArray(this XElement element, string name, int[] defaultValue) { if (element?.Attribute(name) == null) return defaultValue; @@ -497,27 +533,54 @@ namespace Barotrauma Color color = Color.White; - if (strComponents.Length < 3) - { - if (errorMessages) DebugConsole.ThrowError("Failed to parse the string \"" + stringColor + "\" to Color"); - return Color.White; - } - float[] components = new float[4] { 1.0f, 1.0f, 1.0f, 1.0f }; - - for (int i = 0; i < 4 && i < strComponents.Length; i++) - { - float.TryParse(strComponents[i], NumberStyles.Float, CultureInfo.InvariantCulture, out components[i]); - } - if (components.Any(c => c > 1.0f)) + if (strComponents.Length == 1) { - for (int i = 0; i < 4; i++) + bool hexFailed = true; + stringColor = stringColor.Trim(); + if (stringColor[0]=='#') { - components[i] = components[i] / 255.0f; + stringColor = stringColor.Substring(1); + + int colorInt = 0; + if (int.TryParse(stringColor, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out colorInt)) + { + if (stringColor.Length == 6) + { + colorInt = (colorInt << 8) | 0xff; + } + components[0] = ((float)((colorInt & 0xff000000) >> 24)) / 255.0f; + components[1] = ((float)((colorInt & 0x00ff0000) >> 16)) / 255.0f; + components[2] = ((float)((colorInt & 0x0000ff00) >> 8)) / 255.0f; + components[3] = ((float)(colorInt & 0x000000ff)) / 255.0f; + + hexFailed = false; + } + } + + if (hexFailed) + { + if (errorMessages) DebugConsole.ThrowError("Failed to parse the string \"" + stringColor + "\" to Color"); + return Color.White; + } + } + else + { + for (int i = 0; i < 4 && i < strComponents.Length; i++) + { + float.TryParse(strComponents[i], NumberStyles.Float, CultureInfo.InvariantCulture, out components[i]); + } + + if (components.Any(c => c > 1.0f)) + { + for (int i = 0; i < 4; i++) + { + components[i] = components[i] / 255.0f; + } + //alpha defaults to 1.0 if not given + if (strComponents.Length < 4) components[3] = 1.0f; } - //alpha defaults to 255 if not given - if (strComponents.Length < 4) components[3] = 255; } return new Color(components[0], components[1], components[2], components[3]); diff --git a/Barotrauma/BarotraumaShared/Source/Sprite/ConditionalSprite.cs b/Barotrauma/BarotraumaShared/Source/Sprite/ConditionalSprite.cs index 93fa48eb7..f67db30b2 100644 --- a/Barotrauma/BarotraumaShared/Source/Sprite/ConditionalSprite.cs +++ b/Barotrauma/BarotraumaShared/Source/Sprite/ConditionalSprite.cs @@ -4,20 +4,34 @@ using System.Linq; namespace Barotrauma { - class ConditionalSprite : Sprite + partial class ConditionalSprite { public readonly List conditionals = new List(); public bool IsActive => Target != null && conditionals.All(c => c.Matches(Target)); - readonly ISerializableEntity Target; + public ISerializableEntity Target { get; private set; } + public Sprite Sprite { get; private set; } + public DeformableSprite DeformableSprite { get; private set; } + public Sprite ActiveSprite => Sprite ?? DeformableSprite.Sprite; - public ConditionalSprite(XElement element, ISerializableEntity target, string path = "", string file = "") : base(element, path, file) + public ConditionalSprite(XElement element, ISerializableEntity target, string path = "", string file = "", bool lazyLoad = false) { Target = target; foreach (XElement subElement in element.Elements()) { - foreach (XAttribute attribute in subElement.Attributes()) + switch (subElement.Name.ToString().ToLowerInvariant()) { - conditionals.Add(new PropertyConditional(attribute)); + case "conditional": + foreach (XAttribute attribute in subElement.Attributes()) + { + conditionals.Add(new PropertyConditional(attribute)); + } + break; + case "sprite": + Sprite = new Sprite(subElement, path, file, lazyLoad: lazyLoad); + break; + case "deformablesprite": + DeformableSprite = new DeformableSprite(subElement, filePath: path, lazyLoad: lazyLoad); + break; } } } diff --git a/Barotrauma/BarotraumaShared/Source/StatusEffects/DelayedEffect.cs b/Barotrauma/BarotraumaShared/Source/StatusEffects/DelayedEffect.cs index 354c1b2bc..cddc9c97d 100644 --- a/Barotrauma/BarotraumaShared/Source/StatusEffects/DelayedEffect.cs +++ b/Barotrauma/BarotraumaShared/Source/StatusEffects/DelayedEffect.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Xml.Linq; +using Microsoft.Xna.Framework; namespace Barotrauma { @@ -8,6 +9,7 @@ namespace Barotrauma { public DelayedEffect Parent; public Entity Entity; + public Vector2? WorldPosition; public List Targets; public float StartTimer; } @@ -23,7 +25,7 @@ namespace Barotrauma delay = element.GetAttributeFloat("delay", 1.0f); } - public override void Apply(ActionType type, float deltaTime, Entity entity, ISerializableEntity target) + public override void Apply(ActionType type, float deltaTime, Entity entity, ISerializableEntity target, Vector2? worldPosition = null) { if (this.type != type || !HasRequiredItems(entity)) return; if (!Stackable && DelayList.Any(d => d.Parent == this && d.Targets.FirstOrDefault() == target)) return; @@ -36,13 +38,14 @@ namespace Barotrauma Parent = this, StartTimer = delay, Entity = entity, + WorldPosition = worldPosition, Targets = new List() { target } }; DelayList.Add(element); } - public override void Apply(ActionType type, float deltaTime, Entity entity, IEnumerable targets) + public override void Apply(ActionType type, float deltaTime, Entity entity, IEnumerable targets, Vector2? worldPosition = null) { if (this.type != type || !HasRequiredItems(entity)) return; if (!Stackable && DelayList.Any(d => d.Parent == this && d.Targets.SequenceEqual(targets))) return; @@ -65,6 +68,7 @@ namespace Barotrauma Parent = this, StartTimer = delay, Entity = entity, + WorldPosition = worldPosition, Targets = currentTargets }; @@ -86,7 +90,7 @@ namespace Barotrauma if (element.StartTimer > 0.0f) continue; - element.Parent.Apply(1.0f, element.Entity, element.Targets); + element.Parent.Apply(1.0f, element.Entity, element.Targets, element.WorldPosition); DelayList.Remove(element); } } diff --git a/Barotrauma/BarotraumaShared/Source/StatusEffects/PropertyConditional.cs b/Barotrauma/BarotraumaShared/Source/StatusEffects/PropertyConditional.cs index 4675e0194..c33a5238e 100644 --- a/Barotrauma/BarotraumaShared/Source/StatusEffects/PropertyConditional.cs +++ b/Barotrauma/BarotraumaShared/Source/StatusEffects/PropertyConditional.cs @@ -250,29 +250,32 @@ namespace Barotrauma } case ConditionType.Affliction: if (target == null) { return Operator == OperatorType.NotEquals; } - if (target is Character targetChar) + + Character targetChar = target as Character; + if (target is Limb limb) { targetChar = limb.character; } + if (targetChar != null) { var health = targetChar.CharacterHealth; if (health == null) { return false; } var affliction = health.GetAffliction(AttributeName); - if (affliction == null) { return false; } + float afflictionStrength = affliction == null ? 0.0f : affliction.Strength; if (FloatValue.HasValue) { float value = FloatValue.Value; switch (Operator) { case OperatorType.Equals: - return affliction.Strength == value; + return afflictionStrength == value; case OperatorType.GreaterThan: - return affliction.Strength > value; + return afflictionStrength > value; case OperatorType.GreaterThanEquals: - return affliction.Strength >= value; + return afflictionStrength >= value; case OperatorType.LessThan: - return affliction.Strength < value; + return afflictionStrength < value; case OperatorType.LessThanEquals: - return affliction.Strength <= value; + return afflictionStrength <= value; case OperatorType.NotEquals: - return affliction.Strength != value; + return afflictionStrength != value; } } } diff --git a/Barotrauma/BarotraumaShared/Source/StatusEffects/StatusEffect.cs b/Barotrauma/BarotraumaShared/Source/StatusEffects/StatusEffect.cs index 79ee3e828..1cd61bd4f 100644 --- a/Barotrauma/BarotraumaShared/Source/StatusEffects/StatusEffect.cs +++ b/Barotrauma/BarotraumaShared/Source/StatusEffects/StatusEffect.cs @@ -87,6 +87,27 @@ namespace Barotrauma } } + class CharacterSpawnInfo : ISerializableEntity + { + public string Name => $"Character Spawn Info ({SpeciesName})"; + public Dictionary SerializableProperties { get; set; } + + [Serialize("", false)] + public string SpeciesName { get; private set; } + [Serialize(1, false)] + public int Count { get; private set; } + [Serialize(0f, false)] + public float Spread { get; private set; } + + public CharacterSpawnInfo(XElement element, string parentDebugName) + { + SerializableProperties = SerializableProperty.DeserializeProperties(this, element); + if (string.IsNullOrEmpty(SpeciesName)) + { + DebugConsole.ThrowError($"Invalid character spawn ({Name}) in StatusEffect \"{parentDebugName}\" - identifier not found in the element \"{element.ToString()}\""); + } + } + } private TargetType targetTypes; protected HashSet targetIdentifiers; @@ -106,6 +127,9 @@ namespace Barotrauma private HashSet tags; private readonly float duration; + private readonly float lifeTime; + private float lifeTimer; + public static readonly List DurationList = new List(); public bool CheckConditionalAlways; //Always do the conditional checks for the duration/delay. If false, only check conditional on apply. @@ -114,17 +138,20 @@ namespace Barotrauma private readonly int useItemCount; - private readonly bool removeItem; + private readonly bool removeItem, removeCharacter; public readonly ActionType type = ActionType.OnActive; - private Explosion explosion; + private readonly Explosion explosion; private List spawnItems; + private List spawnCharacters; private Character user; public readonly float FireSize; + + public readonly LimbType targetLimb; public readonly float SeverLimbsProbability; @@ -180,11 +207,17 @@ namespace Barotrauma { requiredItems = new List(); spawnItems = new List(); + spawnCharacters = new List(); Afflictions = new List(); ReduceAffliction = new List>(); tags = new HashSet(element.GetAttributeString("tags", "").Split(',')); Range = element.GetAttributeFloat("range", 0.0f); + string targetLimbName = element.GetAttributeString("targetlimb", null); + if (targetLimbName != null) + { + Enum.TryParse(targetLimbName, out targetLimb); + } IEnumerable attributes = element.Attributes(); List propertyAttributes = new List(); @@ -242,6 +275,10 @@ namespace Barotrauma case "stackable": Stackable = attribute.GetAttributeBool(true); break; + case "lifetime": + lifeTime = attribute.GetAttributeFloat(0); + lifeTimer = lifeTime; + break; case "checkconditionalalways": CheckConditionalAlways = attribute.GetAttributeBool(false); break; @@ -292,9 +329,12 @@ namespace Barotrauma case "removeitem": removeItem = true; break; + case "removecharacter": + removeCharacter = true; + break; case "requireditem": case "requireditems": - RelatedItem newRequiredItem = RelatedItem.Load(subElement, parentDebugName); + RelatedItem newRequiredItem = RelatedItem.Load(subElement, returnEmpty: false, parentDebugName: parentDebugName); if (newRequiredItem == null) { DebugConsole.ThrowError("Error in StatusEffect config - requires an item with no identifiers."); @@ -365,7 +405,11 @@ namespace Barotrauma break; case "spawnitem": var newSpawnItem = new ItemSpawnInfo(subElement, parentDebugName); - if (newSpawnItem.ItemPrefab != null) spawnItems.Add(newSpawnItem); + if (newSpawnItem.ItemPrefab != null) { spawnItems.Add(newSpawnItem); } + break; + case "spawncharacter": + var newSpawnCharacter = new CharacterSpawnInfo(subElement, parentDebugName); + if (!string.IsNullOrWhiteSpace(newSpawnCharacter.SpeciesName)) { spawnCharacters.Add(newSpawnCharacter); } break; } } @@ -433,8 +477,8 @@ namespace Barotrauma public virtual bool HasRequiredConditions(List targets) { - if (!propertyConditionals.Any()) return true; - if (requiredItems.All(ri => ri.MatchOnEmpty) && targets.Count == 0) return true; + if (!propertyConditionals.Any()) { return true; } + if (requiredItems.Any() && requiredItems.All(ri => ri.MatchOnEmpty) && targets.Count == 0) { return true; } switch (conditionalComparison) { case PropertyConditional.Comparison.Or: @@ -513,7 +557,7 @@ namespace Barotrauma } } - public virtual void Apply(ActionType type, float deltaTime, Entity entity, ISerializableEntity target) + public virtual void Apply(ActionType type, float deltaTime, Entity entity, ISerializableEntity target, Vector2? worldPosition = null) { if (this.type != type || !HasRequiredItems(entity)) return; @@ -535,11 +579,11 @@ namespace Barotrauma if (!HasRequiredConditions(targets)) return; - Apply(deltaTime, entity, targets); + Apply(deltaTime, entity, targets, worldPosition); } protected readonly List currentTargets = new List(); - public virtual void Apply(ActionType type, float deltaTime, Entity entity, IEnumerable targets) + public virtual void Apply(ActionType type, float deltaTime, Entity entity, IEnumerable targets, Vector2? worldPosition = null) { if (this.type != type) return; @@ -570,11 +614,17 @@ namespace Barotrauma } } - Apply(deltaTime, entity, currentTargets); + Apply(deltaTime, entity, currentTargets, worldPosition); } - protected void Apply(float deltaTime, Entity entity, List targets) + protected void Apply(float deltaTime, Entity entity, List targets, Vector2? worldPosition = null) { + if (lifeTime > 0) + { + lifeTimer -= deltaTime; + if (lifeTimer <= 0) { return; } + } + Hull hull = null; if (entity is Character) { @@ -585,9 +635,22 @@ namespace Barotrauma hull = ((Item)entity).CurrentHull; } + Vector2 position = worldPosition ?? entity.WorldPosition; + if (targetLimb != LimbType.None) + { + if (entity is Character c) + { + Limb limb = c.AnimController.GetLimb(targetLimb); + if (limb != null) + { + position = limb.WorldPosition; + } + } + } + foreach (ISerializableEntity serializableEntity in targets) { - if (!(serializableEntity is Item item)) continue; + if (!(serializableEntity is Item item)) { continue; } Character targetCharacter = targets.FirstOrDefault(t => t is Character character && !character.Removed) as Character; if (targetCharacter == null) @@ -606,9 +669,16 @@ namespace Barotrauma if (removeItem) { - foreach (Item item in targets.Where(t => t is Item).Cast()) + foreach (var target in targets) { - Entity.Spawner?.AddToRemoveQueue(item); + if (target is Item item) { Entity.Spawner?.AddToRemoveQueue(item); } + } + } + if (removeCharacter) + { + foreach (var target in targets) + { + if (target is Character character) { Entity.Spawner?.AddToRemoveQueue(character); } } } @@ -643,7 +713,10 @@ namespace Barotrauma } } - if (explosion != null && entity != null) { explosion.Explode(entity.WorldPosition, damageSource: entity, attacker: user); } + if (explosion != null && entity != null) + { + explosion.Explode(position, damageSource: entity, attacker: user); + } foreach (ISerializableEntity target in targets) { @@ -658,7 +731,7 @@ namespace Barotrauma character.LastDamageSource = entity; foreach (Limb limb in character.AnimController.Limbs) { - limb.character.DamageLimb(entity.WorldPosition, limb, new List() { multipliedAffliction }, stun: 0.0f, playSound: false, attackImpulse: 0.0f, attacker: affliction.Source); + limb.character.DamageLimb(position, limb, new List() { multipliedAffliction }, stun: 0.0f, playSound: false, attackImpulse: 0.0f, attacker: affliction.Source); limb.character.TrySeverLimbJoints(limb, SeverLimbsProbability); //only apply non-limb-specific afflictions to the first limb if (!affliction.Prefab.LimbSpecific) { break; } @@ -667,7 +740,7 @@ namespace Barotrauma else if (target is Limb limb) { if (limb.character.Removed) { continue; } - limb.character.DamageLimb(entity.WorldPosition, limb, new List() { multipliedAffliction }, stun: 0.0f, playSound: false, attackImpulse: 0.0f, attacker: affliction.Source); + limb.character.DamageLimb(position, limb, new List() { multipliedAffliction }, stun: 0.0f, playSound: false, attackImpulse: 0.0f, attacker: affliction.Source); limb.character.TrySeverLimbJoints(limb, SeverLimbsProbability); } } @@ -694,25 +767,40 @@ namespace Barotrauma GameMain.Server.KarmaManager.OnCharacterHealthChanged(targetCharacter, user, prevVitality - targetCharacter.Vitality); #endif } - } } if (FireSize > 0.0f && entity != null) { - var fire = new FireSource(entity.WorldPosition, hull); + var fire = new FireSource(position, hull); fire.Size = new Vector2(FireSize, fire.Size.Y); } bool isNotClient = GameMain.NetworkMember == null || !GameMain.NetworkMember.IsClient; - if (isNotClient && entity != null && Entity.Spawner != null) //clients are not allowed to spawn items + if (isNotClient && entity != null && Entity.Spawner != null) //clients are not allowed to spawn entities { + foreach (CharacterSpawnInfo characterSpawnInfo in spawnCharacters) + { + var characters = new List(); + for (int i = 0; i < characterSpawnInfo.Count; i++) + { + Entity.Spawner.AddToSpawnQueue(characterSpawnInfo.SpeciesName, position + Rand.Vector(characterSpawnInfo.Spread, Rand.RandSync.Server), + onSpawn: newCharacter => + { + characters.Add(newCharacter); + if (characters.Count == characterSpawnInfo.Count) + { + SwarmBehavior.CreateSwarm(characters.Cast()); + } + }); + } + } foreach (ItemSpawnInfo itemSpawnInfo in spawnItems) { switch (itemSpawnInfo.SpawnPosition) { case ItemSpawnInfo.SpawnPositionType.This: - Entity.Spawner.AddToSpawnQueue(itemSpawnInfo.ItemPrefab, entity.WorldPosition); + Entity.Spawner.AddToSpawnQueue(itemSpawnInfo.ItemPrefab, position); break; case ItemSpawnInfo.SpawnPositionType.ThisInventory: { @@ -761,10 +849,10 @@ namespace Barotrauma } } - ApplyProjSpecific(deltaTime, entity, targets, hull); + ApplyProjSpecific(deltaTime, entity, targets, hull, position); } - partial void ApplyProjSpecific(float deltaTime, Entity entity, List targets, Hull currentHull); + partial void ApplyProjSpecific(float deltaTime, Entity entity, List targets, Hull currentHull, Vector2 worldPosition); private void ApplyToProperty(ISerializableEntity target, SerializableProperty property, object value, float deltaTime) { diff --git a/Barotrauma/BarotraumaShared/Source/Utils/IPExtensions.cs b/Barotrauma/BarotraumaShared/Source/Utils/IPExtensions.cs new file mode 100644 index 000000000..954b6b127 --- /dev/null +++ b/Barotrauma/BarotraumaShared/Source/Utils/IPExtensions.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; + +namespace Barotrauma +{ + public static class IPExtensions + { + //workaround for .NET Framework 4.5 bug; presumably fixed in later versions + //see https://stackoverflow.com/questions/23608829/why-does-ipaddress-maptoipv4-throw-argumentoutofrangeexception + public static IPAddress MapToIPv4NoThrow(this IPAddress address) + { + byte[] addressBytes = address.GetAddressBytes(); + + return new IPAddress(addressBytes.Skip(addressBytes.Length - 4).ToArray()); + } + } +} diff --git a/Barotrauma/BarotraumaShared/Source/Utils/SaveUtil.cs b/Barotrauma/BarotraumaShared/Source/Utils/SaveUtil.cs index 52168a7e9..83fe7cb41 100644 --- a/Barotrauma/BarotraumaShared/Source/Utils/SaveUtil.cs +++ b/Barotrauma/BarotraumaShared/Source/Utils/SaveUtil.cs @@ -12,8 +12,8 @@ namespace Barotrauma { partial class SaveUtil { - private static string LegacySaveFolder = Path.Combine("Data", "Saves"); - private static string LegacyMultiplayerSaveFolder = Path.Combine(LegacySaveFolder, "Multiplayer"); + private static readonly string LegacySaveFolder = Path.Combine("Data", "Saves"); + private static readonly string LegacyMultiplayerSaveFolder = Path.Combine(LegacySaveFolder, "Multiplayer"); #if OSX //"/*user*/Library/Application Support/Daedalic Entertainment GmbH/" on Mac @@ -32,9 +32,10 @@ namespace Barotrauma "Barotrauma"); #endif - public static string MultiplayerSaveFolder = Path.Combine( - SaveFolder, - "Multiplayer"); + public static string MultiplayerSaveFolder = Path.Combine(SaveFolder, "Multiplayer"); + + public static readonly string SubmarineDownloadFolder = Path.Combine("Submarines", "Downloaded"); + public static readonly string CampaignDownloadFolder = Path.Combine("Data", "Saves", "Multiplayer"); public delegate void ProgressDelegate(string sMessage); @@ -46,7 +47,7 @@ namespace Barotrauma get { return Path.Combine(SaveFolder, "temp"); } #endif } - + public enum SaveType { Singleplayer, @@ -208,11 +209,11 @@ namespace Barotrauma if (Directory.Exists(legacyFolder)) { files.AddRange(Directory.GetFiles(legacyFolder, "*.save")); - } + } return files; } - + public static string CreateSavePath(SaveType saveType, string fileName = "Save_Default") { fileName = ToolBox.RemoveInvalidFileNameChars(fileName); @@ -229,7 +230,7 @@ namespace Barotrauma DebugConsole.Log("Save folder \"" + folder + "\" not found. Created new folder"); Directory.CreateDirectory(folder); } - + string extension = ".save"; string pathWithoutExtension = Path.Combine(folder, fileName); @@ -246,7 +247,7 @@ namespace Barotrauma return pathWithoutExtension + " " + i + extension; } - + public static void CompressStringToFile(string fileName, string value) { // A. @@ -296,8 +297,7 @@ namespace Barotrauma foreach (string sFilePath in sFiles) { string sRelativePath = sFilePath.Substring(iDirLen); - if (progress != null) - progress(sRelativePath); + progress?.Invoke(sRelativePath); CompressFile(sInDir, sRelativePath, str); } } @@ -328,7 +328,7 @@ namespace Barotrauma int iNameLen = BitConverter.ToInt32(bytes, 0); if (iNameLen > 255) { - throw new Exception("Failed to decompress \""+sDir+"\" (file name length > 255). The file may be corrupted."); + throw new Exception("Failed to decompress \"" + sDir + "\" (file name length > 255). The file may be corrupted."); } bytes = new byte[sizeof(char)]; @@ -340,8 +340,7 @@ namespace Barotrauma sb.Append(c); } string sFileName = sb.ToString(); - if (progress != null) - progress(sFileName); + progress?.Invoke(sFileName); //Decompress file content bytes = new byte[sizeof(int)]; @@ -438,9 +437,23 @@ namespace Barotrauma } } - public static void ClearFolder(string FolderName, string[] ignoredFileNames = null) + public static void CleanUnnecessarySaveFiles() { - DirectoryInfo dir = new DirectoryInfo(FolderName); + if (Directory.Exists(CampaignDownloadFolder)) + { + ClearFolder(CampaignDownloadFolder); + Directory.Delete(CampaignDownloadFolder); + } + if (Directory.Exists(TempPath)) + { + ClearFolder(TempPath); + Directory.Delete(TempPath); + } + } + + public static void ClearFolder(string folderName, string[] ignoredFileNames = null) + { + DirectoryInfo dir = new DirectoryInfo(folderName); foreach (FileInfo fi in dir.GetFiles()) { diff --git a/Barotrauma/BarotraumaShared/Source/Utils/ToolBox.cs b/Barotrauma/BarotraumaShared/Source/Utils/ToolBox.cs index 4e8c60ad1..138506c5f 100644 --- a/Barotrauma/BarotraumaShared/Source/Utils/ToolBox.cs +++ b/Barotrauma/BarotraumaShared/Source/Utils/ToolBox.cs @@ -269,6 +269,7 @@ namespace Barotrauma public static string SecondsToReadableTime(float seconds) { + //TODO: localize time format int s = (int)(seconds % 60.0f); if (seconds < 60.0f) { diff --git a/Barotrauma/BarotraumaShared/Submarines/Bunyip.sub b/Barotrauma/BarotraumaShared/Submarines/Bunyip.sub index ca3cec2cea7b58da187d1bc9db873402ce165aca..4c8fa1c9ea4e32bcfcfbe3852a2172585f3e06ab 100644 GIT binary patch literal 262712 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 e=c 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 BwJNJ;s3*M)>>F+B8P7 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�FvwP^_+Xwzofesi8^|umkXq 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

em+ZLt7M8csuN0p1 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 literal 262642 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

B|!}fC$?9d(jVV!_2cAR+i0#o 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

  • J!;&;+T%dF=L@VcK zEDHZY<3Y0y6hFelUkh$O!I`5ZJb{{5v#MI==;NmWRryPgx-AoQqL^V7-Xt|(#zxZ8 zfs#fMfQ5z+g@V${nJpx-7tiO!6gnrcU=~d%ae!A8~nNi;DWBV4x_&r&-3XuBI$X281?@e_oV zVB4QmXb1J9$g(adR;G9&0mpMoU*{;5kTjjtPiaBH9=CAMkiv@Nc1?H&R^zWTIaV~W z!^6-&tgemyRqUC?2F@b#uOuN=`R)l@I(%FNngel29M>BhshQdhk~)ub^gRVWK5ZN( zeOUpEhBE%Xn-dbmEK16-og+%$eZ{%JgfIK=i0@Ry~Oj}1M5 zW7%nQ*-h=#uGf|~6ab6z3il&6MsD92NyEt7EW@-|Rx!B_L8U3IexDo&hlsRD>QToQ z_INGl;tKt}(dH{r$KLLy0wd&QnoR%UzU42{(zY4oPwK% z{vPt{Vndt^fgda}>RZ}sL(yQa&eP}7R3oK4k)WaHt>%(z0G})u&|(VhWV~PfK)yMQ z_iX?+R$-8~IBj7v#WZ&&X3=m((iR`2nEL^2^rBHIfV)6ngLWNY6XtA;-%*_4x5;h% z2JTdU>^jQ z^!b)k_}<%BJ3fOU*W4DvAg&MO4anfH2xMM<^hacn%re1Kr6ckBaE^(w4q8B1K95BO zVd?dn!$dM)Nl7{E`2De&`>CGon()BcxeiV9GlWt!sH6e^xY-4AH47Cd)~^z!JKtc9 zK`=kxtP(#GV3N&)m?R23`!nAf)V<>`U8rf2LcNCI4DX9AXtN7N1E8RVVHTi z?w6XSnTnzv~c~Aya+`#sg*35ALkZqr>c&YS5 z4JgSW-1q4X43C0<%5CQXnBj{;woDi=Hr!f@Z##}pG`jkUuv$SyGB5-s6lA9$>n6f9 zCZf)@1mk{XMldm%WqE@Y6q8+3TMu~M=nbB)xi^PZgHV48_XPx_9t@7(C+IVA;<=0W z@_~P)ri#bmk8xU_5?n z!`uM)Qm|i$f8Lx#lb#8%bjhuqUf^LRkZl5MN2SC^SVuy>A1JvlQR*z)ymVq zli|Ekp&pdOi)vt?_W+w*MNyJYEhp1_#ao5a_S)Z;NsJHBMh!O33F`J5%FfrA^NgRuqbk{i@`c6-OG z+ZnpP|e@H9V+k#UNl zvxYtT{B3}50}wZf;Xt&E1TRyKedA4G$jWLcB#!bjR6^|ja9@H1TbeCo*<=cg)+yjw z<%PC6MtpoJ51$=+Q0y^taO7;6L32R%ze%|pQvNa>0t+6Dy;aFxC3+WuFT7iQKx6>9 zR7-g<3?o|ET+jZ2Ivl?wFRi~G42G4D4hwFA0_fva=YXh86kx$gh$ajbHR(h1)p0U< z5OUbaY%%GSdHN^X7GeMJ15q$I_<7W#%Cz#*9aW&r6PrbV3Cl!5e)3Jfem9lpDokrg zDRTJBVqJ`WNGYT&FP zwtKm7!P3~WZTH8!@?v-lwoMf^TxV9TQd0>m9SGd(g-Hz&vE>>ppY|@3Sa-%M4PZLo zYz9^{3n{Y|Q^P5#x@#oPV=6ikHd=&2M z>Y?9}B0L8g7D(jwGm)mpwTTP^PByoXZ#ulV%ND}Pe$Kv`RQx%(mIl@A?b#ER4?MJT z-KCnI(aP(`=jAAU9aoEV4ra{uvbyRuv~}0(8ZB#OMdxD<8j)wa2fj(D{AldZE_z(Y9BL(SegA|s;X(N;8_;){eE|-{JQ1Y zn2ycbcJxfkY&|T?+$iI+$jXSao=rY<*go-lWE0)N;x3A*rjJG?%*Y!-+k;18;}h3< znd8Ibz7_#LJ^FF2&t|6x*1mq69F6)T77mL$Md=07a+1Ew(dN$sRyn-Vd=32gkp4#4 z{ryGo$$_6L{VX5!I-b+c3t&MFybl^m>( zqp#oM-es!vp-8~7oezbga_3A{3T2kTZKqX$__*G~IH~bK?NX5KCYfi*hcy3~^sBu; z`?YHjSF*&TSb)?w_^7TQRK&mb-n6+0GiOE?prW$ssi!itva*UUE^N>$?JpYy-ro(j{BlWd zTsx{)SLUj`963d++0!wc>n^9IaJ0jVhQ=@a1z+maji!!7vqe+zLcG*_$QO$TksFs7~Qwoz#!!wqHGQ)@^rTh?&XA9&)n*{w)|%|^UE9Sq8{V3c%a>u9|# zV|rS1F?Xj6*C&b?mq=l!<2lP_UvJmgEv)4}@TejXLY;Zq)U*(OB&GoWhWx zXcURSTqWZYQ7^kv;z}0n_F3K?Ynyt%t~PjE4lB0Qv^3GRyK8&Ho2)XB8K$iD2m03H zi;TXd6BDYGV2kseVXeyvOO#)@n{Y+pHKroBd(B35h{I{o@3^yZbu(aSVpZIBYZ!-D z6RP2@0N0+>YsJzgj)!P(JWN^xelZp3gA6tbrC$W*#HjL>qB4AL}mpW`AV#w|uEo5vJvtAeNeX z(%2P;VzL>ziQ8mD5+Mm;-L4E(RULN+qBG!CRH}kOxY80+Eb`UbxNFqLN-#h;3Kku4 zE;0`m7EjlFP>r|&n$Yf`Pp=S$2K6Nx5FEp-S)xa1a+?S+R=`#UMY-LmgH{xGKrXqa z-5NVpJ1Ywb8b(#7SS2y!i+=uz@ef!3bHbDiPV+(sG)ipt+kS^dr@N2d`NS;7oohzaj4K7*C)fUB=#yC#u$|)Pxo73 z>6hk0$+xx5md1&xKG_bLAx`qHB$4{ar;wt@FSmjp)*9*%GE38^gc?N*iEu&op<=Wc z@@|h}8XmIiK~=0qG-O6niwHwW0Yh^#y4XeQIBEMq5Xwo3ni&`yuBT1iu@MO`hG5Z| zE+{YXsZAW#Xu9D*ZmoGj9CoH-ZaUCadsN1_NpGRrn=!tIy}2b?0e3!#!Ba+udT@(c0G}6?G_rd zRh?iZzuBrAl}>AEH2Y;|&JLGRaa)Pd$+l!w$&FUCMeU4Sjtujx~ChanqYb~F(Z37!R_K;tR z!{Jt*O{Q|w0Mn+MScIT%7SnJXS@oVywB$-q^@QcU1}4Bp2uL_Z|cm1vCQsJs4X{Wn^@2JVMpP% zeAiqy=U5k$6N9J6#B!mdqd<$gD zQ>t{hNFLSkUXdl0sEKpP!0gnea}V?UIS4OlGJ=Q!$)FRYuhT=yqz0V!U=0-|lfz zJcb%*NloUgXfeV-vMZfNTkok6hk_a5$MtD->^`MIUu#k>s(- ztga>Fku=mJ*B)=Tea-4rdo8gTtfQK>n=PkXSDZ-GB~*CCAtQ?7S|TSia@kv~dg@@^ zt0X$Vwkcs=TCOYRN+$a#xt#MvC#XmeP)!}F1Z#xlv>g#;VKEHCL_0DY?`GF(ls$IJ;97o zCjq|G7iFDLSRDy$3gfzn857*J&rCu*00iRAd-0+w$yledg7}%LYuuffz+~(Q$0=ms z>eIL^5|Skfy5oXE5~%aTP3;aH-zX>ZzOx-H3-2CKf=s*V9a ztzh#avy>Bt?@y3K>M4~f?{|>#pbhG91fjY!9drT)3Df+JsMlB4>t&58yIc~}m7Oxd zszSy0cjMKh1&5>D8Sk_N5jRt7s+PtL!!z3zgoj@?oI%8fUeo!3y)vQ&7>MDxF&!?4 zy*`7h>k-;*#d1%pnmb2M=4uz}XoB0+1-e#T?`%n`mwB;G^Gt0399DP2ir|Y2Fy8i( z!6E=_rHbf%mZsR2wE*`e5c7f=w=CH;+Kl1k+FrFQN;@3+&3@gL89Ow58k21&*HZeg5S6jBKF60VEOjUNdZjC1Mq=&FrBy~)p9I`CBz#M2G z#!E4gS}kM7x2^8BqwNMb4b9C~+i{fzvjV83Askw2%{9H)Msyt^LOlkO;#HdEc+w2i z<X@n-WB8vDZqZf!r*X8*;Ne zN;lTe0FN)des@vQyVi2jtl%Nv3DkLY#?8Bw$c{YHOb~C1*XI(kCfG`1BotNKjl!tE zT{WwVt-jPj5{s%oFRyD8QkeFpm0~E?JLT@gaA!@Rm$y@? zlq{k~v#hjYsnzb<%61%3cHbxu%I2z9??;u1w4)qk7i)qcSdCTF5e;hDwIHr7cRJ8) zk`I(7sjPca~G1#<*!sF)9hVGoR{=iRP|iu7l+aom=+S z5_?T2u8dlE2Wla$pxmY9k>4xDkt^=Jp*de51a;r4U=p6SbY#q8P zv}Grt>a#epS*lAw?lw!8tStzs%9X7|U+8nH6cxFhRQ4tfuZu3--C#hm<0&VR(h}5b zlxMd)4rY&_=4`B3jvmW=AYTXNAMDkej+ z*3)-j9PF4%Wy`TU)EGAKbwxyaZYP54p38?vyfh|nGd%&wWtMWkbhT0qe4U>4zH z3L*7H*9~LNV2J5@JX9u8bF4R8Bs&{McxRRR{pSq299!ln*!9I8HrnyLXi2k)pP(J4 z&7%vVM$pw33VFNOaY#l-)C5HsWlfOkOzC*EBoW?p3@D_c%vQw-N(clJ^+tWE<_3n< z9kno_Qmpl6k~ZG-jbWFsB#bT>8Id<~~+LWe;K zeabC1+jfgY8j{3nLM1^f9-=Ig<&WyVaAP8uZcAo(G%CC>cvYssw*pO)SvWr^1M5qA-K`E%Zolp zD5(~0i!0RH&F$q_^Ap3Mar^enkbB|JtdHe&Rk&DEO; zX4kU_L)p3Isv}6t^iUcss^X$7+sud%X>uY~cB6&LHX>H{M}0m-OT~FR(KJ;7t7+RO zI;&DFVWxowDz%J(&T8up1R9GC`xrMfgBjHrn}IT@p)QM0p%paQaj`tm%}^10jUnB_ zy8}BO4%Rvx2<35Wpc_G_-ENNzSD}3#aVJ|?&Z0COctQtqhFc!aw3?@hA}%UBq_T~L z$f*eBMgo=N)zmSg?Y2D`jD=n}Z*SOj&!!eOEx2nI!BmEokq){<*)69di*-0(7qjyO zI%q7#4Mb{8n58n=wFx~zkTS`l?4YEhtqL?F+0MMT?sNjLw?k2qKqXdSkWK=JUvbBg zXi;RjIBC>tgV60%ZExX}`B~8!RFt95)0)C3q@t?|(sl>yolp#URvGk5EQiw4PRC45 z8Ud1C&QY^Z$+cFzHH=DkYj*G&kMnxmLlU%DVxWptx*DKI0X z(s02VjoeOSN-%)vbf#*Dt8_*)YO`V_d&w^-H0TK^D@-(utC>b+*$hOn>WNX4OIpRG z2#LB}^ZiQGr^NY$kj+LLD@`=BCnnWFtFJKl#OhbN{eEetkX>j_jJc>sV8}vIDrK{y z4x0SNWz_YU+>R$jrq!4NPsTZE$dJWg;_mRyW=j=U+pRDJRZ1T(x||TfHED~%xoAes5x+@8sf8hYZc-x zb|#vGnwKb?!%8Yte1>aHoNP(R7*o%d=M+UDT4#WHa*N@s?S+UeVu`I6iKVF0LWNkH z716-msYfggXIa?ssyp#@Z+7nE>0Hyh+XeyD_mO-ZKRcGE;jN>Yc#A=ohdPscw&T7b)QMq;dMMi zSZla$k!kc^IIu^=M(oT90dK5bZN4MtJH)Sz>ZMwoXtC=7rX(Bk8siAL7)FEDfX0MA zsfrXgovoJ?)r4qt^boyu}Dqncpemi5`ZJ>PY^BYD1b))F#ozX36x%*lxrr(r7XetVJ?zldY;Zb|!rg_eL|qVf&NaOiFB|xgIZ^ z%`B$+(sHyI=m^i(ZCU{)9@=)YvFpC_ zJE&Ts7L&2uheKZzd%aTCWHi2rHdbxd!B^`M=k~TL)ZW#e;Awyvp{m(*=!rnAXuM9_ zL3uS<=_^9nB8gH1<``KuRsx34Clu6-{7NVUI5Ar&K%bYr>R4RWD?L)~4Z;})m1$Ge zfjn9&D_-+MVD{sI?z!8j7pv-)oh;-a8Y%o@tRaYBh4c811+lP`)(puJ(-yjvpvuo% z&Jt@HovsAcV%^~Zq;}S6+GM`X?@in_7}!5iG+<-&r*;Lt+ivd?24QDzj89x|;jJo7-WMFV;S)Ty<95)T)HQ!bg$OE%aQ?FT zD1y$>ev4?!oo*yUwV7J?3{`4XWn*Ozw}!8j<=6<34Q5-e0tg)mjB>rTE>>g46q_rO z@kwqT+og455n%PzHXQeNKC)D1J9&#%8x~91hOJ1xxq|p^b3B+eYm1_dYwld2<~1WM z$5Jw0RuXL}?$$+GV%9s*Z$W}0qw=Q0B3pA*VX?I^tCzinZI^ZkKW)1+Fm81k%VeU( zbCQA6@pim!aMaphDtxI%m+>k;6C7V!MvK8>5fz)DEo?VrSDjW&ddBpn(V`s3aktj6 zDcl=z?YcRVRIL@yX;kkxn(pyRX&tbvSg(iOkm}Z!2DV(1=dN-!7r{ZdEhLmN4=HX9x^V3OJV6*?P^Kmx~*xlm@qqYpl2Gb9w`F zkT$V~lbP>^O$|kvxH=(_+Lq-cCq#6^wXDI4MO)Pd(wcDQY;A1-^c{^(XszqhT7SZ= z6DKAO&NVpPqT=?F*8*p=GVCrL=z3S^8-hW0rWm&*NMt?+HdGK$3EhsDf!bNs6J=qn zE6v^_&=#H)25WbX?$Any+ig;1wkxWbV{)AZ%GN@GtXC;-Mh!-es?QawZBJGjKkb$T z#qxXld_z_3K2wZnI;N-GwBFxMTZ5qHch{airGsX)+U=M&;e!zl*uZWE8@e?J6R**( z@BjRT=rUXEZrh6{O2+-sg6ugRl$`|tFY4;9CFAClFLx0ZbreiM2aBydM;LM^ zb)iP>BnEHkmN71E>-K6|@gcF`MGWb5=4u1VL@>r=fD+3YX^CigWzF!K)%8NZxTzNn zoG{GF7K7%pJtoZ&zml!W4zKh!;jXe=SDBq??#4PW7HvYEbaYs+O1~$ziUhMpnxl0E z<)E(GaaT=t8OkM2aHzSsYC+vV+W8b(ZZaG>Rh31xUzZ27O{uo36XV93p2of1crqZk ziV!S(g50Wz4s?X*o6BjCsDiO+(&o%>`!vz63}($})F0RmBGB!H2goP->C{;s8_IQD8C#BTKgCah?Y}Le`I43q! zzUq3*#$btAW^>VwhXL%p6^*O`#}x5pI2ndaIS3-By$d^=_6YNsnCb7dsm2pcrM1GV zy-~4KBvHIEi)4wf>Kmpx=LusvMbIs|o43$TlKOdO-7VjfdevG@03518T`?{jP_H&H z%NYhf)m_c{zSgQJII@n12+D;%H`nHYC5{*E7LT@8o!xBI>8-lFXUamOM{LS$4bwY` z)SEPCV-=dk{d%w2ccMlq33mE$P!e^#ugay}kVd=P3D?(_!+KrUw(V|D;1y_%;ft!X zTCReQ&u-VsoN!0&g^yI_61Cf{r@Ym+ItJHU+Kmxe?6vz;$)EY7Z6!gXay;sZF{Br^ zQ>rq7poPvjm^(?htGC!el3fp}uIkjHtfpA)_W9+=;qZ3XDVH>^ zIv&idJ`oD0%J+MHvD>I&F}HT=iCn?k%NA4Td>0i#do&M;L1U)7Eoa4&kc8M7SFO4b zKmix0ZQF;lLDA~gW=bs{81>N((WJHyptd1R(7@{htIG~%T8s_Wou#;I(J`a0rkqp> zX9$5>cB8pd5`&GGec95WK9cfPtytG7$h)h$KS}UjKQii*EpA7iZ^@xQ@<)apjv`Ce zr=_jrtOriQ*rm44&pDLzS&fdGvrbRwPnuo6kM%|0o_chr?@y?95WsF3FVyL#DU_}xEHlYNoTCXtud%Lo%XE~kLMHTPKOPZ-WCyv{ z->#;;X{$ahDk~+_qV>=;HbJS#)D})Hn6%LlsY1PfQET(PbbX=M>QT^C+zrLHxrqgy zY)_l2A}LL-QL06p`nM^~zRtzM`4<25?gob_-;v;IKc zKx)w{-5Fo?SIWxn_yX6`+9^*@t#;X)4@eX(DLhiL+6H0HH+nb7!?{Zur!L7G>8(tyLUwQxgvO5@l8CwrTREzSUNt37H^a zX=p-GRH;phU0D7wP#eBh@u+TfuBj79fJN9i12;|ut6KF{Gv#>rS9RqjY5B12#MX3L zTvpTD3#c8Y?-qNYXQX2bK3A2YrczCx8&#T+iye5;TnT*BNS_-{0jy7VUv|o$=|y2& z;b-ZOEe{SDUQDZ~4dF}p^f{{%HuobCvB14jPq z!P0a$vgVc^{QFlJrZ?p5dR6%MFB<>rA<)(6-@hISf-XD)k}TjvfdYR$%x%l}buIb# zFZd4quZPgrRZF%b+4%Rb^jly>y6V{;EET7y!r8xnJ;b4|1)d+8vgU36{i`h7AuQo^ z$(zqZ9ljJRV6Z4vwqe!bD@%<{&yaicVr!;gMtuT-u}9Z`|`Yi_X3*I=dG=<-on@koF!awm^}oK<}Cb z7^blQ|L=_dH`;+awga3B!9`2_o|4~*^l0WuZi0q%Pu#?Lzp}&eI|&YsbcbVKLGXKt zeWW^^{x3=WGQnd9fT|-3F5aN4sW(WF?M`CxFWog-8@JSu;Yjz04O{%SSC|CPJUbQ zZyy1#dxpsq5vK6x=>Lvin8aR`JiVM@{%AbnP*aA&<5)T&zRySYi+PZ`Q(MqyPGS<; zROy`f)Ed99^fx;R0i#}-1=NFjd~zfZ6kfmqQ6RWN>O}p*lRzc#94mS#z0CgE&4c(f zcPT#XekguQ5r2gEsk8V@e8Ay*eOzw>V7AufH*6W{a2@-eecH-FWsTEA( zUvTm4W|zR*M)8UJ;1GDE>Hh%t-OT$(<|8=lza=~Na?~t#h?=F&g66;>mIMk!zApRk z5L8i(bmy7KEqQGja%6e#!$1!l%a!eC!tWn+<#lwtzmKQE&KFG6aM_d%0OWtu(qI9W zYh-UabgJvYE3gPzjbz0>T|Wqe{Y||E7Rz13YI(udQa$(DL-1B4Tdp3w@_=Tg@}^#G zC<5%O@ZY~w&v9f|gMDCyzAbM<*aS-U-;Jrew&gB$?NsH<_GR~x=^3tcJ%DmQxOyA~ zvaQGvHX&@iwQe6oge|!CQh+?k?0cKEvThhV{!_J}tRZYCYpp*)V;$R2rnKQAPj~#M z%f6*9;rk*hZD{y2Rdy9Uy?9nzSO;&j?+iVa+%=wl?S$~p6cf$Rs2=*JuiLOspAeJE zfK3}bp%7Lg&{r|M34aX7`)M#kdBd~k zAEK=fYazmC)0z9P2QTX~8A5fwuL*1=FVNv=f+eMc>2Mi6y~%R@I66>D*7yIj+*3v1 z1L@Ft*ktPQ#ShW!moFD|LRwndwb#Kh<*8P*eg2FWM=v~-{10A#v1R}~tJ%JQw+h@| zFAxXsC~yzOv@md8jL0(#TmPTtW$3x`R_grs7kB7ucUbo79qttw{z0F?{ONj6_hl;^ z*AJQw$DQQ`+1vu>#T4LJ#uyiOG##?-{*IhnyYuWfXB3{=U!m!3g6zey6`62)G(8)> zjD@%6R-(oGAHgvdE-l;MM}D8(FfGG8+)0`Do+C7^(=Q#N|DdNH*{c9(TDh0CppGp^ zb1!fnigIW@)BgO!y@T#|GJw+M@N~yS79{c;+kV_t<*z8K%ZD-S(ub0*%kHJzYI;dA zHt_b-O8C*&167`Mmk>=BNcJ~YdpYiYvY#yiviraolFl{^eNp*uhdh1?4Z{zC)EVr* zB;=1`H{`(3FU7XgOP8_(>?AyQFnDmbK>gOe{+iJvx(1}o7wsJVa4U0ho#0O6pum7E zhCJOc^93!OA2eA7# z&idpyO(ztbp|c4k(<44Yt>9M@YbxG{$Q4d6PmO$Ny^a?|clJkg(jh)b4eGfb?91{X zmDrxFot5`==}6saj2{FRBzQ$uEE^iUSzVs9_6=;0{UmSC7*;p;<=ks#*gG7q-cI>G zjO6HLzGpdb#jU_{_|0=l2Bnwh6B4{y%B6oLt>$%K4RgJ!#ML|G)jQNXJU?)7C6<%= zl0w}Ly(_Y^uX(3lo;>eC(SW&7`2pZ^iq0uIr|AC(MFR%A=J{prL(#OWfUoH68 z-~Ct_cz#2lLnGHqwubJeyPk3OdmjmwZkT)WP8|Iu$LbKLEf3i)Y3|_Vy{yg)HQ=ql z&KURU^%TL-x4!-bcTGDh=Aoje6a`1di;kQ9yPh7%>Q7&IsTm^MxRb4uoZ1i+m~{D` z{DQOE4|;U=t$J+KhePY>n(TP7o5pouxA}8mm3}LSPI|xe)T9q7DWBX^>9?#y*D3F2 zm+nxbv{d-V9)f{Bw^EP!Q?F{-d-nh2GuNALr!0cx?#`mWG3xIABK!mXA_BYSFQWb^ zchLyG`;x}j*_C}{(bq5#xe5!sycb8>ZY$x zH>`rs&&4wcs@g#!-jH1FBdozU7r;VH6^?mx1i>JeDG^!N4=w{o(#MW2*( zRrX~y^AzFx?`FE%|MU$$9_af^2fZm zsR4OCjB$^nx9@9_2M|NfrtCJ4}{-rP6U9Y<@)wjAY>EI!yv+-X5K+pC>*5_PYLp1hat z(@W%;9~UPJT-Hn3qI=#;Kd+aHP#g4~ZHQ71*Y@uAQv#$kRs#;E>@=J&sTzh3Y`%1= z`9b9{oy7t#-4FuRs(pOYZR*Rur*7-RPN0Y3p$~7-TP#hL1MNv=>11!bU17=IJZ$m9 zfz<9*XQJ@Hmr7#4|7>1Ai2aAEa#uDqzic^Qjh+RU(X$r{;5BO-$DT#2-L_9z@@y>& z7JxR9tePhXrpxyy?JNBzyT)PFBiwh#J~(E-=PbQ)GB~oY>3B(hmvz|FfO)zhTh5Eu z( zh&OG%eO>S@$M93`VVuo0f;1HS2NO=+Q}9QQ{v^?lp&(=`HjNe1rA_Sj*>C+w;IB%4 zrc(5D?I8_;zLXda!%cQ^pKSDWAPY?tXu6Q*)VX6yoh)@fU|v%xE*|+&g`%*R?E_i` zby5S5Z2kMO^A9O9@Ha#MJ2%k%qU2pq)5A1n8~Kf8zoj1lBfpU>cKW2*Z;$Dh;~$TZ zTE0Cpc=pFzIFCbchm(L)5Vy`TFFts1S_kuK)dK*FJn!SqY=g;Jz{`#N>IP(pV z#NX7n6tHk&_(oz+A2^16dn5q-B>txEgW=;eL_lsN*c`(-hCdU-;2U7y^2y$WTyUl} zL!I#v!Y7Ar4&5JyE=5BH0V)&_u#ab(t$qlq>@l=upGY`IYL3(&M=CVXGKJuv7aSOt zpwB)@{66@lPx$2uT(0Qm_`MT;9|1${sg|HW6~V_S_H=QOz;XoV2)-AB_uB1M1mkb1 zyEk~xve3Jyq!oApj+#3gYPtXHkHjy#S8~rCWJjMFLE&eA5cEAzeA@oV5?Po=4&ofd z_fUgz>>Rn|`5$j0_cjgUlqMA?u>G+JxeAe^_lMmL5VREiE&Tut{f)u14|wG)X5hzg zd(?axrU2O7!JEVO(_jlfZ~)$bt&nD*cqn;}@44UY`p(i*sHb}=gjx2qMu9`@!s(m7 z>(cQTj7Q5F@z{nBhpZl1JB50bmb4F6g3YE|>$4J%_cd!i*8}+D=MR2HezY$Xl|=mq zf|CBcIK7K~5c@E_D_MBhtFd@2_xdij_r(IT?~dNP!j~;Cy2h5S7k$T-$C!k4o=!*FZj~HJ&0PkJI$h+D#T9jSwJ5oGuoukQ|6tl*L4S1r&6xZ`WK7jkU z>He>W3^`BVbC%0l?(4H0c-i8-JSFq>Lyew_!f#Xm-Z&p=KfFG?Z|=LJGkzMWQs=gE z?pM5xRI!{?b5i|dNcHx_R&SE(>*q$?nN$JC+~($dO;i3j5#O{nnQ7BcA^caMB-n49fBT$JPs5wwS3#j)COJdJXpw5As1NGiOrT(T; zPQA}2=`3U*2Wt-2&)mOvAE44XP;;Pu!j@<_?Pr^t?lt?fIZkt&-W#WTJL>L}KbK=Q z$LeQs>fL-)fIZ?A&}88;Pco6?^v)YSX!a}>)gzht1MZh2g+0NSC_Lubd~*2S8@|{x z_-45PskahLygPywTBXb@5hYHuZgY)40X0;DQCs3wevkoInDi%GLshbzTy2ntV;jXouJS3-rJm@_uGP));^A+O#kemM&g$l;p9 z^)nA|x)-zNrd1Br&pFX?AG>@vq~iJZv4JTysP3);fSgxzw0<71-qB+Pjwj_l zk~9sWkV7?x>K&kpk>5!6cw9|(!1M7Bj^3XX_Vk(U4k1&0;SNXMfs?a60e!0o$`p&kS971lXN7hdbn*1;(d_(D zNWsTHQV?gKhwqtw!D6RR$lwHrA3xbUnR91}C^@q5$bnq%$nkz3z2oedyi2{~F=OoX zKgU1L0wAv7xnUXR)$LVwdh>b27=EO3f@TYO9B$gtSu37m#sY|CJ$+Hy+hG)%vgU2V zV=-DFZxr3MTrG^1(`746Yj^mfq_3W*@j$w(ZZqHlftWA&p7e;cVUx~PVM^qau zDI0j_9r2Dpu=kTJbxE>#PO>@4<|Lbw>{laM7W-)=+YYWVtQS0|SNe1&AcaGEWpjG{ zryaa^D;bs(TTX0Wme}6f^}vAJsq2kh5A5rCRqnm(;W_DkdwqgF6M;o=ymO%3ev(XP@|6K?*m* z_vpXE(***M$KB)rz5{?Wh?4j>f}y_wg1!q>Q*HT>D41mmESDoSN9vuBier1Eg13;` zdo4#?@IsC_in>VK!O*#}^-u3IMVuoinTtMq7xv`&-}hD4vmVrdZBN!t5PG_DboArU zI)ljY15c3^3sy4AIhSS=wL;jKP=`MD{>PRF?q?I^CSPvy{R)#W!+Dx`?xQy0WxkDv zS5gSyW-Y$4kn!@H-k0oYzu=aHo^o!Rh4o45ws{(;TOF!)a;;+zY42fEETT04nzs<~Y3{PE-37$A}xu(>F71 z;MiFvISv%qJ7*rq^KATyIDN!%I(4s*c$!EK$M=aeju|zMsW#H215cm#$Qy%WXUS$+ zw!q$5kIm8iXQCOx6OiN{r&o~7;K$GVAo(oIH%ArNJ10%dk^Dy@nV^UhFB24gm6x&O z=Y7z8bT5z$?2N-kWs&7pDcTsbnc~Ob0o$dKktL;Q)Wd9rwe$V5HyGNkHb34SIh1bf?7U_Y*1l@QoITD9GrAIoMg&+kz`JdQqUdW{Vlq^XEhCNG@wD0y;vn1^wc_T^E zQ9$gFDCtfs@_FK&h6w~?HYH3%+$6GWP5^*T&yH8F2`(+*-ybN%^nsjPvE^1X4xFGIc7hPXZMRfPw>4H zW|y_~3 z;7mKr*DD|L^~#)yb0+?{%84=eR5{suF=IdFhKEk<_?M)ZafY8=-fvesPj-{~c(4Kh zSb_eU>ZSsPlfxg)vXHjgv&;s>OPLL5?E8cWpO@<3FhZ(_*8k2)^9PU7{kihjhA6mQ zRk~qY|Gv9l-}#@;DX%^e$$_Cqw!YTwE3pgUdYxb90eHQq`?8f`56A?mUH%!Yg4|k~hA~mhjFPTA4eeoSjOEF~TjC=umIx31J(<3MW4i(Zg za%Ce&DP3b}K9)Ue;ptMn=Q)RysNi2M_}AZ}YrtxxUtu+qt)ZukND}E5{AUD*rK;}} zPaj>b71=**0nJpVz}ltMYd_1xLlQWg6AJLZ9R0#i@ynmipVY(s>6#RrSKu$9cm)2! zkBQfQ%FM$Yqb5I z{h1%3?XkS=c#umEDm(MnLjs9~h8p>HAG9C(@&*nGDRyM{sHQ*r6`TDEq^9QOuS(Dy z_Fhu%8?pi|Gu2`-ig%rdLl*a!1$wwN$dNcQSq1$#~w$Z+5bl z@$2u>zXSNb2VpPxWjCia(VlK(oy{FPn`1IXk0uKE2Yu0Bu&Yl2hA(IO-Ro*+iGB~| z-1`i+-#XFn3!{L6*k%g!bTJh96V2T+ zisMHaGnsy4p811E=lj!Jf9~j|PYWedFuYtSd3N(`vE+1DlN}#^oPPNH&Sh}XQ#G@+oz}|275KADGNc`M|)AnrJGYo z6!mI6Rk{pL5YK;nM)S4U&8qlN^pZ=SUmWfz>5aX^mAFvPSgb%nCGEp;P|VjO`m?y- z6chtU@8Mhz_M;*78m2UMS{Hx1avb+~x}Y2Ae&8vxVnGElCG@|+Z|FmPD}wk}`kX)3 zT;T4_b-4AMN$=P+hcD0D2BZ?c(mKCWYy4sJ%Ej_|*6ddT%`f(~U99wzSMN|)?_4kK zwOt}t_MBkXB|1C--h2Xo^9kaux$>qc^{at8S&Z_vD0TMkQR?7lMydZ&kiQzQ{z1(G z94$zKW>ddUu2|%XMXp%nibbwiyj!v0uBrmeZA!w$ovWqcucge*6^mT4_%y|0oNjk} z5MUFlQ5qG0u3BVU;k4tey>fAMTVRF9)DwbZe|n0XtO=i5@R$_`Jj;r6pCI!*8N-{y zC{M=l8I$B285Hp6`=&phK%wbnhR(~BIa%nufD=-kPj>;cGfx^5PM@O=enHh zzA)DvH|o4Zb=Q>m=O<|VOa>&dqtAySa{|l>FekvA06&WWpQqk>cr6j^52P5h*09AM z`p~j}Xrzt*j0m;teh6>dhr8MO|1qsrmcNzA!l$x*lV6YuPa+-*fOyip%{}(Bm7a=x zNYQoTkn~&DChHVH*`?3(R6og;I&F@wrYnGGXGwM*1~SB2-_-5-B_8%Ucp`W=OmE_Q zJRIE>ILj8e6b$6ooEAT+%W_yB8;mZ&LhkXViFzmUqm=nTpNeFm>1qJpU z{eP|J4}E^xj|^bBaQuTTJL1PWo%k(0C563^p%(|Le*Y7eh|~o_{T|+h=P>)xLzaFN zPN!Ha49+Gwm~t@v0GOy8OgWhD1tvNNQx2wkfeBntQ?51TaQY!Qu_q;*;&O7z(ez_z zVskX*Xu2Dkm>f+xn(l@s`W#KU;*`Vb$KZsYdoOcx%F*;gXaYH!ax~oyO<0bm98I?` z++SOaA4e_>I}o4#mG~cQ;nR(_;YW zr#Ab*{%-6irQpgN=at48>+*iT?%gOL3qJlX|G>`=CAo+lV7Pm+(dl@EECX21MmZbh zY?QOnyV!_*N09UDY;?--gR>xKqnwR$HpRG8*o8WL5;%%kUm!(qRTB+=1e?8(1@mjguvktr3vfO2dy;UyztlVq( zBC(4edvA5|(|0_DF@Ehe_(d1K@fs3)_L^&CK#~`I_*Sv_vtrq6#U5Zxf3UHy0hy$q zmHT>isT&6~$y^qjZArOa>@z46#I<7gP^QzoV_75MuZd;}tp{{`ZuCg*znbRHB9C7)M?->5t(4d%$cYHr>Tz$iHPGTTZ>eJ3)n`n4JyI4dROtnKJ$RWM}#-+gxTTg3%5_ly~?p^WA(#K+Uh+$jIG;maIa zG|P*Zb{he%m3fZZCpF~7GFjrXO!np?nP)A-k{2yQkvH}dOJ3H1yV_7M33XNj>I$1? zN=UNb1Hav`6~BN20;4WVC!VqDHT@`)EXf8DbEOGi(Fdt3Lo^##XW)IzhQ;^wX0X=> z&$S6M1MbD(cup*5gX3jzo|)+VbY21>u-m6mxis~NmrOnSXPJ6`SdNbu&*69}jmLNSNMAW1{f3j1 z_O||QdE?$XialKfef4FL92k0J>+AF!>(5MGnxgbd=2D!*KA5>QJw52f%%!R7_R}(# z{*nYdujDJ0Vo16f!5)`kSgerl*(Kp;*4kOF(oFck^PD{#p8on<^&Cfbwe&lzS+=AP z*$z^EN=VO-pTfY&HTu#NFwQnv>)M0heU~uxa7%-CHcA{t5J-pB?6VAoV4t9iEM%#I zpC}bzU-OJFEo+63IBQSme5EZ35tB)N7=YWv(=HC&tH5=iC|vWA+Dr0``Ag2A7X!KQXMBQhIpC&GqWt` z|D6AG{?GY8=l}QcKjcpOlV^bA36YtWes)6SegGbIdpaX`;y~`tkC)tY{FPtR?03KY X2kpm-BL}b*|KI-)n=iNacx(p%rKuj_ diff --git a/Barotrauma/BarotraumaShared/Submarines/Dugong.sub b/Barotrauma/BarotraumaShared/Submarines/Dugong.sub index 4cb7ac8dee49a09db27116102741b9a56160e041..bd3136da1e4f65e7e42db780e89936121f496e85 100644 GIT binary patch literal 354505 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�Yd7DLukndoVCHyzxC*>DJrx<@>JP)donedj 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�TL`-6L10kUhwij{=?w~ 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
    L$*u?n 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μ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�mpa_b{$d-w6F->q48vfphsBdBY;K5dQYnlS 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
    O$;U#u>{IF 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 z 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

    Tu15>aQJCp* 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 q_0s7eWsp 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

  • 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

    &aW(`WgEe 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�R)%WJg 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%0A#wfT6s?~-4u4q|!c2Jkn|f}-rr~|> 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%0AdVY0ag_Zcq0RG)lgT<>OwllXw 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

    s!l0Z9SrYA->b=s5@`r9TB8a%JisPu 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

    QzITD%~ab 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

    QIgVYoB+5_24de2 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≫fcH&-qXD04-n#kEh#xQ<6{%YaH?nP^vt|dL3 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

    -EV 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 diff --git a/Barotrauma/BarotraumaShared/Submarines/KastrullDrone.sub b/Barotrauma/BarotraumaShared/Submarines/KastrullDrone.sub index a5aa708381043aeca3ad257038fcd8f16633533b..7fb39e26202f277f993877f19e7b7ebfac4d0871 100644 GIT binary patch literal 287190 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 nH))Jf>FQ@ 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 z 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�(n<%$){8=8H(sc` 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
    *9L@Y`UM-;u zNI5zqErKrbfmtj7h~|_bb|o9r>JR zC)k}T+_hK_XM}gIf9G!E2?j&lvvk^D$aBBWcv|7i9f*i)zjE531G(5W$&FVYKksZ; z=Zdg+NozIIYNgplsIk$0_IHTns|YuTP=uO=5Eb#<&HQ>Y%*Pdn+r~H7xZw_mFPu;0 zG{3RDop9m$u%45Nj*o<%WrnYm9`UXmYVWDePl|VUTB|yQ`$Vi_SYoLUbE4>^(BQln zI1hpZ0dPI9u=hPe8GX(l>!7-THfQ_;K}!-&MFSrPSp8-mY>+cvX1+S%4}bqgWF#=x ze?{>P<6BV4i{?UW+v%=V-A`c+-eWw5#zH+TtW7(W=k`OZ6-4+zo~UI;*=MT`u;Y-7 zq+Q{w+Vbmt1s)ZwWN;VpAp*5ilaXvq^)A`T#cH&hkMxx$vt^!_7tg|<8_T^5yMh$6 zOX}g;_!@>iU?c^kSt3jyuQsJ9OML*lp6r=Cl+!p%)K4IDlvI!$E~Kg8VB*pyE7O)P zf-^w|9A(^KnL{&kn9&^WJqm0P{b+Pce@F^iZ{X{dB}lF*wn!SA0Z;Kg9MZ-s?MC&l z93N5W91!(I#p4~5@kK+8;;!$Sq<7$YL~^l?hI^fNHE~9ueZy80L)ZC^PhWRQ7V!59 z>4nH%rUu_Cm&vt?=ya>K1K>Z%SXD1D!&O_+=qX%}vgRqgAp51(9tQFuMuBe)buHxr zFS{+xOr|dpEX`oeaAvscQj;jJFoB_qynJnW@0-XLC!&)!X(TR)5FZckRPNGIO0|lT z2gV`6Gep@GVSVAcmwq26UPK;?i8_`9s+2#@E%)f>A%r*$rogm&SKNIIou%@Sd+le! zPW99`ciy?PBldN3TRNLCjl;|;agqlGfev_9pk_UEtMfKYh z9I`vX25-H@rB$ zIdq>(VNE}oVnEd13+88(ikp?NH1c{Eaj`OuQ|8LS2`f@pAr_C4Ze4#?r&8Mp!zMAt zp0xtvX}#S=)x?Um3*ceekMZ_V(9!f;ju=ZX?(hdl5nHv4PXukJNUa$n>^eoIyrF$Q zGn|6}?+6-}C(WEpp~F^WyPeR-oB0bJ-yQELg2sMBCw*~l3w5FeUtuXL4_3NMIYbNC z2!!qI2;Rp5OgV7aK1}o~w{NhWHV^dy0~Co~VBw`}X-&+KDLFHIZo}pka+Gs`VB+ij zzno*6-L+eS!8=&LzbYArA$rtm!4p1BrI)IFMeG!I>xAREpL0=E>oP^psC6yG9Z7U< zT)^yy79;A*Y$zv_`e8D@lZKV~Zz#;u^J~JK=h^s;HPWKTaX4SJ0(Tdd08-|_AHYoq zkfN2d0cza26AN${lK|z1vpTuBQ&fR7_hVZ>)A#(k4_I(-5>+jI3gs2ST%I?SaF%%DTqrpg0h6} zFvo?a+%%X!ku*&6_2(3b<{q_(l~Ntk8b3(TV2g?f8WxBfsBy(jH2vCOg;4){7@g%2 zSA~OrU5KhTsDfxa0ojy^A&FNP*4$cm^K=KiJRok*=J1eM9n# zNFW;HB>!|F>K&we|9;v={k|7ELtfYJVRQsXIrypNO(ma3&#Cvg2d}UPsu@y8cbp)M zp>=lqveOWrOO`}^_=5~$C7++7FI6OSK_%XcFcqpF2Vv;w&gfQCoRqidGcr(~AKg%q zmRj$E%PE6yq6q8Yi=E$?JUU{COJY@JM)~ld+xbH&`@y~%uCBg?q@}d5XoG*FG`|w8 zoP+97UDmuuB#&eL&)LQv4+jKhU1SZ3zk|0RmO1)jq06Sqg9YG^Y?FN7sND=Xn8~o- z*xCEpa=fzdvK2zN?^?b@pXm;*Ai5;<3z=^*wW zNoTPpsS|vKv4Du#x#n)L4_rLzyE+R*6JO z7ln0M;rNnX65UfvFtrCHJZqx8Txr(-b}$Sj!uJ}{W(AzB!evMZr|TeiNTcW7r9h^< z$TNA4(bzPwn>-)vO!ZLtmrnQVN;zOJ7}KvpQEd}c5YS*|9DiiC>PKQ^ph#iKv+*Kh zTN;xI+EtXtEtwT4R^Pt%hQfF)hT5XNB8-V;HY6#FoR(!XvvX29Nc*Swi`fXVyH{M~ z75qV(tlV06SdRom&RV^rkWXs99YGDsuBZgJIws4Su%>|CTC~>LTB|eqfuT;xMFgJ>@mP7a@_h1KJZt)EMs>P;#(qbzpCD20Why zM_QxGRjp2LR)^>O=1d~S(s5C?nd4s9MfUn7pJ$saWrt!GwaeTZ;JBPYe*x(^>2CuWZ-Md#%zMIb|YFie%TAnMv$N zx9;M*{ruGWf+=l+mrv^3f2Tv@JYw4(Q+!$n!<7M=O$K1`lluftKR*hDqcRMt4JpbA)XHk#aMj&pA%WJwNZs^BdR)|8DY3G;%rsix}&WWK72l}4bh&OLf*%aTO z)5V?fTgVe=e!Ld=R8V5Y9>wlpF~Nlu!6RZ2Uv{dY)j%3pP=jQa*%`|vM{v_5HVpVh zxBeo5AjvYiL!u8lC;f#(Zj$AtC`Foc@j<*rm=@g6etv&}yNbv)vRED(!^KK3I8mMb z72+p~boh?-v}-N+mj@GXd{r>*ESO_ujM6uL5|@!=U_jkhf;Wh$*drBC*8I0*!r0eR zoBw?&;z+gf!`nrkJOTY6{liHTJwO&U3jj?^93rUnyN6&&(F(e2GSOjE1>&GxA3Y~z zHHq*o=q`D13S3VIau18g73=7@K!Ve@&#dAkOOYk9@7$3Eu2Ea&rtl4nuSx?s+l|c= zx{2JkUBq!?z!tCC9|8G@HN{5ye0lrQ534m4TebzhEFjo*WXZ6AB2A*k)uc8n67N1e z=Sls#?+?fGL|psz{yc@3*6>V;01fWOxRzW@yRc{B3o>_hiWTRG42&ZRnJk#)y&oBq zjUucVdaAE>bMIRc#)=KBReTP7g zln|5l?Rg32oD2-rC*xx8*}V#U8YfFi6~9sjknqSV92)pF!?BhQxJ8D< zMzaH$?AW#7eF2fUDJ&P#4I&bs9U?XRXZEkqa9s%L`L*XTC#f`Bg|q$oCO_%b6V#za zAJx6H@|vMYSdCinhIhVO6YWm62s7kkWRTWM(`$9AhLvy?Sx*x!4)|oVmf*f0nDPVZ zA)rYA2UZIRTn^ZLNswa8Cm%uT0uLN4udxJ|_h&5v1l_3sH-auq_x0RQO@f&BSr5=U z9<9tlaXLX-xJVEkVT_tS2Nri9aw|L@C9LQNSo1{^DvwwCtWN`$CU~&` z$yXpq<=%r}A9NysLmZG7#3dTEzz1GSMnd)aUYf{)356y29+Fmw5z?N3@jH^qLZ*@H z0y2S2K<*fJRf8(urxBswKqhM;t>4fR6*iFHd>^l*NO3}_6?DiV|Gq*}a_1thSfpCp z82b@P-T;j%HI9SHt2MAUUQtF901hM2K8<5FT3IVD^CgAO`HQBAZ8`Hzq#5^po;J-u zyx^A}ru*g`pW?XdO5=dC0|xhL<$E3#wc^KSJ*<~%*N7B=xVMUq-7sM^kv*Qcb`lkq zFiGNt&R|PLlR$VSv&9T#qo6lI$3k(PD9mp5o=8a5N4E}el}sL|Rd+lf`?gh+-*a!( zKV4td$GGz!*T{m|vh7{xYXku54h34HpVe>M$mhJ~LktkK9?OMNrvYl5hG*8mKGI2m z*YQ^~)G?GxkOCQRmkB++h(tllpZ{$sgPr@9Z=#O=y^Gz%$9O|Om|}9Qei~_@N#K}$ z(ByMZzTMRwRRLq_Vp)D4_Ava(5u-efUFzrH!iE}=d<#rpT@(N|50Gc2Cb9dsvr_wX z7Vs8tKs*WeC4KUpuRl*RQ&$Q_u-V8S66TLnHo#TCG~e>~N4Yv#T7RnPwzC$A3aiw* zyB_2FRKNMHdopN(z8$A~jkeRN_|P4t{0%8jYgS=+qhIs)mIAB^`=*ZkT*TXY%KTvn z(wDre4Zr5`mMcnVHq)S!jbp3E90^7hzFVI-X3Lq;%M0P90hi(qj@R!V6>n8R>|tB< zz(8yH!9{5*>!T&9tB27T>T@k62vSmK-b~Le1rV;!%X00QqSkW^_E5>bjg~slprOll zlK|%X+!zkF;M*%O$YU)^a0v*)!S^}uj-*O613o-j*i@FB^HA7{%2rQBS~BT0ZcjWC zdl!BDid{4>iyq)uC~Sw`anRN;$u~@A`%~cki$8?tBnhON8xh65am6Y$NM0-4k;r7q z)Bb*xx;m{pVVgt?S$NmaEW5ykSPG4!QQir?xd6xa`~m`ad*aDg1zlmjT7#jqsU{v{% z?$7E$M|F0U=G{A0(ZTxxh_RB&kGs z$2PylmFdI2*wTrvKdy%<$Ae>U2CnmrvTx{PZYK)FdfUp6v>8K1bQh9*2L6Hm1P8%- zEu;olY-Vsh*F}Y;D7Uc2fPCCmgiSHNdHo31Ebfgfe?Pj(sc0ZyC4d1BC&~?J-Kz3J zymmI|ob#ga%6K!Dcu_VWr-L9lZM!c*PcZHDyN6+H_yiLDoqdnDj-Mk?!s!C4e)DpV zqV|els-xJ<6?$qF-+**)1wx{Ow`b#<-a^!sXmV05Z3IK5Hv(LrT*6OkA7Qface!Wx z84K!nuD#Vc8{*ep5uQqKXu8m!<}7l}i}&+n$Xy{|tbG|NW z71VQ-ppd^)3dKxNHbueIn@7NU+=^zdu9?+P=X6}kvO+7ZE{k_!+4*b3!3u{}uyIB8 zsJy+6Mk&Se5d~?OOC%7czYAa0l#!~qa@z=+<`bMddlC1Hohl|8wjzU&x%$gvw_j&@ z)5QpW=9>byHI#UWYb|pP9)5;A5i+mor>|3(Nl6-PuHQ<$|CHyRO8~z8+~uvYW4!3h zZlw4e|1O?z5a`^yMuk4n>}vQdg_(cT+F|iaQ4?0~S*Ft(UhfSz4NYC-bmo+%uoy%p zQ})L)&VFTO=<`t_O&Q4n)N!htZQRF68;n8o@&n{`8k@nL&XT1A)w&!D-4xeyWlB8f z^|I#yvl3Xb)XP~lw2I)o%d@=z;$vrW_+icU#}|;mzX}=Q>Jg|=UURUN)#mmo?O;@@ z+~1%kpuR9p(q2T}mub0ER^W%xp&j*%w(-G|uKKi-w(?8Q%)hT21?Neqx2_3Fp3bWQ%V9neJy9rs->ayHZ_itLigwy^O9x$FGT| z4w-o67x$ick;1~2LEejwDT#^r5o4k1L}kT!HNpGOT#mLj(e2Rdhbz6Qa0PNOI(6tn z&JYwYqy|DpPXYtFS7Q$u*=}tKXwMseUYkPS-!7R10#qmj%LUD<(;#q^;k;`Tdk%Eu-To z+fvD+?#E9F&m)~UWr3vm*_EBs8vkuS%vaQ~@Y^lO_6<-m)o?SDDi}}RtXq50#9qy8 zW@vJ=Lc!Bkp3Jzo^K+O@6vYvjy(=5sbNe$93bosoqyX-?XiC2lAXnPNtrK=0lXGbYL{uQQWvm z3NcXn6>Pmt$PWy4P&~58r;FWJ91{V>`a&~@Nuh*n4tHew4td9^m%Ms|K=|_FA@$pp!Z9+v4;J8WIooI%*&aI1183@@M$c*53fFKuD>89T^)>(A zos$c*hWByQ!m5u>)dX33=kBy#_Hha56+^p$E zsZr?!Y5G+9DEfJte|M#+247;WknYf(cBd!EeYz}>uCCWnh9n$5xiH7NN#tp>a)@Fp zv0^@P!3dz4dtTk$h=?x~v}onsZRaz_s1*D3Ix4R3t3%N*c^kN$z^OEe3m^7bU>RR} zBo38GeYQCc_HT*(m66cLaU%QLs#en3r-u*7D%e@5pXwC9b zUpW}20+*+zbNiY-TY0ElClgce#Qp8FnoeqPG3#%Ouz+3LgY#G8uprZ0DiVKT1M#(; z++9m(p(7-5#MPZ=eVa+av;DTp*r&*+MSO>$ew5qyU-|;_^D2*@ZcPw3F=H9SJLsN5 znIuQ1>ghzA`0T>{j?HUw*o))rM}~+nOj@UcC><>dY;Ce8cPKycPEYnCpV3>6R3r!L zd@@yy3<+154S}PUVnY@o6rw!y9bh`uc`#q^yei2zMjU}->U(ydmM*dfR%8;+V)joy zIoiEN+M6iW7D4ND8f`etW-&!Wgw*55nLZVNxoo)aeC!tK^LNn>HGT1JpnIR~C@(h& zv)v#@0Y44#4V8HUBgXdPshSV@;}mTD5Vo^a4G!_3r-Az8IRargLIonS<6Gh&chTz{ z7#JNc_9iVXLnz}Sdh0~`ZEp!7Kf2bxh8U0#7hLvkRgwK6>}_p>;N@959e$IrYVwE( z%GxlZ86W_P3*aN|s?1|Xn0|AaF~M_-b*|Rl^)vb8GdwP2R8hB}hLe)W@D z(faQ-9uiWM7=IziKTT&ZPN3~rW#PEK!#k9W0PDsm^82OATYCt#|Jiy8P>2;D$dG^A z^&|oI^+Iih+Cr`j=BY9ruwbk#=pyuKeG=)2po-eYinl_bn;8X@8FT0ZjB!+{T)uy= z`8&?JSasXxRgX}&=j7eWo}hT~cRr$O=s%Xi8(bunX!uBy8Sui1(+L*wkBD7iwK-k> z!Any==iG<8U&+1s-aFpCDsj2$*Y(xR>9e?V$jlK=j>vfmMEkMf(~qj$?Y}Vud3Xfi zAW+B?_WwI%Y4b-hUmdqlKX5f3Q)Z8BCT~Hq+{=hdy zD-AV?$Mhxg%G@D~_%-P*e`Wcxy;H9m>!MoD8;mWlQ$VfXr{+T2g;s#W&2`&K`xLZmv-FmAcU}WHpdggfG`r#3j->p+ZoB&=R#Eku}@@Uvxz@kMn=>`BFX-a zeh;Ui=82XZ-)kq!XuON;HePlUcuF;~QVNlnvxG;JM^e}wsV==hjD{w^Q9xXsQM2Nt^eZCPa{RD|48-7;7gG0Kk6a#vW^O
    $>_hI5d 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

  • rQ zBd;EzS1g!UgL29&tZuS^W~Gg?WKV)k_gN;alFYA^NmO=rT*k&xp8?uNgszmxb?RqB z@H)R2DD?i#fBWGyzNaQA&~4;|3h7_LOrPqWzSVIQALGZMf^S}OEDL=6B`t5yBMnhy zp(VsD%MS~Rgt>CEO#FSM2L(h)W6M+Fsy@v1qz>9iAUYH&l?#&b)~;p*k$ce@`8u!L2~?+0os$f^Uq@Oa6iU z-Ax8ANuZ4zsjwc@%=Wl$e#U9Ov9>A#!KKZHj>67QSpL1oNQ^dAb<)RH{s(K@psUj@t$s9{aiBc+7LuHl`3+%uTh5CGBkV{WpJXSEFJqY=B|YAu{9>H^de+N${G%=yVI z4FV*U*V{T;{5l++XSNIy5MuKG4o?qy%!o>?e|Xo7U!mGgD{unRYOUS`zR&;*MJT3& zJnBF~Cy?5gKIUCy4x1+?h&&aEokzV4CukbSe*OKT3lg7Va7kS^l8%wsZ6NA%4HoI^ zVBvPj7nTCUP!;YY)mL^*O&gugey`bg@_MKFJ+u7@mGCsp z?30Br+1u2U}Fd1V7TDX~^zOeGu(yMQ^mYn;eO$w7zyS)X8rLQfy@z59s* z5D6Mmc~4`zLDiFgCn#aW<9>{080#m>f6uu2na-maJ|w80!`O2)4bjlN$RHj#KxEg& z8S$g62Trd1;`8fe@7+XMPuG?*-_dRpv3;hnIwFcPI+7st(x@Hf1tB= zGbY;zfr!R3^O3YwVAKYb2C+Z`1-jM~VI5;1$9UtNlxx`?TJBvNqd4Y;FNImkYsX~v zM#8+pt0q)ry-x?A9?|Zq9kCkThJhaRLg47|F^yY;##NvhI$Xyzt(#Kch&wIZo^k5K z;sWr#eHzCL?vweWHT<_Xp6~3)1pkCpb zPGhgE?z#6q?@+y}*oMP#YI4Ije@@N>4_O16O{irX&Bp4(}uFgw9hPcs6{ zStcny7o%x1W7YOGeA+Oae-$qxLmMTTD|4}BF{r&SYJ8E=EE8(*zsl>5)37a zdo-5}-$f8u565O_V2~a!robkuQ~z`_-i-$;35L@lWQwGa1PDnT=HmN zRS(b3dgpO}d^tMaS4x>LiPrnRMtCdHh*eyp@OE9-qDXR8hi_rcraeG!QTumE@N<>O z$Fr1qwv;-0J=29UdVDm+fGj=c>rZ!+jnb_H{C;2Fe{`M@ejlro-7&xV{!P$NZt;pAvT&6DYWR{IQ_Uk!ocNlKKDxio zV_8<))AJy&uf3BrZ+;N?W;@y|epczGom*i`y$M>Xe^&1aZ2k@uHW({^#iR*sFK137+s|hF9pBr!=b!x&;UH*IOD|VYE$)<=WkQH- zVXHsM!pt*G=>5tt@$4Mb4JM6fbVD~z-fBfMS*SUu3SfTL=d)}SLNM-wK>%1E+BlO5 z`+J-x(CGJ93`^x_7k&kv!|&!(t-45unMWF#f8^`bbzSfnH)DsUA2_B`Mb>iH1W|uk zj)4FWVqjrmeftE7V0pOPP>P5E)a3eGXb7|w4j|m*hT|w&E|;isNFQ-Ly;fz5CNM#B zg;@PP)@aC5&qIHgCziMzl7-JsUmCUP&ZXyYQhT+fG0dz6!zpV%gZvx+%+29?TPHWE ze^#qfbxRQYVGo%pRHz^Oa1Pp8nuC$6W-Z-0sRZoD;6Zf!PRX{!xwrHkrQ!w7zQ`0l z{Z%Fxz@ZxT;n7k0q3P)ki-UaY51=^|=UV^^QApTq!DtxO@wt!t9i#zQ5?%8_^c#uA z+Z_ zAELEjCD*~iY)`0dr|_BD>UDj1)t`&#;TcZ6Py=&_s$uFxepG1olIu}5Sl8bRPFuMP zB*qofnqDFMU3eCUSkW(>NP$<3O@L)WiIKu*;6_vu%{Usx4TG>!F86a~54UH4e}~DP z3B@&i_3vg~I}Ra2t+}T1xytFDW_?<(e55VBf1E8(#fKYXUU9$r!%w(+;AeF2d(U=m zB;j1s>q_s(ghtPLoL%479zloj%gC=2J6wY>`^1~AL}>JyBND!@RKZQXj@wf2n-D;p z$6=&d+V!N>?!KaiD`dBhbcF!zfA-`q3e`qrGG33+9f;&Lm$PDRJyCX__Vrf1^?mpu z?*3g5&^n=A1X&S;h9Bv(-ik3e=X=)emi_wvfMJXWkl?nLCtwo zRGxFocx0sbY4BI4fBR&g_LTeaONC{wa={0ut`Ap=oB2g$R>RRVn%oKiCHI3%K2+{9 z6Zq}s`xsG20%#X1uTo!OVg*S@h8`40?jknZ>t?#nzueua%B?R+^KUC?4x{0uFk~*3n_!uC`uwB`zI~}We=&z#jN52GU({&4d0AS_ zVP^kpA;(ws)iV&Ujx-{`A1o!#53uXTER2ue_%Vk8FPkcTlqwN9HaHX16JKKIEYf3;ZPxlR!X9LDsd7 z!iC-$KXAkRbPasPR5!}ST^9ALW!04X&7$%y16?5je^?oEczjMh7`j0tUt@NF9GNT1svmey_FQd!#;d9o8lzXqcYdu(Cy4Tz$)p7VFXt=pHzhm z4(_L)D!W-R6Z!6EE{6qYyezS^4l>~?$gY~7!eoeyFH8kd(f0eB0zjD?6(m1vf081R z7Jk=hfAuWOEHFj6g}(}SVI2;g{HjKu?e8?(T|)K@U$?unM60T3B2chb zckmF-IRaln24ZA|y+z5}0GB~QNw6RxZfBfJ%)-*8B7ZwQF|Ns8bhs=sZC=F)uC$A&T49vRS5n z)i_+7sooI9Ca$QIG7sc6u*N&{%R)pmA5T#1FBVPX$8@2U*WC9dmPx>5Vl9H7es=Y^sr>+P7aM^}ISiZ_vahTPVy0oZCG`uGx6m%00+qio zL=gDGGbD+i$=^v(Ect#3ZI^T$I-@x^zFpjU=)1u%_jZD>&1yF6A4Gbmf6ezYY7ULs zCq!}Q1k5M01)BYiO$KK?pJF2|exOe^m=#Fh(VN0mY6SSDSr(VupF}O#U!2_SlNGVo z=au5IbJX3z0D>jhL{Xrhj~fJS^Ua{4)3ppjyzY}Q2#-4ohZV^vzcpp?cCa6s%6)Xg zSHs~KnB9jEYxmTc)0&LDe`|-w{5!I&Q_;c_plq;|w&}(8lW2-+QBHZwP!{}DxM~LD z(V63Bs=zptd^7s|V9xG}X*7eNcNu;YZ0^G0zcAW$aX`+&fP~khv3sYx5m2bDoe@3ufaC&60%Ni%< zR^owgCw_p;w4rQP;)=JC>^zKs@Qfk0N~#gY+`Sl-{5uZJb>BAmO_3K4)9t4TTXz!M z)=av3?i9v8r!Ampv)$sh+Qq)>E&JM%-q=VL7mj@KA_4FKtuX&f9`c>&`-csR0{rn4 znHI{Fih_3Y>2JHxe>akd4+hrs1Cn~#DLg`;$pebzG3sOUrO1OtF0;m{BsS|=)pser z6A+@kSk_8w3YhEQ9oSEH$g+CF-KS@(ftMi4S5tCY&|?hW_;)aSUs85*jYq)~(>FUW zj!uq!ameZ-KB9KUcI#YG1}CU?--EK3G4T<_E+te5dbj9de?g3L0?tnlHB$y5UIqg{ zEbVdTNhZyN)oh-*sM=DL*Q!6=M5y8&`rk5N6L?~E!>LEg!gJvi#R&MZa^QYijIi1p zJBSmGaMuzn@+ZY8IgVT&;mm5b0xw6jkWar`+a7 zPTF$9QGUT}()wbF1!R^zTByJXBc)(H8W(+cpF2m)E*u(>Lo`|pg|qpX^-Y8|ofSp* z!)!si1nQ2b@8aAAy9@Nil_us#Wp>t*jg^u;{5&+Kf0_)blk7Dbh^Hpa!tnK&>q)TS zy|CE(*B%_kSz|MQq0_?#(?-Xp9-%~qf(N%EuiaGpv*AKRTgPX7=Z$8Uwr(z)g1=-t z1K;?Lf8i<1K+3w4SpCqpVZCfz@`_3>t7*^io#)IgD!+Eu6Ei@Y2~}JTxynehuN(xS zVpwBmf3Dy5u4J(1edXc4uZC`e^t>LN;SWb)IFPhnp-hu+fYn(kbxo%k^HuaoW# zZ!c0w`^2!twxZL|PL!I95ZQ-23aH9YL=TLt0G;F8B*e=|49W0$vSms8Y(;)DS2mJ?N<_=$%3 z7~(3RRQ>J6`!cU$E&7#-h1_$f&IetHWqX?N(g>aEgVzSMelyWtByA(9C1IdtwA zVXn0r*jJxnN$Owz3z2E|XO^QC?Yf3NZ20anAthIwhZk>wC(|DL2!@L;!7vypx}^J2 zfH(`1-vp%G3&F$hG3{)h{RR`%s7#IFe{s%XE)IT}Ti?Y^)n>U)cKoZIq@m2cqbMMo z@#Thu>5!B`(!|!x4kZXdBkb`!n5no_Ce`wWi!PWNYDe-a(zNGuL&1KiJ=t@@=rxx( z5&<>eQ;y=f=0mVl10Eg}8C;z8NC!|Vzf7c6j z@dW{QD*fcGR+F*!ze}Kg*(l>Fd=MMk@5^ygnnnEJt%d~k8AK4IXCP1!*HFq!T2a0A z2qIokLVbKW6x>+eA;%)$vUB}# zJY+oTqxRORXX#|WiKJ-aX_F2!V_T64cXxegKrB2-NketA$S=2hm%9Zk5J$7j4t^h9 z!3px;Kfe9VBrr=?K9(o4e__eBla81XdSvX-)`~^oC)MCM?2CJgWV0)1za$~xHYa~* z-~m}Yu}3CLb>OwWdF5!TOYf%pLbaQ>X`TQA7S@R^5wxDOvJ*kVbjHL>y~U6M^_G3EZJs+sOwoO@S&#e_lQj6&V|-W1NuZ z(L+@W?uXa3!1#;g*mw4MxDxrIC;)-~Vc%c_&gC+F3cFJ8W{1ZRI@&&NHOEWil^&V9 zFP6&T{&Se=Jc$_p1Bi7|n9d|Mt{`UL*FVc_C^FMDa>O{(p}1SD3iOmm;q^{y@t&}Y z;aP%3u&Of`^R<}te`()^U;$uWmi7BQ4|Y8GPz_i&spTcXSkG}U&UlTwU)=J|nKZli zmx|j0xyea7b4IeN@uc14)pJ16DI!#lI=LV;<$;vPuJ*>&vC*YwM_*pcMeoRR7~34* z;Y#i1LZsoSFhTkN8p$2K(__*z&mZ-;;Bz^Y2f2Hl$tHP3c1?KODg}-ww z2TO~hWv0KRik0~uQn%PskrzaU$_@sXu;@7&m0?*witk$$%Gd3xOLLRvysmN}{9%en z!QakSLnAy90Q6y@AotGNPj60a@cTVG3}aGDE(9NQbCX$MM(o{+j6 zg3Z++c>PL%e;%zE(b157b&OO^pK*8~_CiS*9|qs>FS(w^&40?wHb@a`GT{wTG2j8Q z&0$7{B@ajBH?2fwwty;DRJHL;H~&b%(De%DOuBsPr(@Wz+v0-K*tcOhv%7oIn{<6! z$un8SwqvBBSWUFPzLQHn+>T5-4K|NcK{0#8N@N|wf7@Eb=k7;#E)u%q3m=W$CjYcw zh7i;jYnm=tewd(nIehOwEe>8duo$Z6<*dvbsSS0u+ND{l6w9r7>3f2LbSr!q@l!mj zGFxrhwts8agG3Z`G7xMHvIk6XKIO65mN`!v2%5KReBp+z6d<5m7yX?rd-q?0Ljmg) zv=0aze}OVpgm98f^u+2eup0&D<0?7n?>EV#EJ3QC?bDU*zw>7;`$tq?_|KQaPP_z; z1xnYZdvl#Lay)bIKaS2@u~8s^f*(XdPNfhz zXAm7Z=gik1zRra$0or|U2BTdH70I8ykcAW!w>V+}WHKrLI69B)MgbrS9*6}X@{*iI zjyrPBBA$Nm?EIc(8@IaqS4jfoK5P0ax5bnJK{5gRmkq}OB!8h?#oolKSv-r~V%7JT zjqA1`T5-loYbxh0jNif*h7mU)Fa7lZx-J-d(@O}+-3LM|I6i=v3wpZSg@bHH9)-?I zl`OR`txu%DatZp2WWyh$(4pD9bdveSC`~BcG53XhjMnfJG`oHdkZD>|A;9gHA1W!H z!JMK%yneY}AxgxK3`-4KEm4~j2;XgpD677P(%)OFBL0eEg) zn(Eoa+J7UIO3v4vG4Cdg9_{Dndn)5dE0fi)Qke=J4QBF&Nn8Uh|9FtMS5M{BA4r#K zJD2wE4nB4Pn7B3bJ=3c8QJ@3{DQhnlwD{&1-1G)*f=ZODQH_)?-`+&2^$C%OqG>g} z%JNJe(9cy@m|B{lK4X0s$VNzZE;iOoEzwh9Kz|yKA{mxo=pgR;mJP^)=2Mkht?f+$ zUmd`b_*+t0jpp>FucEYMlJB@bU7yPc&2PK4(yRzW-SC$(Kx9XpuPW9h0N!gHMZ~K+ zICR<~67M#zUQwK&n+2#C*6qdQbuW3Y{e(V)a840exeZ2-DGJ}$7)>a*K023W2`A*; z#ebjgHvP3I;kkgso5fy953~W{pfz3U6ng{=0dYaz*$Y4q`g^B;QcxQ`bFy?5=YxAL zCBB;H-+u8R09F*IDZh8J8lQ#DGBt`X46g?6c%I7m>{b`EA*YX>WA88g9=YMuWht+h##Q6AECqySauPz-+x(L%HXDDZP z(a|8asYFW+Nt~3a{lodTIMFxSLG!ZpuF}f`;LvAimetUxWQ8RL7(OMPxJLmJV14i> zj{}x)l-N;BcIUb*W_Z+78RAGAD3n7Z!UsT%@!l$<~Ced{fZz~ST8a)Osy4}NyH`F zz$N3Ua$XYti<(mHA)3swjgcFZ>VIx}_$yW*TyQ-sF5q0sC$H^O9>y*MaUo^Sk24VLv+ev1q1 zBTIIC?o=0tc*9d2hyQf>bmY>9f5Be3PR&$I`oNUOw@4(#mU5WSCLK&yNq^PSBpn~h zc0vw@wA2mbrw^Wrq?%I0@5_EyhIujq^y>V&VkVyk0L~fZ0Xu862iONj@-E@i6=@0e zKXc{>oFv%Uraw;ME4mb~g6>STDpQp9dp`jEEP&AYn7&;xPQ?%bN6GH8t42Z6z?vsw zBKnt8E|*p%kA*+Ad_?psD}Rw5#V1jW`xWa&E3^17QN_4;m28@R;Yre5z0r|Z1OW`o zA~PVLC0CmYy&IVgHe)bzr(2y(5nEQMxU^R7Ffc>TMK!5WiQgmLM4!kvfyA^rbXi$; z3R<5I2p+CoZ=iG~bVe3diat0ej){J?goga4*#D`9f7c#Y1uI1F4}agkOs#lKbWs~U zdJdAIUcs>O##f$-P1&vj`8YeF>Ai@bG_2k9H6)pf%cVVP#u3W_!Z8}|ru4ReN$7$0!*@h#LhjekXFX_l*cM5G2g)j?f~ z>OpeBF7>SFOh9KF4r6ernAN?nlbjxulwJwCP_0Y1vfF5LqE1J(2tw&TDEZzZdUMxQqk z3hq^OIHDf>JxBdA`KFN1hX8z9M9+^MtsUgMsE`0cMZ;9Zod&g(W7Cc7+0Wh=Q@qojy-h9@7fyHhRhIu z05#nR8h#wB(Ymk$uV*Di+^Wy1H z1lERuZ65tZ5U=9>0y6k#GKBZHchOB)x)|+m{eL(J?$wnJvYGSQ7spNt_~k%TE+=ks zxTOjTyNLY8BkixwVuB`3Uu9x?U-$-R_88ocIFC`pRE=KkbMp~r%1l?FVfC4vJU=f< z=#jJAQ`dOsL)(k~`eXp-^nH*T$k?+XT5dlrPfj=8kOGyP@9Dp66gSx*xUSz&QSe8=3vv(y;=iU z?pMrqT?_sgw9}-D=VYFE>sdQPtDIC@HUeYMh}ux=e-BcHR`aLqJS!t;?^djj#J|c7-pkC0_?4NI8Rpkm@OuZ1-bXl!1 z$kLWUdyv_6JVuqW8}@*IPuJ%L-hT;er>`^KtEBU7JxRgnWD0%<_ln?mjBl`0gqugy z@RzucTV~9aIwiy}xgq)%MO~)n6N;ir+J~GXdLzz`H-Up}WjS z9Ersrmo}WOb-^~y20WPANUcG0dopW=s)f=FXj7{GWQ-q7`tM4XUH?p?S%2sbI=;3M zXl~Yj37cR|j(VIf;jj1&7Rr+MUkIqG?*~pWx7)Q*mo+r$`lUMplglZA;(LmDimTME zSXKael5)l(X`aT$H1#p%5I$AL%H>hDg`x+p;7Y8{ou`B!7Va~oBxaeUta$U5CEs~5 zJf9b*wL(n>8TOMacwF6N@_%e&d%9a;$L#qC4zt;@#vH8x)=i+Fi&N==PALG=nH*gN zi7zvl;k1tVS_vd`OS3JSOB=Dr#&-PSJbe-ek9H(|1EW#{r&WY*<(QXjjB~Rm0)o@H zf-wc~ZO`v4E*RuGN+fqwyRP8ha@t5VX^>*_b0?7o6mM3moz(SLRDZ@-u~T;sWRL3> z=ReLJ+#@#2lQ>wqjyZryxTuQzGMTZE*_XTPDA3-$g5?gy1s1~9TS z`ntH)aSiv2h!s-JlAFSl%GLlVQih9im`|j0b7;`k4Jf@6%dkG*hI4J~^KHZVXA~+^ z3)=>3$)h<_ioUgCEPpW8J!Fhf58;)-qzRajN(IOPJb79^V5v_0(QJQ}JKNxDZC<6* zSF%v0bv6mSCZwWvr0zG$J^cbQKL96TV*8YEhkcK>%;vQ^O5ttB;H%wK8}Vupv7aMe znPE(0o{zJ_68lH)tuFip-zckpk^sv>Ec5GgDx)5V=O_kk3x9~){0Z$ny5op`9?HT& zb-ny!A6|A5ll)hiM>DT9C~w<-R6h&ctz*meuU63HZB{g8s%4gSqfCXeHQM@`>?i%P z`c1@(1c_Ak_#kUSwGuP8nO3J?o%;(w>G1I;shf!D5-cfD31`%7p0 z_?eYhnS4RU1I^fn8?gZHeD)ym! zOYM`yj(-hoQR_T2o!sna6q!T`D7yyyJFITMMbK*pTG2j}>(h>hX#K5o`$g+;vp*y^ zNbdKkd^CzGHX2Dl$My6AOObVMB1a^w+7d}q!Y{i8qo!acFvB>5p>C78T3G-T=zyI2 z#&SRcQU+|$w%vfTG55X17SxK=7GNw7#JK9T=zq*?&4sJf$?(Q&Uy)$7Vfe!teF#r_ zbBJ#COEK52@!QgmZQX6xpX+`6*vWOQneq4Lt_a*1Ey0B=Mi1ROp!6*OkemP3wL-`! zzsT3Rzf;vXDJN>Vep#WY_;PP(eXkONmQJ!i<30S_k}QVwho-27nl53)I#?@O168Y@ z4u1*Q-7|b{`RW&Y+`5H`U5Qj=iWP-EVPaJtHgeDpHpI?``a1lKF&D_MCERN{Ck(th zY+-a5rXp_!1*Om8DJyJ;@0cq5(Apjy&Ou+CP8?yIdStomto6gHA}2ta)zMX77u^kK z%bisO^UZ{+tJqnpY75kO8L^}fM(OZE3V$&T08;;P!n8@HRf1N>u90{tcf2ezlB-eJ);~E)NK~nwsFxl|8raZ(+xq-uO>^^WV z(M}k9aT99l`!CJuXA$OoMLBo#Yg+?Sx~54^N5jdFvb~UM{Fzs|B8X@L^@YNB<$usV zbfeDHG5lU-=11ZB((2X%sPfa?-ihey)FDz0!;OQ}ez<>M(gDU?&2p9d!DsLBTNlfaM{?P z*TL2awU0b+afc=JQqT=UXZm|;CAphHV5jj}bE%xg-!y?7kSfg=yzkfd3l|NTr zw`R-O-TUhtX4oQyl;VjytvN=)K8Y^A#@U|mo=`7$aQbm=L8`63N_y{5+pSn@UQBDK z4zEg&Rw`i!N{J1cCsK`g=zTDV2FqFk0T6loN-PojoSZ(Oz7^*z5ovgb=SU3ISY2s_ zV)AL7UxevMbU4M+IqgCq>wjE)QyV=`rHoDAEE4~V38uf}7`CW5USRjCGq20~#C_Wj zbl7<~YJkRT3IC+-Hs8!MT7o5oqG{gJ=Vi0co5YtP-jby005VifZ1?U4z$s=S=122; zI&bp)|9ACO2ex9)kUGk!r##LW8_-+CbzlrJoG28juWEFsCfhrnJAXz+_(xo%W^>BY z&q@W0gxV#012n#vFRq0hiLciL}(dBgWi z>u=yszs)mVVTuv7@K39P>~4SYe>-wUAg?1w1(quvktN5IZV~0x9vo3RNv>03_i4yP zm^JRdJX4UHF3=1|>3?CUv%b?r(vQyE=nW4^nR8JywdZia80H<@ZF-?bl|pUQo<#7$ z2gVym1oD;2gu>5Ax`VI1IoC&8LK;<+n71yx8ahfJ;hUcw16S^H7JZpr4(60$$nX67=n4-+ zK7f8-BE`yC*y~BC3sU=n=CIw-4d_c&y3Wr`83zEMk;6X5sl3^1<4 zuj>3gpvslmI5>Wneqw4s_n!JG;?;het8bB^dWu-rL4V!O1I##hfwW}{Hwi(^C%TMlW{spy2`~&Jy75|!efnx) zf4s&|+J8YL;+n`|(|!NlbeyZELLj#Lb}?Sn(0^b#1LpP3ito|>&8T!4H(IarMcem! zJJdVP`Al3lXtW}`{;i4ctJz|UJS}r0f7=d_L7OFYJ}sx8SP*dd8;1jX6^QVu3D)|S z@@Hq{m)7=kS-Naor$GscVt(ZI3wZVbp*!q;@CYIhcQlEQa)!)aW!h+0LfmUxn|Up& zaDRGQTE>^{CFM7$9KbE~Z_Ae>GjOw^Ah7ru*Lsz(IYf(0(&+jc{$>~>oNDg0Ys`pS zrV7rb=e&wD8SC*gtrGF8??ZfkL$ZIO(90K`={q!i_KdH^e2J|Ekgs1cBdzl#%BfTM z^Cf%l%gku$sT4V<93!B>*HmAapC_N`Gk-V4o(28YL8haXP( zqYY5qnV$fqzh^ZCMY;@`M`(_~I?soHX?;0)d8(#mO=DytD2IP+>}lKf%OS?{JpHOZ zLagWweyL5YF7hEJto4}s#II`4(0>w98A%Z^(PUahjA0w)uTQxM9WI$Y_i?>!6uZPYTga9;@+8F5t{|94u8sMEg+3t z6^LlDmq)r*oB=K2n2AIm4plgebK*!t)&5R^q~_5yb(bX;A-J<+-#RDvajAxf;I7YU zJPB{O)3Ncr|k(u=^P_U`&0&qa<4(SWW z@l5O_usk|+uw2^Lywo@OOn()>A0`a6Js$7t$=uq;OzkJel_?0*6izAkYaevFmo zSrbvezkA~!g$vXq#4IFQGZ8%w!))#1oLFDR6>2T{I7HmN^c@JF&5wPx`-Fk^rmI^>P;hqKi>#2nMsXxERo@~X;lPe!fuUygl61Ek$0hDf z{k$07>jWL}pDi5?mw&M{PF1eHR=bZ&Ly{i^e1-ORf;;lgeYwd)pP!mmfzpC3N(L8X zkGe?~4ria4!JToJXyD|22^#o`*2E9CJ(#8>6CeWwLF`^{l6Kjy)`aI)5{ocJi|bN=vH=wSTY1 znpt|n5L)7V@k-)~%&k}xx}h#!EdvWpXEw2o6fxXz3Mv|>pDj0ry92&kB>KekSz3y% zN~WyiVUSn4{J>To`QJN8T$>KfkA+awBfypmOXKsx=P`;RNsWY`y_)E^ywmX{f8R*s z-{^ZFO5 zV&9u8q=En>kX3~jcB2$bhh?cRGT*lU5h%COZd+Rd5uE!BhuGrj^T^b+RpqH0kjciL ziG|8RcGw18o0XXu1ZjL`6@T;1iUA*HfKbt5Blf^M#PWjeAqi0+;goQG6%q@S0SAom^dRH`$yYwjPjLas0dHRw^L7}07pQ$ zzez3Y@CXPhNZfY9ZzANbJra}Tw!7^dGT;>a^u@q)3Et8`1lYecrnHM5zqH5=JK><4vkWl*< zx%P^}eg6}qBZ6pCFD2iu`3XlRz^bC3?Q+uVJY6EiB-3d!%BFAj5}Di6Bs%$9Zzj;X zB-JhLp1kajwFcU*WP>UI_orTAV3FU1XaEfhXJbLa@fLp88T4X*6n@q0As&p2mt%i| zCUPwmO{Q+~jVn8z5Ig4`Ov1(@zXXyjs#pX#CZEa@d}tYIe;q5nTq5@Cwxsp)l%sc) zVnbC0SP3<|`z8jMP3x}+DIYf@LGTT}I%CqT7H^0NItq!lz?sWxn&iUF`S#PnxeK=lE0HA7Hns;`Y zw@&ZN-6%9x#Ye6gnd!1El)KxqIMlsdQkREF2s%~tTY;H%v~lFO#i71#mF(jQ-yp(I zyc085_KHJuj5lT`Bg;8FB!cpkZrT>x|Zy@l8S#|RA=A3 zbJ!m`lu`PC;_*88*r2wT$#zWV`*4d=R8d z&N_yUmy@v<+jVH{xzdfZZ35vGwJ_QZyOL%w)18>m9N?6I?fo|cU$*`%lE2+EKH6G; zNEtIb#=_NxkaH@I2f$Y64mW>_=b^BcSVp~w3<@GyntUwTbyx~X`;u!He&Fzxn)XuN zSe}Irzal%2P!gIG!Ez}~WEwa_Zt0s}$}O^#RO>X+wVX&tuuSdisA!=g%>UeW&C@ zq`%g#+=TB5nyWax@(sr+-w0DgzoBD!%Y*LM%KTdO^u1dFlTSfV<7IMQ<+*kjM)zO`F~!+Vi$KH&f|CZQsZ3PAz3d@aKbcj45q{G3HN{4`tDoRI2G zN5#~@I9*e5K-6M_K`58sy{LScv1!W7eoE}a?W9w$UBED9>R8re6iH{ev463atY>R& zJY)}F_DO$-A5xy6vK`pliaQIGV6M@e_2XvwkvO-8V;WKyT26j7MuX{oruml6az$_R zH(G;61b-siv+C4tUOODBBNmo}gyUuMN*|~=Pa!ckE^ZY$@krMgR`vec6H=RA6++f; zIbwo>*`Me*PibED3)Up$Q4Zi4kZG$(HV&%+QzL&F(`}QYWu8*w&8CyMLv369#FyDJ zj0&JDyeEOsPOINP=Wqm=r)il=rSdnW(z#emZ)3??CZyR?-~sz7jSQ+y<6}R0L$Oup z>=7G>-x4X8s6xNzxZ->Vzn5=IxyL!8%QuC|*aG|7KzpMO%Lo|D4>*Z0hqw{+e*L=s z0jz)T-)(T*bmraYY?{gWLZ87g@RqF4#9*v`N?bJ~~(K%RW$Kajo zB@(B;+Tf_kmN}*xL(D^w zat1faD`xj)JvOHDx@uD#T7j+^6bAOqSP$lY+d=yOSwdnTZ0n~qD z`U(KrgK7J~;^!$q<{PGBV<}kiaeq4sm4a$aF~@R_J{QLacJs29C>m%HNDmL0_%IdY z3urt`liPzXuIbB4TugwiNCXA=Ug$jrRl@T{B3m-O$P0=BgiXU+w1r=e*{+$8D8=HY zZ#G*KxY$1orBYG1&$l*ARggB1!RvpMSkkB%)S*ZMqZ1@OV9+D=Q}Di~MPIAozD}!$ za5sQX$<5-+r)vT}eZ_HMe`^$Pa?JDllU4PDig}8ul3)Eim4#<<%b2!;?%y7cM6*sf z4_@g+ITQfa6axwrwXP%J%op;kL)^N_S>)!27f@&lf0)fZ6*V&Ayv|COf24mev=<9` zW25!xI2K*Eh&{K_xKD9D--mI1ifIHNbe+cU0~nF2M7$ObGdU1I2DlSEaurLE8$NrH zZ72`jtYmop=|McR>qGm!>od8jYsI+zFtT)oUL0)=qchb6hL?|jvMlMQ*Dhk1*$VaR zFVNqbz|)M6^Q*j)^qacn8+m^kH0$T#(duuqUH^9J0FHt<{_Q8})&0)+Z^owtn=3<` z1__jeK}bKLjE{tCPjyL)#oq>;M$eeqx0b78jzTZ^*om3)uzrJ#B7U)%Z;UB0so1)b zj$2EaQ=g{#Y|A=vCuFu#|ii;KP2%*8hBHn>qkISWX05+^xhI9#=$#~V1m9W-HI zQ+5xAaE1Uk45VtPH}roVzX&%!+%y)Pl@bEoTObpTRJh< zZM3y4>Clnh05#@#Da|3La=&j7p5I1`y|U!H<;Og4l5o3{v_p`)hS(~W9RAx}QzXB3ErxL&S|lti%9G5RkU;*HN#pLh4B8o`UF%+ znmZajRq{L}nF?;}mlsT&yjh;7Ub|99p_q`3h5|33Omem7Z~ob@DZ@Pa2Yd0?miL0! zwRkzxZ9(?<>Y@CmHAPJ$x(BQF4@6m>#HMP znvwef+mt7?I}r+9E5|QG`4Y)X)o&s7X-f@Qt}X@DW087G9F9;9m2Pu6MkO-`FP>Ze z=NoYpSqI>YT$52TtWyS#Mw=K&@CWjc7kbJMc-~eCRy_4okLs}>Brk$fV|5M}8nm#I zG(heSNIQSFCcoSHg%9wQ37Gg!t8~RBYLM<;B!+2&6+O;cAa5gUnb$HG^Vu*%vRfxQ z=9XW;{S4`x5@|hOr1aJ*Ay4hro*Ry8d_UXYv9jX+gtd=4{p5XpFaC(lT0%07uxk9E zh`cY3nY9HLY7t8!pX(kN0Z#*Lg5E*&be2GhN;ZFh7^gA5B+8M?#quq^;#a%@>qYD0 zejZ92yo5UL+Etg)aFpKK2I0C%MAe{mF81`b)mPhg-hzABJE32J$qA?0@-GPN?q#Yh zNaIne@&@<`2(`CAggo#F4^~GLGuekoQ-N!?UfPfP^4;6x9nszq3@bOSs$@@LVfJ|@ z3qEz8hPe8QQYWwc@!a~-m&+0bWAOxYXE-lN1}oZ-zhE6i$=BfBW{C5Bn^4T*o2 zjDv#qzH*|?)RvzH1$ERE>!KYC#j9Zu2cG+dZ}Hk?AvT#+AG0)rTjz+syna-CK1$^K zy|0f*ZF7@6zcgkAisYWK5cDy z-EGGz5XkDbNP_|FTHfc8Z;PH+@M+i!wYDow5J&Zwabd&k8)8;!*3}a*Ax7o{LM!IDJ@-%dG600m zO9pi32vs%tR{W13W7KZy|8{;g(+H!emc}t701XlSSa;IuWTQ&DFF;!8GblkRtWZLHqa} zVTK;YLC}`v%IIB}*kga|rg<|5hho(WJyN3_V6wFLZLE|We3^+NGF+zAkd(KGrXN5o z0GeiwoTkYVgA*FX6!`$F69nk~^;D4LE2)P;*={eIegD!Kbj4Z4<$1qK5Hw9DJTFQ% z0VvHUsbYVzNI6ier^`3Qj(}!lHz^)HOlIaPH7MVkU#g2jUIKpz5MXtZg6*Q$s2L7u z>SP?iQK+xgiJu$Jf*fY`_32i{4sts^iB9$&B2 z74`E`9-nHP+D^P2np&KzCv4NDX!Y&$>*dwN`qhBcA@P%1%{mTzrx_BOwBq0%gdV?5 zHr8&xhijkBH`RZIHhZTHNv?~28efem+Aa2nv1@A>um=oWrqtlE#J)w?w?a=~p-e9qr*Vpi8U#A}|C zL+^hqlt@lBV(q|oxyW(_^bnSBR7X@)JYjn0)3%3bUZ*~16u9=jbhh(3X#q!8Id9j| zo>y)hotuBBD58fe_#C9Zj#aOex7y|>&K&VerzNb7+C=P~V<#9Qo}KC4MOw?)U*^Nv zE(~6)`uh%xh7U|)hMsMP)?Xkw3>4kx6 z0*j;3ey_fEVdJvXHwbHYRfdo-CNW^;mq@+QRWW}o$yyIVWEn;j0oCt(hpFjHAXjqQ zg4|l@_H4!$2;{Mnlbkyft44O*MsndEy99MX5%=`L8!?8=!AkjCl0CX&hp~c@%4CQA zW{m1Mm~oC-nOg{fV98szaUU0WJ;4*@qx*qfMDXhBc%^rZsmaPhkmaIp`VF&7@m4pX z0``A3d=~>t{SIzx@s!=5C4RyPVyXZ)3;oN?;OA8F=;%BmY9Rk9itHlZwnvUxt7Wb! z`W-jbQw58OUkc-Mu(!!vxttYB$;+t=g5YU_rFDWlz=BXFhZjYI)a6PSQC`%vA8~jQ zBKv^|5fTMb>oVTreW*6_T3<#yx0NPuGN6BbG$0eG@9!f5lk$8bPbh7xT|T`!-4WWJ zRa8$R&+%Ft`;7M70~zwia9`+e;_o^OwQ%?OK=K^W06g!vFbY&yT;;3kbv;Qs+=Z+q z3w+@Z_HY$pdkm{olpfR!n#qP_Ql+R-%=d}J>blQ$OH=Z`?CUkilCGYG_Q?Gbl;(dE znm|5gVo*6yh62YfJ8V;wmZqx0L(LqAHg(RgJn>pX!k&YM*(J4$Bse&t0S<09uT-AGom@JfFn{kio-Cy6p?ri9X`DKjv{1pcGwES4Jvf*|@q zI*92gX0pXMu`Fi#`Y5S#E^$Tco!RbwwzbO+U0J?1qcHyS=?!+G$y@4bV;;ScOr zAvd2BV0y?2+DoyVL4cK+xALDMa?CtCF0=zeS$e|?LR@zQPpZt4<5Vc zw5Cu%zMS>tI9$VC3ZW)#I@Np*{LLmfiPyUy6iMtYHVwW6Y3!ZTm8}6*J5)qQ_yk0;e|KaIxM;*2+#&cf=Wf8vnYLDoJ%nH*Wt|= zN9uxP+^<}^uXxw^Ow3*@DZW_cTZSh&W1s z3$|tqko3r?dZ5%Pxb!K?pi=n)_|DzgC6<4Tw9`FYB`i>H zV3@h683U+`d&|xEi6U5ZtEsJ5VCHVjM8du5n0Q{4WmV#kbW(u=nbuA*-elJAsfAbM z*MJ~(ac;S}cS^}?n(v=@^-9TWCc)4HU6;;$5T6Wpx?j6;>h&(8v$?{XE1YhNQ#StL z>eFliY|IWeQw^9rA*Fv2RQQ{B0Sdee!fcG7jVyQF=_A)E1P_L5QN6n%L!7ASjFA!! z@nOn;i~P6ObpTgVDdKPrmJN0xfZP7x&rc zu|gn6+=tjTIf@PTk!5N#g>aM!7WyV%P8QARK%@L=NK}_UNN#^=2!a500&Z8ZL&9BO zYVc|`ok0P`fN5jtoks`7zH6Rd>L0^n8>L^Z2(+$b3)LUMZ^ur9{2OU#MziF7VUnaM zs{(@HCiGEdzIhWQ@a_NorB16XkuNMYY!G?dJM+ZK!@6*!+)qm1R9f1PLi3>?(M{Z% zlRqOcyP!!+lvjWCPfQt}6k`TFRa6OTNC)%xEpH=8Ye;+y$$LdA~PB{B5nC=jRi7JdJ#MRl z(yvcFnRY)MdZ2Rm^RO(mY)WxCIGn&Q{nViLrA}hQEIS9_V(^{|>|hwP4h$`TH|FLY z95O>en>c^z!F?R$I0?}t`I*gH8Zp6P8Dal?b5pZEnl#u6S5H&!&mRuz7C)91WKxq)WyVBKCUG>2rRQYc+dHITKlY0jQ4Z2hCQgQS_GEqC!OUW6;Sfj5w?tQd zDKIHCMQ$IXA0Zr~HsE0BMijdGZ?MMTDQ))&D-|Lc91UYbh8&UudL9 zpG<@28qZq~9-<#vs+{Ql_~=-Cj(&|sxR)6(+V)vOz(p8`r5Z8=flVvVfKU}?2STNSlO?#$I)JcYCuji|-3BCJh!v7KzW5R)_uYw=9~<9C7iBl*P| zbbxhn|>9R`R^#q(JVa}>Q1 zVXJ2BqueLoNiBz}xiX6#ENY80MBbF^Nc@h=WGcBXdKRsR&OyZ^BLeNr-3)9S_m|d< zC-B8Z%IciH@o9pWrti=w;Ld$*psT44+`G7HfNy|O zN)?hn5OXkbP22-JKFTR_phCjpB;AFR!dHAnD@vg@#vEk+(|s5NADT6nB|EL#Vc^}= zmnw&{e*6IEuD{tE`KlfTT7)=^disAgOLGDIgH?ne#jbfwZvO0{u}`T)ELj%;UD5u1 zU3vP3JIH^(#HLKNd0ODn*)I8@`Ui{lvhT!sC+M$iV{+be`PboO)ANAVIiXw=W>E}C z{ZzwHHLb9NoAUXlEC5}yFrQ9?MAwA-4s#|9_W8l4uk>+>_eQlEFy%P7;Y@$(DMNkU z;<^+CSg4Y<2bk;m!MVJOe_Rzev_gks9;$@k*m9~1P@nBjRm&|A>z}b(J@NPWo_IIN zD73H&qB6BAa#vx!QIGA%3TPr48zyUcH8Y+b#yaAA3+CiEdVcCRw1HY+8kJDJYv5Nu zc8n`dT7h?=_sALM=lsmjjLM||#WkM)BSxMHJ{FSv1Fqxr%MbkR72$kMj(ku0jz3Bw>uKu;EcY&b)#fH+f*JFRjF zzxWd|Wd{+`1~|Rw*4U_5*AGeWiDat;74V(ECs*Hy2uax?lR&8` z13SeY71x=MOw)H3jfo&>4@|z0tz4+iNa4vTrGItzsNF!9lRAGJ&M)3RINtgMUv1y- zhbF3DOaaC4^x`@H1Y7(TFG+!xr3Id*GIp-=0DlLgp}&DR$Rkb)7#!Lu+)hIqTfd)( zEGr2Has5(LO=E*}8u-%;^+yYzWq0KVu}OtFFgwQq+N^BKsL|Jt8k#2bewz|eO?1LC zZv7_=CHFmpM8JQUPKs`EhWi9+9X08cicO&z$VjR*K<ZE#~p?pi6NDqJ5lQJ`9zbXq#`$u@^eF>(1 zY@=TIAYwR4Ry=expLnBLDV!S=g4uLVUHuB9iu^hZZbLj>s1UDZmY{}ZMIqRnVMNop z7UOWrwhPbsmFPQdTp;Azb}*MB8BI*Pi|G9zd&4{vsZd#^ZO(Mx3)2LHS#>|?bVpHlB}Kp%1T_O_hO>WT57|XimIC85s*`>*S_1X@ z6Xvc>8DAmVs84J5fOZjcU~i*Gl`v)?NzZ>D&kDojgT8+r zY38F`+?N(`T4gld!#XzYH_B;zeV#gXA9zfKl&_npw?XBy0T}8rpF-huGK#8B?;iG4 zWh{%Bj|YUg4{biX{*9;O5M0Tzc*RZE57iteYFaioap`akB568G<%GnbcNT{Je=Ew( zvEz)&3;l83O4yPnlNs*rT}OZX8;YBn zWK~R5|I0LP@uDunN|OqWv_+lwj(qoQ{Q@Uk{GT$a-bFu2novCmA|F#HTxSb9CVho= zOp(||&nr|HrroHw0hzCzYl>a}RW1Fvs&{DK%N}slGj&J47(5!W>-k2_iTqeznbN?JC zlUrmc%iRAlVHHlonYfvwq92T0JF6^LBx}rx&$g+B67G{@UkTrlEtP++QT_hIM0L#& zDhlUG)Mj85X!nWx@1+Mf)cY#8F2rhnH8p@Nz`q-CWBDf~9P9wW)?tf=sjFqO~R*GJd3oBepRmI`IPmIn3GRKEwJu^j;Wbs5OXX@#f}txN%ov z^&I=OMF!-uL|^=-i;sVo(^kAJ8o{8LDBxzjyg>o63D|Q8!b5Wv9Zj&lJx+=p}bKI$oe5%{S&3PXr6x?0XkUtqn%d6yhQxlL|(MR5xJ!e#0Gh zm*~iEs=gir?^LO#%O>XUrnk1-`@zlkk=QnJ!Xe>rI?UKE{cuk;2|ZpjYCND`#I8+QXL3V#n#f2#ng*sq3U-bMghP7@? zRdscZm_>yDrZ6#QNjGIyY24a05tuAt->+zK7o_yd?8G%tn! z4P%{765suX(Nt6Wbh|nM4qw3WGl~33lI>mEv-EQDwJa1RHu+_wWMEz(dot3X40NXf z)n@DMg~CUuMVlEgtU3&F8{FTF|sTv6KG2~SUSec4kUuFAHM{^3G6^SMrx`S3>n3G z=j(4wcXqV34ZH&N-Y2C+I;C&0ElAMp77sW#Sm^UnsMu$2Zj%)K>Vez|q6o$)>;d!>} z(f)K4T9BSCI8RsvjUa+ckx}L$%rF8>%p-rskr4TNyE6UbdXqC7z4@Bj{G~AM3g@gt zr(mbD<;lJi$rYoR-u|z@a%&1n>UXqtb-ux?qs#pN%Ql$RgvVmDc`}-*G1yr8CXy@ z`8>yc3Fk^3H#kq;cT+Tj2Z3y&9jt$IJ+qy~rd2Hsy`xX8@nDdbpY-m9OSlm!pGesh z6=D;0nDjjE%XByn)GZr2)ybIk6uE~+;fE|^AfKEJOSNvr#@w1stQFvNn_3LzgrarA>$=2g&C~%H+zQEb)Kf!1tsppG@`argN`AMKhG;`%j>{YI z1<+w@H0AB#MhwRJDl;|{t~P)4CXCDNgrG4w<^gQN)d6`W?!uwT-VBgwBbp7utP4WVHAR-sa+j@q23!R58L}IMg<&Oi6`+8>R2R%o2Bs^8hYsm%3pb%=5 zSPcBcut80mLv;+s=AY{vXFAw-n)Basi~t@oLg9l)laQp{W^5gZ)w+L-;cqh4rtU};e`)M|yF}e43BIp01TjB(gWOy94Z~nV zAN#-~fX|auca2xE>1fg!R@(N_qqR&zf8L9w{IbH>PwB4AypvKzfBxXH%J}ctA6hcy zVK^al+`^NKJ00yVV@rQ#aDRO?mQ@%7B_&WkAtHCaar)4v)1orQp?7Wz1gk>&x{n&v z*9ApqzT(;8=IjQX=^nSbYCwm?D%JPl8BJe{zn{2!zdXvX$lDPTnF~t4WBmDTEb$il zOUd8EmO)Z789|1EZn& z4LL=W8-NT0il%8=Ho-;`FgV{GuJ~y2;6u`AP9#|JO^B+jT?s%25N;fAcV1TRb77-$ zFsY3zh6u(v)Py^XsNpip1t%=QS5&jeMRAvM3%2t>SDy^mEONb zlfQGQT4Dls|C=iQZp!mLl^eal_REQ_=FbKzZ~O34RlhW$9p63i$u)jD8*imI&Z49d z*h7P`Z^jIazUe7*T5y_Ad?q0^jIqwUf@78#)Ga+xKOcX_Tv(hEr>M`Zc05J3ulLxz zw+-5!nK_=}nJpX)xg#BBJRVUiaL=O^lzJi@*J}X+emLRK*(+ycm!S6M8(x&Ibr&wf zr6w|BRPCD|u6hsv094Bk+Vz1MUKmoJ1^i@A9*$=QMgn$VoI4SzD)6nq%yCG!?y1or zfQ@g!?2&&^L!wJpObuC4S~1!3wy4?)4!8FE`FG_w-aAx3&4Qj=8nqMSKxy0$4(D8x z`E{)Op{SZ#x87Ve;4;r!Cg;tf(8@If>WirZt+Z@&=BY5DMTx#~&znCKbC`Z|pZQqq zUdd>5R^w5o&C4wA(27`P6Cn!q9xu%N4ZnJ9KJkCdgVGXC(FNs|_;!pyEQvV@7JchI zj%!Y_i@K}=(K*vJJ(-w|KxNFxAhV<;Fcjq#!YKMBU+2vVL`iM1REJgXE`ge0lmCYQ zr}c7ymayHoScD0ktJ@-mqz%ZF?E;*IqnL-xwaJuZ88w4VmJiN-Z?DC@vNG4WQm9qI zOO}6oXP=3{4`1i8Q)9$46DVZoJ-}SZ%l=luKtW-^NFjfER=TWR_j)VCm-Q!&+$90X&VS^7o^^BLA}QLxo&IEE6QO#?jTW zjj-q7SymU-l%=mcrO7C2qf%9@xSe2vtdM_WXn)LN$d9J8n@G?Z5=+0BFl#UXY@0}f z;kYtGkT629H=(l5RiE8h)eg;Do(nVOe1)eTMKB73H@i zdVA){Vjr?f35iOhZ2+o0rA=S_(O~CrC&OQ=skeTxOdPj2Y*{9nX`!tFTf#d~e?@EP7j+lv!?JhUwSD1kqP-KU+dOi?=4V~wwGNSROo+5Ovm zU#r${-CZ2?5Zp;d8#ZvW_8SF`3Iu;FcqY1BJomQJej&Tx%W3=}0(7S%<`Dlr%%ntQ z9rdALxc_$|Tm1nd_hmjXZ9A1X4oW$vJZ9VRO1a@nay&L7`t^U5{6jAZa&!ev+DHzh z<|H~(LB+kz!9WODDxlM#F~}537I)u(z~PTJ3f^E?gTFFi5!g;b99M2W#O;6Tx&hTH z@w>EfFultat8kD|=5k%MdleO39y&0SK^b2a#mljx=s@rCo&xU3b2;Lh?i|SCWuqh! z*BH@unO_7rCgixN;xzFRSueXIWD}GC3WdUXUuMcrZ+pdWGVI&u-T!DktkyA< zP#S-ihj|U=xbTmfF+(6o=rMigOO_{GtXS+9XicKtps&5P9Z`bcJZ%Hvq<$78b!JPl z&!AfR?qalO(z|2gG;!$g&mo`Q1U|iGURQyBzQ|pB9@CXnA&CansMUWqq!+>KbFdp( zUMy|RohF&5MY9~(FM_c#LC&SHZ4be#%CP0*)@qytx{#tGK%%m+`J&DJuuDb@gQj||JokV^7l<|C})8LfHbcl#^YQkAn;MAqqrLC+usyBV}x_{$! zA=i=Lb<(FzPh{VZUs!))kJ_Vg^gKCmeU71-n0FjFe_-TN0_=@vyHGb4)HK>!`3NaW zn5l0jvp8wOljTJ24}fALRLWn6NQCbfC+H-?OfJSaAIB?Q{l@C0vml*s5$`t@^qFKn zowNt!TB7DQyDc7w7@reDN`b6poX|pA-lDu@uKad*8l40chYZ_^UE$6p;yeKdba_idNO+Phwe$QxisbSH-F z10JHfci_nBqwc3z;{bw~&-h7mL@SI9A=sglrhlVo zZ*Zdt-{w5NfMxcu1SEG*xs#+L2e%?=^W)>yfs^2JRkDZ9B0Hvmi7|;>+4P*RPp1&a zphVb-I#z#GWq`Ia}zUb1a4@tZ0i>xJxdjeEHTGz9|nOwl%8khFI?id|ocvK8d8 z9@AetT|b{5Mq+XOpo6TB?o!n3gfiz~`!s$*7>?G&TH*43VXgdhRqiT6!dgw@=O`&8 zPstCt&*JwaZp~;y3(C9x{=Z{@vwUg+8Iku%ZTx>-=iK&lqSz$VfooalU8+ zMZ!rc^Plg8T&&H_w{|QT_E~OD%+{1o^Zd+SahIQsGGj=AWWRA!6lz%12~y8%i?oN=D%tc-?_$I5*T~$U`rh}c4+?Eo#>~2J#1HR z`pSk)1E6EWt?gF$64WoRgsnY%`r_brdU#H{j4>JY&`pa!dptr!fDpeDkYA$OOS)tU zo;zZxPrlBfXlx)TPF1X6W_`jFj%0Rs8j~Q%04Y<$Qqc+TP;3h zbEnDy|9QP3e;}u??|RH+RU{4CW(cdofMedr`1SFXtEdJ%BqAlV|Fh8_lcRw`vk|)y zP<3;grXqf8wo|o$KZNaPW2<*;nJ^O~^Yq2O=+hLcj-o4%#P_FSdX}5!fvmo! zR&a365BSA;4fk#i0)2lq^s0zX=zCk;d5|=j*J6BTt#xg)^tQl&mYbMfOd1yE%ok*@ zXnf}E9FbKBve6}DOAx6NaQJ`Uc?=s5^SiUgHoDgUv5aFjb+uy761~7TqQfZ9O_qJq z8W*squw;0z7l7rp8A(%KN+xzhJ(;8li7K9a%@x9p|F`7(78LG5twClroI>)}I*puW zCX|oJZrK}T^YGVsv2DltBjyC%pT&p^VAVf$7e&xg&Dye1)&!EOeL8>IqOzx%O)-L8 zopisud?-H4D`Y2!M$Q`jh{W`sn{2t{l#(a^)1#N`hKO-Egd6x|>0h+ZSJ zwMfX`7owR*9s00apS$f^uvfJ1&O4XGw}1)n!;t*LH}fskJGJ`P^`I!$8s+Yk`O8nu z`UXs1Q3@4GhWOyrhQ5DQ5acKJebfL60+A-Y3w2{o9$OHeJbRFuH>U*mi>GgS&jFFY zPO?Una=&(gXK5*WoeDJ1;eC3bK5;w!5T+wWEB--Wmof%YPPvYFWFB_3OtqQ`w7*t$ zeqU3nutRLTH;c7u!?{mv-ovQiV)9Yjk+<;Eq}=tfU5+1AEpUH-EkE#ql;|QYhaY5r z{6}DZ!-tL6eD54wV6a98c@FV8dr*OOm0{Tsh%u5rofM~uI9{fEGbPmvxMZ+dTnVCz z3Bo=W&*2=>Tu*HyIcAQ=%^4v4oM1(~OfvML1#|zhdjPpS8^Dm3&F#0WyK4W^p9zA< zkh)EtuJ9dEboYNn_XwMBI%a)T`1ye>mlk2`YC8oJ7jDZ?yLiHP#?1#7!5i@?tb3yD z*Ti(WpOjT%B3!*Q>?^K7cKvUSU(K4`X{%Y4E6fx5gP|(od24V&O3rH0l1zMkOieRC zR#A*Yie#zZDlD!TpPpM&Log}?o=h;nepLdY(Q7NbKAnH8lHA5#eVwuA8wu2mGhLH`Ri0;YT9 zrK&X)ACHfMXE^W|E`7FN+IB`9lDr)rh!*uTkSQcK_m!^s|6kJS2prUlU#Q(sh#Ls+ z+^%MZ&8dIztb&zesYcB}wwaI@SB7^Z%6ifOPTn4h(j1wA_sX!Lt`Fp;)GcyX-oAkL z$zCBF5ZZfa&&Blm#-j;S5D!G-)!$RK)KN*}B^D#%i4_2F0I%N3JzVi1uMDM58s6r4Q*b#-Hy> zWrBb3dq2DmK4gN>VBqZw%RYEj?|<}MA_r6$klK4LU~(=(4R`2cULR4MbqR8cLAVQm z6eC9xTFkBxv<1pi1HUxp|I!8mJi8}1`Jy6-3ymSyY3doiI4PVX9G#f1DM`@YrirN- z`!Y?+sin61V~0ir^(#&WXE$@*vi7=`$(@@{JiAv??kb^BmIfvb_vCgAqBv|iKQe*&3tNTCx z3p;`-4L`Z+ut~qdE0}e)$KmWeaObmt4+iMfN|9>VVNf*m`*DO~LTE3Z=~t!SKKOrt z2i_sZ+cLHax&gYrjiFu1y)Le`E)g zLLElwOO6@nZH;6cb_6yW>p0}A2jUDkj-sMXJDtAf*GaIjRb0L;I~Vl-ZOv`83z0O9 zA0a-@>c`HBa{PqAmhRUkhZ*sTierD$UmDvS#`oezPbo2xi@ZT-JH3N5SE=&kkZC@gCNeH|p&cStTHk1%0tM+cW$R~mn2 zJYa#)Hf;hVS=jP!fMr$e-P4 z6>nZBhwgB`TI+k&yey08Q(8A*fzs5Vm~wzrdVqHkMN&zF5zE+Dxal$jmJLkwTWOR+U3w_PpVF}exqs03D}NFl4^ssoLqbEVG3v02{O{W9UA zE=uASb#)*n!KhMEjo^qh;+@w&F3VN{-tcdvwr-Z?+kToL`KDNp+|&wx^V#|PD2FIH z@GtLMwJz!=>Afz>`oqbXQ`8(s<^WVBUi;H_;gJC0H@=B>P}n;9BocrA>7#Cs>pO^@ zfxW~m#3Ta&$~p=rLrVMT8!sl}41(~#$@Ku7<4f!iWF1P-&0o2l?zjrOzKPyx1HTwS zua854YYv<7C~cEyjezSk6%wOD9ITkoUkwK>KI@H<_{s#Rw}7R%<@WmK~WiW;|G z!VP*A7VYeUKqdUlWL4xJ%Tal>+a#9T&riOvqr@z5z-&5#3==kAlLLp4cMOipRSrYC zvkS2zMHG@7hBI(BVilD64;fU(+FHqxiPJkSj+LjeE8#kZL;sRHqui3 z_Ff44PV6Uuj|P8$@qiv24$78$&{z<8H+7#9ics-(|iU`1INyutSU0Rev2fPFf| zP(20IM=*8~CA)Ua?Wr=#q00JSCu&AJ>JurQAH(1W1LXqL_HNIPNE9S1JC-*fZrG#3X6%J_ny`(Gf@sv+=W4V9#bBcPK$etugL?k;qK|#u{-|A*>`Q!Qx$A!#8hE!#R#gOkUcr)QgEZ5Q9 zy4Lfh6=M`QT6cecwg355q(Ac(WOB3f)jx_1_1h>P`gaC&8s?gErdlJI!o~I2GaNhn zZI!HhRLf2=X3O`b-NTvHt4ZWOnnXGh7}1|6viIOJaqI`q-S^aKYG_4%zuwxzxVE?CSg4&@-^UyY=|;+ntccx4v@CUp1`# zW$_{e5pKXY3VD&`N(yc$2@z*iRS0m~cOq0-`2888o+p&XCdCW^KIQV0WTS&l>V!z` zbMUt98mdAWeez;?!ekA)VAhhZvkxwQ@C*?f&|qd>;>#CK%>-lHa<+8Ek;T3Bbr;!*O~k`3vA`7eVZGuW5! zZ6$htVTUi9a}x`YEC`Z^y#9am?0`da0JK5He0fn@MKPETew#Q{@dreW@Szm6tSKCP zoyNtQN#+pJJlG4zC_$tEov<;A`ye1+ITy&gj$`Er^g1-0(z8Ubj+N#+E_)D#_Vu2w zMW{SMlkQAl%04o>$(zn^zbr&`4mcx6p_pQ%(ILoP52RQ-}gfoaD#d# z*Pz#jiG92XHX+0I-}pVUwtYwmk4_sQ=^yX9E^ZD!99clXJU^ni084g% zXAX5Y1haYT$bVPySuK*^g(gK)NR-P8KKAnDr!S*z>F1bs3Lc4~f17=>nBEDvk8ZK& zOU^HHUuW&ff-%djOx7bhB8%k$J+r*>LA*d!3-tK@Q$PQFH_C5z0wGuRYh8Sf7~#H5 z1SCiS@m~EyiW_{2E2^s>VAg=~Gvu&;h0`@g)FYA&!LXBSd>|=}Pz<`EWR@ZOhUJ?C zhT9G+yNO_VNo}-o%S71`YXYK*I)As|*AQqL5W7mZFFE=Utik-G&=rv+3vT~z5%dv?m`PD*P{DM?C8n}p|zbW|*?5y*D-HHOh z@JrU(ReJx=e(;7*BR^O&yL%qFuSx_3ZVEYTPxt2dKGX#%w}yPDTb~Aj;1?nFU*#Fj z&}Ub%zy~I~gY`goRXMUjbt5~*TzQJM)v*cBl~HDwvLMh6J_LXU-)bQK!YYczR-y2( zuGygE^B0|;MSVMJrX)EMq%zBYLl1L8`*)#csR#`-?j6PUV&)ikX3&93q&y2Qn9Tic z^OP$Z!7T&Bj6OA=Iq~m5_L#3k<=!Ym!yRX&P-T+QYzG34Rn(6$ZZtUon#p@R%tdby#U`aSR ztgf7*yew~Kd)J_?UwA13&aH~g_S>(y68JLf24+F+nb5Hj z6S*(JZzCudD5Ly>A**x%@Eue=&ceIipPlvC@wk~yeCX%?P5h7n`a5?+7V46)!gx3< z(DOP-q@32WrI4$CfiA6$D62ZE<2UN~9b{%u8l*%)Tz-`l#@p_c?60_p+UM7l6A{2% z3a8sHSu9GZ$RM~uKa!J(n2(RVij?Tb3yRZDE60we>qU_pK>hmEV^beVq1?jR6wMJ* zer{G=5&ev}+>xUQ`=Emm)fidS`Aq2l0B0gsbOT6g&YS~(elzKnI_$%%h`QQxtB7}M z<%hqW7lg{I>O)YT_Igs=KBvUoE<0Omv@!<%Ft99sr$v5E{1qXaDEJU*fB3i{16Re6 zoJBnJMe0b)068r|&<}CG2f=QaL54ZnH)r8A!2F7$tS{TPr+nZWKzSbU(hQ8EQ=J+3=!V75 zt47!#OXsoNsuD%f4`P7GFeHkc^Nb{N&V2pDx1J||uCisx(5KH{OQ3F)mq?t~b)B{d zB@yR>=@l00yl&EKxfW8_;^`V@Nm5@R$W=V^t}AbINI1*4u@Pp@jF3m>jAzZWkIT@ z?+fgb@A&T5A|$@WIigz&Hc_g#!RG@@N(MvDT)L=U8r1vjNxtb9ks#I?QT3+HaQ6<0 zJ7x3eTBv2|f7(JlrM8!QaFtt$u3t8hRt|YfI~u58O}QJimi^36cDy-TE>zKNC?EroGZFy7y@*wWtjzKbfnm} zgU{9SX$Jd=vTvmf$Zg)eRi!AC9r~+!G^@mzKfG~bfNSPzqmn1T!=w=^AOH!F^Q$pTm3=f{#%+K z(X^0`2vnOm`GuDy4+Dm_60l>OJVEw+&HA!~KwFgB^Ccn!nbqcL=#R5P(J&b-1=smj z{`V(RfEK+oTYGM^xebz?fwgVkNAJMm$o5X>}Th4NQPa5jx{(<;L=P5GQq$MA5k{z3iHO+r*Z;R`pB#F+3;n56jjtD zk+n-S?1D4Dm1-_z5AD*8D36;@-eJ~@N-E&!(q&F#*oC&%&@A!++Q6A;O({kR3;^V7 ze@$lfxwpK=n>EfNhJLb=4n$PL}H+o`$$7r7x%c;4J_mU!nIq zWbA13H!cpxG*O6-47$BIT>jU8{d}wKTudhOH>b1X=u3=i^nsCiDFy`+Sv>xU%|P>WB6DTx%Ukzdl7vXW#4Dc|o3kzf*RZp4JvcriKKObMNx<$hUiMTOc zn+*kNkqpCqN|r#EjZWR2zrix~U6#`DhE`u~d0Q~6IlpT8<+eXc48l+`z1%P0!ofLC zK)xh+$8iw?@h`Z4A>fZZE2Stv*#?dF2U>gq<~TzB8V(`($3!l^(H2lhGc);eMRgrw zF)-yS^xlA*>h!otM|H0o zW54o=8Js^9h071y#X)$us zJ31VS0|EPg+WO-l4S}(}=AL(hz&9NPAb)SZTGO8U6_^5~*31>bZLnJN<&z=AIeP+~w+$437bKvrJZe|zuRWWKo$0Pm5is8& zh1FF!d?W|V9R#m*FA6&NnP&Q8&`XfV851BlfFkyQWdEc2!#s||yg$C=)?c;YkVwM$ zUDK;>E7!TWYk%IXwqb6s`802T{Xp`|7ip0|_l_!>-|B`Ws7l#!zw+tHU1dmYU-8C| zE@!uY*@y^hzPkYjv?`E+tbP39Z-SOJkB_d}044;8bw$J+;JLE3N6NPYXSV{L((BCN}rb8QX=ZMc>Q7xRdRP!@u(_sb4H9#>pVB-`x%s-=Z)G^hu^Nxgeqk- z!Y)}ZYv8+r%CSfq&Gsx4-=*|+Biwa;W% z!3z_+mTO;Ql?(E(ki2yNNRs4pc0XyL#v8O69WP5CU)NjR{L@U>koIWs13M6mG4w}) zI@H}RKdXxi0)tAbJn^cyd4Qxs)!5>H=L&)#q{|IjNIkGe0u%})9H7OB2!4hIgu4U8 z(%#ZdQ-s*Nhi1GWGwK&KAqcs(l~dH@y97S#Cb`3N8sxE5{gg%ag;3 z>tt5-IJ(V9q{+(mzwL&AKmFVney(nrUS z=*jp+ZN|~RDO7WPq&{-%KR77jNeB|Zh7~}f{JRED0mr}fi3S*ls0?Bky05NV@9ctA zzj^pD(tXRijU~w(`H^Znj@+b!!k5CyxRY+f2K3lITFBpET+g{w;929VeAM)*l-gkQ zoi@z6$w~B1@LctYl@JfPsN#)(up5hK?hl65!v1=@vT_!u1=OAa^e+so37X1Sv;Rg( zQE(gbvk8ueXQFND&@IG#y%y>iVue)B_W)KRjEwh!T?ys$SmkA+vbZ%g$8Y6d!aGc- zh4*KC+u6%C3c0b9aNfP;u`d)dMgru8iH2ab06!Q&kkC8w{V5u9nC$3(GMd>uvWoiJ zdmXBxAbQc8QO!vjwXq*!lwJP)wannA)y_;0vnFl+2=WZ3on&yaPsI|g~T%0g3H@f~Et~uMF5)5}ryww$#Qop5Nqx+T+TaH#GbdPgwSl0UFbrs5w&->T7QaQX>1OJ&X-(3t+;|j_k)E?X z_VNQ?+B*0uLr0iI^Hc6d0LRugt$mhqF7w}VHZ|m;XXCb&WfbRsXOf!d>!b;kHIGJC zWkbHbv7Y*=Y^CCRN4?gLR1C(&SKu1{`0X)#emKqK{7cl0yT-3{96Ur`8}5nsNcO}x zm22eSRLqPfQ1&WDD+y z9%R4mgUuh=v;2~YcqLEUA$o0JidcMVm9>7(gz?MTrM!xN0+&;DMQY7kZ21jt$jAh~ zgu-S`F95zsfT>2Kdw@dmhg~o|$avPJxpN6aC?7Q9GY^g%|5T?dIgtD$u7y_>y2m*^ zJBDYE;-bIs6^LTO+xO4rEX(@%9XmogWJ?5v`acl%@etF%4{`7DPA!G66oa4h#@7TE z_hn#9{lY(gbI^W`ZNnVUVjqyo?}kBsm4T7~kWqzs4VP1R-TYFD_p&F}S){mXk4hkb zMuZp=V4I(NAFzVjk&jxL4SZG3XY~+9dd`glC6t^Fc8+bDG!!asE55+MRDehsJ#)$x z!mZo1Tau@D`5<{L?9f?rqA`p=$0k~#9$4vStZF8IPL0Dpn>3ZMBuv_Z*R9O~Bn^O+ zi~$q4fC%HRhig$_pR^E6StsvmQ%QkeZ+WLGw$pQ1$~u?rO(WS_64#X__eJPt ze^XLoH@{og(iN;c%OcWYo6m8tW@xfg)8t!~#za6w#;^O^MXe1OZPB$e2(5iXi~S_G z=O?WG#tkcR!8G5hZ28&~sKfWQYI=YxSPz83C|)O7K^IVaqHVs;snk@#}QOgF~pOZ+k1&9!soY zl!*!zCHBIpEQ~pPFjt~oN_4AJwZ@p1R}Q}7VO#5}JhYAD+hu3KM)c*iUGTRjJKWR- zD+jLFLtq`feG;#(<)(q(Ia?bqVPz?C{+XT%2#1;4Jr$Pi10zRUhHm{eW^VuvP(VL_ zo2!l0B2JD4EwXZQn?ji3@SdOZ9nB6v+aNPSPbs6f851CGEK|}SV(WdVDi%*I9ksN1 z9_Y(+N3k@AQW7hCv)4~Ip88a1ZE7LXO#)@p&Rx_nGgG)69Bw%p(&%KJFoTt|@=kiL zJ*Aq^BtM^0TY9LpJ!KJ^pm(rFZWEt>1|dL8aIGF}mWP9e`7FX-gq=#%v4{BR)hkRF z76>cNZOt=MqdzPpE1J4H{D%xL;Dsv4R)XhsPUVBCzSV~;EOvN}>ielsIqxX$W?Wrc z#o3TG`;{BS1-8)iO=A_0B%c1n^QXlCa7|hn0f&7f!~tdE%;XB`2Q~?G@e&h%a`Th_ zDpDNxyb}dmPPkhSX*i7PQ$xaGzMZGXY(;)kq!w=MN1L57baEWT&c2N}cFc2u zj$bRhFX@8dtCKL6HiVyz3Nw1h!1QzLruX{%HQ5x7U(MbP>;AN}L&S>fm*2WyXV~pI zn?cc+wlFD?_BQuI$sR&bLSvbKpR(|Y22`#Y#oou%C_PAf&SiH(>C-m=j<5E>2h+5sC%D4Wsb13}xW+=KKN1`1zxVAu#oSjC#O5jO>a4 zt;aQx^(7(T?_T(u$27@TZ2HuOQfEQ!F-)ZYUdjV#O@ojb|3yarryw7Y1q$P5?8|Ya z2MA$<*es@Uews(g7>~q>-<0^x%lh}_CX(G6KU?r{ZqWA^1Z~|^*hk>osGksVf7Ah? zUK?1bRdgKgAOQp=gQ9wWZb}mQ&px~z9FQ5b^kWIm9^LKrJ|7cWgtSL8Dzuj_i3}HR^PKs3^0z3w$tE$TzC* zE+O1+6nxL1ZOZTB{M}(<3F}))awHeR+kW2qX&aKeZB6JnP4HTJp`=HBVKTU5!K4A= z@h}>erf?X*T>v2knas^Zo}2zX_w@kmsuxUz_c+2rI|1h%E`_cJ!gB>T|p;pMZ+KF@vhc8LgXoI-Sq?=;YxsIm9#M!(Jx$&G;m zzC-QIX$o~U^I40rewRwNJt3S)hKki$w~Ik2F1Z)#&aVi6l4Nef5TtuJMR8}WL1^XB z1d8aYL9?Cn0&cwY48x8dbz0Zl1-8{VcE1Qe&XdMK;rGN&0`JH+;VLx>B-Ofo;en!E zFW`68d&lT}tl_PCF-}^~q%9A$coWIDuf_TNb^YBGIokzSPz6)!_5!^DA9VM`)a|}S zo++$6UMn(xxxO8zq+;1;_=u%$;a|4|01JO zWc>;U8LZR3wSs?+0yOUIldWGdHw!@cRDV+oAwy{kQD#Fm{v$&$gTHw*-rZ#R&cP%k zX~dVxQf(Ftn-HG>c+a|!!nBTKute_IWJ&7YDG+ymg_x5CTDdODIN7}d`C=4s0tSAa zOc@mV&Yaa1Ct1?$dCaZ32iwkb>T+n-PG|kGT|SR_2M;eww9HaP(@(yl*Z}xvBxA{G z%kT6c*Ov>a%Pi-ugM#Z`y|R^CLf14MBUu#4!O1}~lex~+n2LqpL7x?Ytg9_*=1=fYeim@aaiu}0n=u^uL zA5|qTtnad8kOYe~IcwxU+VAfJ>0t3=ZSGBf6XJF`-O-R4oCO9AmUaaUD48G<9Qv6ksK3`4rFqjud0YLO0S&=>8yR?mZC5 z)iZ*i&{lw;jRNFvBY=~p!Rm;HVdxE+AkSZMwRPUbVk&tJeN=DSxPbs<)#G}fUF!6I zAB{^O7yo`NCJihx5-d(P+}B$eOQY8mv}%FI72)DPXL#~xc?H#NnZ4;Lf@OppCrN?x zQ2fr-jo?tQ6)eW7xCY5xj85Ahp?qGJh@ss*TiXwq#pIgz=@|L2mC8y*^AH_ONJcE7 zUx!-v&hv6Q!3XTaU$=C(ryd3J$Nk%XF0FsQ)Ef={<@Q>GUUe}@+Uts(Hb_u1CG{sz zSso?HhRq59L=T_~NbK4kJ0vca0F1h|yp6)HFSUH!suGuX#OjaPQKpNCdGC1GkK%e!wW6{fJViA(laBI#l6sJZ z@#gs)YdxyTN;f#-`PMNVc2RMzJQchi=R0`3E%(LT%c?tKxosk)_WJo2;fKgWQZbJGz~~f07_=| z;c+2mC!g`$3~Bcxz>>$>X9B|NYBQ4HRTeQ(v@pfLO;dUZ8Czf~c*uO{{frvE&l^WAtWxacX^}4uz%FeX3*4us&3W?_aYUj)tK1H8;?02wV znMJzz`NE7ma_Z8sLP`tmSVQSZQ)2ryI4LRLzYEGrM1H#s5ISOi)!%o1xD(Js_wgg! zZSd|&nvgG6z`yIFK>S+KAIR6h=$u8xgtt|(Y5S2DEt5Bnzo@cgtXq67)KKW3XVG3- zL_<%X5 zX~#k=ySPH`mn;HLk|6zI*n9YdMNZY96}3ir*^edys$cMC6iV0M3(wDAFxup4CDW7# zcwWVektn^~=#d!X^r1f_R%Q39(_OW4^>xam`klVfWvZyy;CmLVhn3mUrMt3H%cQ?& znmBT+I%4L{kWX>R57=}gj z6X)QaVQw*#>C;&d+I}cae5q0*HmiFGL=Q4b+`_LvsHIcyoJU%)vDz*$Gl&Z*=&B~l zf;98f5Kz@+->dn;aJHi_A&|G-Uvts9bLx4lj}=FMx+zGrylP*=e{1w>7@SKxEiO1v zNdY9PCoigAAYDnAoo>=-)ochIFMksL3YxE|B7_QpIs&Lc@LCBHWhT0#CKBaQ5I+f) zy|Dv+!7(amh>9s4Fc5Ipk7zw$)vnVcLcx9hBvM4F79%acIZ{|ZLCzgQT30O@>CV2i z1bh#FV=cedmB5HiaIG$W~1SBbT6ztf)iBkyvXy;)!mxIc(8r(2{6UX!s3e0pAE8OMFUEtRvDbjkr)1I|- zwy=_oS&n>T;R7=oEmZ^Q>S_=M6-~4fm{FBLk4>9N1_J=N#q6)o!H6ghTJR(rGa$%8 z()mVx7y+d4j;z8iFs~`z>xj~T{&Rj~I|@3?!2-*_itnJfodJFNz`~1yB@Ko9 z)~?i^3e1k#XFn3D@dR!-7FwQJOpC<9!exYJ9a&U|#yW zHqJ`?y%Qu5qY(&BpYrP~z{F}oJClQdWhC8R+k##}O>*WaobneYGY*n9N&UiUf_4Z( zKcbbWAj0KT@$}x|hw}qI58mA+A=`A9dfL%D{t30j%cI-uI~x$Yv_ckkA3NuEw=W`c z`!|8T2fK9e$-xIH2F`5m-v&fImLaqvZ1Qb_ieHo8t>T}lf~cOl5IA$9;E2#FqA1gHYf z59Elmzx33p;oZkQAVFxn{N9{xP>cCi$Jiy5u;#6x^6xp;UAt}ULtDO8n28YTsg17+ z2|}v--*xA9LTb+7A~Wbv1 zy$FQ{VYggTqOT9(V?f%2Kggjy!S^@c#T+Gd*V+bvS0QN&VLZOU@ok~?$ZGiP(%h(Xnl)o{ z1LgG|oV* z<(9Tw4V>LKb(_e4zIPd${d`EAave~9$@oU(?5n0_j%Pp2!Odu2c>M$F$`8Ok;Tj(1 z(>IOK>h!1NblnAoCHqkWovd%R6Gf{mMsu?~WW1(WvjwzKo(z%m4pO>^WXn>6&33e@ z2*S~xwMVjoGyP4RaaHW=v?V4CUQjor+D_@h6c0iVRyBmnp3oB`n= zK&wek2RaSreZen9 z8x`MwlT2;xobq!}%95l8huc|Rye;%I_A}YV%bg1zRO7iWyxWz95d{yTujkK*sI^gsZt(fNO6_VD(_G-uW>*c|M{ayr#8ewbfZH0u;1XrQya)hMHI9SHc zBL&WwSN%N!l&_FQe_rOb*;I~{o`!%QgE?D&==n!j&dHZCB-x1UFNHmoS01a6iiSezEL- zw_S^oFTEaLrRd>c-ju8s*QS;ed zIzpeXI`oYt=Fk`I^&>|Qy+*S{Yc0Ek6rur%QA4wVUbe%7QAT?i^(2UAqQR7uVI*Ep zBi5Inn{`2RNC({r-tghyCO1AraU@!Q7~uV3C?qcZ$a)S0MBG;%cf_np6NRFcM9(4M?;HD`zxs{eGd8gQvM|s`J%Zm_pq8)bZR9 zC-iS8Ggy*2@S=$Dlv>#L^CEmX6x;z{PXGdfawHFPy!Fagbe(V65vrnH8b^PB&#L5T z3pcy-D{eRUef07g%971Ax6H))jL0Z?Bvx3Ri!NE8F5qKI55ItN$Pe=XiiNN{_980? zJ&8-HZs~i(4IKBh#Tc*wJis6De&qm#QyBFE_3_Fc22m?x1z^1WD3#<$tk#@{1@|M+lmp@~?e7WRq-7-3)Wor?M`pFIQ!J}Qo$rH4N9dO z1W!+$Gqvt29L?OaOOAAdxmefNnhMVxSf|M9SQy1G1kqSD{q4kmMy8TXWytzSXyQ?+ zCV}A)m=b$R^=W8=FEd1#(SYu9;7?Wnjp}T!q<|H@N(1b}Z;Mea14NRU0kl1ID{k!} z%;qL>-N$5lxhG?uF*CT4sykEoGO;SmcdH|BY@1qy3?HfSqy#GNESYi~=D@yt;xb2$ ziu3Z%OH*$|@VrTXC^rs@Z+oT)dK?VNtyZqG(2`$|6=CQF^BZbUKfIMED*0a5reD<`N&z0aiaYnf zI_EnW5KP{GFf7viZGJhZ;ZzGdxX5~9toBL%zMizMQs*8bIr*MOt&VTCq1^W`lZU+1 z*+TplAF-ing^cz7la_Yq1GSxfD>c+R>ZWFWC!Yx%(b6-qfB1X^@u+4026s`&H$W1E z_G220{h#_vr+Dzr
    i9s>kd&;?ElRxO?raxJ@mE3=2Ep^)oRo9SjbL3*w4L^e}F z@4pyOJ^)_4lXt9?DDS8FT<~ab0BS>9U;H1B*I2%kEkN#eU@xKfs~n zPWQAy5OX0w{B{Jml^UHw%medJWQMx65&b%dP3Yqwi%QH7JIyBd%JWEkp|4v8U6uF> zjG7MmYm2IpaT_Hs3G|2l;-xb5@@2#mx3bKC4}ow=nOKod9=1J0X@dEF#|Qa#*j$D8 zL%Xps@}5@1>lRG=1UR9=s=RM!`|P;A_mtKqEXcMbO7AHd{mWE??CC@n*K<=bOF6K} z6^S?C5U_=tiX^rT(Sb)l1`tsX>brqJZal^JsxFZIzP%e*&NCHI-pGX`RS4F`83!GI z?KBi9W=-GGoW7;=VNGxLK6$YPr-);)&(I&r$h=%9r!723wz*!d{O9RrNfjbD1TL6L?#!j!jJ4nGy@=>zuJ&MK64G z{rDr2UcslJjtn$|t)CtRNEP^)kyIV#`C@Pf>5*l75ox?mffT7i=K?_91Y8Leu!55FHZ9#0Nohf(1Z-yB$KrFXhE{hagD%P7rMX zD+W10ezaEp1a~3j0K+JWUx||-mC$4Kqgb;5Fl9Vd}rrd{J*3z$UZ4E2TjlQZ1b&+a3nhHOfeDz&R zOLxxOx}?vl`b0s8!0~B+i1P+OdLa-bw42>2zMKf6C35g;`uPoU`L(woSjh>EKW^&r z7j)XJc{U%i(Zk5H&R;=yAYpK~EpAQDrd5N43~E~>%BUn#DxBD$tV`?a`wV0n#p{c3 zD`TQx;DHy~c7AkW!}t)gCZD(X-!+Sm zW-8=@14dg`VN2dzdagUhh=+NRIJ1hx5p&1sN;_3ribL2ux?fsvVAdvX2EooitJ?1X zRGauSql%WKnU=}t$5c%B3MiR38z{g$ah<&s?O5>rRPm&LU{1QUN0i4VK0i zK4Z^aZmUt4Jg(uH$U+PLnPp*xzcl98%M$9>0I2wwcQw`hx~)$W5 zzkZ9w($SQXU(Cx0*9u?ZLz(?liboHmcY&w(-q-0_P{r@xYG-!GRKB5ovIGw2Ntg1fTsZ%;#$zTFJ)7Ny!|c^LBLxv5OK7QNat1~MBz;8Abwc_ zy8G%9U)m3M2&QN5CnOw8W@pUtO2R`T{7|B%W${v)MAqI#X3R&988s(mobmf#v%kVB z=%SPZcX1D=A!h$%)0qAgB@0E!ac^;PL0ravd(JytVL5le&}fE4Rv>l4I|OL`s(HpapJ#5Do$ZN;`0y=gebuVSQs zigM+t3KQk75L=+QYufvi0qlX?;25Xz7U}l0A5hZH30y6V3tM;#a6*3DM%+eBp>0in z8f;b`(EdJ|vx`$FXVAQyGeS%ffO(|f+l4gxgDCB;3l-wuwxObl>m`yabO4K8IBihn z_lN!X(3U@W2|R=?ov?_)bR+)`1}PHmmoRN+CB`Pq%IBv$20bh<{OITuux>LH-V9;q z%YpBYd4)%sMAF%xpXuaBq#aZ!g*4@VcDKCrrg%ulO!U)+wsfdjsXhYpq`;y+-=m4S zVLM&UF=OM*j=O?nE;A(@+$@|(7Z|BwPsz*f2&`eE{)Z#klrVVC*rT5Dax+8Jbj=4lJM z#CZgJX%t}}Nl6^;gOq54aD$?)X^A}{HQV1PNB{uOk22PeHY9{re#*TCMz%A-<$$=-Q28WeFk;IF!*!R?J^MLDy&4!6*pb6s|ohtu{g zctU1%3W?|l-mZ^ zM)bW(D29vD>rW3k8}ixAj)VB?ZBQG(#awe44i5#LAp2xXt!HyeEq0`d=EyFsV$fHb z1{z+IZ`^rGiM)x0jR)Tvq#1e7g@PPW7(8}pLYK3(m^ET06^}u*CyhD#@Sr zJMy%|)|NcN-+lWf9UOq&kCnps&S|Ab_qY2b?ccuF#1RQ-D6U)F4p)!|&DhSsJ2$8j zn&iHoe&-Az4!Z#BY0{$K^+a3G3yG!?UPNv3Dffrf(nd4i!x0T9Acj+W5lO-)sr~w? zaa>mze8TcD=J1<;Q8mRy3@3*e)E*iNc5sYUl{kv4$gNJKu3zKaMPTZbh@C8;z}!b4vKmV69dyVuy-ign^~M=dvG-noO>$z(8tD6txc@;huk;+e zi#Yp6P?RsA47PYVfj5Qs@aylQTI!Z&t4A8Qw@gVw-NmAS%$4iQFLSv_xLQjQf{?R+ zqiAbEX4l0+O>@Hvz2$-KvB*x#V82RC3hR1gy*blf!`sCvVeFG%EmqDxh)Urc+yHEM zhPvNFH>b~kIVwX2_y+Cy1%5fHgCJ3v$?cz<9Wa}ZP`x^Qa|4KZb> zi^*W7_(U9fHuU^06}djCE7rdBD}Rj8oqEVWe8e_Pfcw&zG2Dd#dN+D;u%Y#pB{u`JI1LR*pK zB8a_?5fPM1LRVky@|C+Kj#+lxZ;Ru+0fZJ)+gmvVlHT!QIq^|vj=I@5Te@_>y zHjA_#FiB3VDHe|FSfG!cA28h^Ir;|0I)D>%$MqxxiMdcSE-xg*a?M}`?*Zj?sLmoe zxiU|C^OpFED%qn9P~AdmLKft0qv;E0;&iCd8w*>XiSl4UNMLCuGQ?aIoezk<$?NSP zgYePixWpJeU)TgDYbb7{cf{f2-@hbGkzxv4`z&trFB~2+9pl8WS^Sd@vU$I2=)UMPGgV zx}~u-FAUOcJT4D>W%fJ^pQRnUwPQr0mT6;Hn4<3jG@Mg#pk1)8W83CrV%y2Y$z)>N zw)w@j&53PmV%xTDpa1OI`{ub=wW|B7tD0}-&6-FLhyZm1e*yHQDJ_H7&%Hz=U7}=s z4CxC~W*&nBTbqM+_S;1gNKO{gG83nby*2{L0d89;zD9AtZXeAYq2KJFGUgb+`pR2E znPa#N=j_m>t4^_nPjw4Kze;R5K+?^DDTr%6QuoSQyZfry12uhJ*EX%}XLiH(@|ZN5 zO@T=%xf@Yz)aHzJyZ%J*Kd3JCXQSU9ZDp@oj-sLCL+eOI=t#1r`^%_Ld$cZ%e7ga1 zK8zB06ag>5;O(MOO~XoZ6kjyrv2| zyE8N>s$f1TD;(&~+Ms++)Wl3F7n~EeBbSA%*31${rVvH_VtTIoCHGd z1X(eO3i=6xn~LcLLxQIn_oO5YQ7)Mmwq(2l<%)fV)S#`Aet$tK$bXjE;1acS=jrJ@#EyS(@k~KDe0DHJNjR>b6|Eg^ggO}4mP#>b{ z?9Vb8k$f7j9pUyULl!E!k|^HE1E}DeNl#df!5QgMv5KvR<8J(;KSJ9f8G5q7t)Y@g z#A7`yNzydA#4>|N!9Jy-LbIdLn^-mBL_^xPt3MtmANN&x|DOtMR9LXwSdP)I$%3*aZzI;ZH-?0i9@cpQoq`Ku6c)l7{cRt9BZBiR3>FR2$k90AQ ze|RfX&QeCe2OymHH%#`hh~h3Hl+4)HO;V#w!H9ut5e02AD?g9`EWL{R6p`7k(}EHe zqP8sy7cNsma~4jE6)E`s0b}z3CZ`c2kzuDZET^G4g@a2{vi+z-283$~xu~6%=8i9k%w~G=nh!um({%`3SUXY6u*p{1;*|6={AI^P;Km)up)z0L}; z>K>$tU)QCYmw8>cM7p{>HW3X68qal%PVvzY`LZF~bZYkzx$D{PX9ze}Sc|M-T2dQn zWz#RAaf{%~4I}E{Ar}*+LCwT}Av}LnM&?Xfh%EjS>+WJ;&NP&;;&!zBqqjs_T|t}S zF#WSjqI29<$jDQHS3rtk8p#OSFn%CCh6!ddr+;SxqRH>lDprfFsWWaj*jaMdd8JNGKHOYBEQsn-qK7pzId}fMz7p-ea@+cwlVf2oA z*kamjBVvmddbqzl>{1ZrHc}coI10Q9E9|4CmSM_Ffn}#YvL5-)@%A$Fw z9ebiDB-BX3&v0ddE9=edaw%p4NxbU8ZJ1hp}>^*QkdI=^9Ym&M3WB-kA4v6GOh5b((e zOUKbNAyX1n)uGEPWjpR>?Q!|hGbjh{65jV>O5kh}>$g1bMLgvx?7kIoKlReDr+!0n z>x5t_$Z;fBAFgoFNWV#g$$jU4mppWbDb(@P;}i=`SATLi7yj9LtR|=`G8i5SS)Y3L z@b_UNf;xrN*#8l}3GvTL;i}pP+fHeWWB(;0{iN)KV7BYu5W?Cw z0H3u*mqZQpMl7QH4qIo24|ZKSIa4y53wbQ@sm{$tb+73xCAlH^htFlLv-$b&eB#0X6}ei65hx1V;M}GWIz0i1*}C3ux5Bx>LMO<$4w0A z#s-c>F{v2kZZRwmNJ9722rDprKx@90ry3iNOJoMcz6GY?vR+Zl$b!GpOGxzrb+qJ3Wjl>icyJdzK}(4$q`z8%`Pvz_p*Hx-nF`KOOt0R||uXY*+0SgBcpUn}8iXL{}N&+ErM3!Fx z9?ea$CMHCj#l8Df%jTwzvsl`}M~{f??z)x)D5Y~W@iy2>_KIo(KrabzsS36s%en^h zSK4WS;;NK4p|rcxW+7Q)Nbv4}OTUeQ4rs82M}Oc%)3xx#pz#RB#lk0Sc>%htows`| z;xM>)-4*x07P=@1BL9JlF9X`A9@IoBc4#Kx4P%hkH#) z0re5po)#2OgOjeyz*psc_?X>0xr53R0_sjMDdQ8wc791K(TtDNT0&m5mJWl=@`o$i z6t>&eS#a68NOJ{u&?%2O-Y;idw8uWsBu}OPt|*z=-0D-=64pt|f~LHzr1Fy*!$4N= zT|?8+b=!?5WU@EMD8d-DpiL`4$9Mxs3}7|yx)whY98#xqTg?6 z^dm+HLbS!4PeVGqS<#Geb5sr?}XxcxO0^fdW7>rkHyo|k2_%Q*OrfY;evTAF2Ub-7qEC+?aDY)KlN z*mIx$rQ633&W9wFx!ZxACeknuObSw2b z!izm8AbRUgV88V5?}qNlOP^XzlRdF5bZ`g}#|6|0@ko?3ei`)(=mKoyFMEv#o#Szq zML2p_h}}Pobt?&^frJzCZGt2ng|Sa>KZhL33+OfVn$yY_R6z89JpN-kGip}+tQHin za)7PQRBb2aJz=4dyh4fOu#uqEw38M<+Ou}p1D*m0VEvUYcl}qlKdS5J#u(kkMH1PwiIOMcpa%5d@1;AzOvGxanq9(k~WdZT(7}pX<7aA;QqG^-~)=95BJG z0jk>c-2%A5^rRad&|^2a2-LzXc(Xw9+oBWwW6}Tade!9`Ybnz&8&f`(F_K$R7M{*` zhV{7en7#L(iqiJ^uLgs-XX&K(l~W!0ExD$&BIFg&X0A^@lt=ovcsX^U&MWrYrSPF( zGnTLZ(Y~3 zYN|#k&Fcj+CQa@PgD#v0nd4y5!@=u*fg?Y4+_PnTS~!+tZbpg^62}e2ZTvC&1Hi&q z7?&MRZ2SumqVefaiHFbY18=$Ew-5^xbwY1EZ)~wN==z!72u){0L9m1~{d_9QY8p0) zUhWdUUEM62A^}OSb4Vhmx?ZutAabmz?Si7^w{4!ou~9rY)mo}; zSMoz>2r2}oPhf~px>g6i!P$#{510`CX{9uO_siv7{G_qBBo}WcXqm z-R(Wdef~b=5D87eD$JD~cFq=o!ApI2exmbWv5fVZ)#rbUpZ45I6+&obk4?ITwCs`8 zrT%h9?YekRM`%kyl{7Cr`4|RHZRsE^&F=vrduYUaS+>ezsag9{yru{>d~ z_g;uwjbW|^32)X#V%9iunwVLiitBDRr=B^25dx9q1I`2y=o0WY!Oksd`mKSSR-ob= z_44GcnL*@q*6@c&m$b(P6&K67&g0xzp-`i5v)d|T zWjQO0D$qhRHpAj@W&>m>~tmf?PiDVNU0hHwccUar=-}EAa7=M*ydk^w;a$Fs{kXUtB27r78 zrGPFRO#Jf{DR$Wj+;aXc#;N;=5)EgrrgylRxd8rCs>){>Pwp8$69U$SR#aQdX8Kt& zwZ_3ST_aU%Yi0wa3$86R_h|+5le1C(!C8aJN)0jI_0V4o*)}IcF}7GLs$`buh*%jb zKRcv2q>2L$a@7?5<F`zpNI+dVUPU6*BzB;q?& zypH(eixPL9kS(2CX>FZtI@FnOLUzObUOt9#pDtsjY(AM)nX(G9^6;&jHA&w_1g8+{ za93`vXsLDAbw@y%>mv3n2p{z_F^wQD?dG!>^CH?6)YA&`8Z z@KjgHli+FBphaz!o0sPvB!I0bVl4lm!rfq=SPLxn@HQQ@-&^>@w7$1F^VEC$EW8U#j2BA-ZqlfKSL1qWj0$&ssSwsNVb>R(`e?*PBt3hJS+ z8izQ}UrS3NlSYp*FB|3qeL3zar>|9uje2=txaQs7{#2R&$cr&+#>7;7{Hr}z<25A+ zX>Vy0(xm`@qST4O3WGlk9|>hVOD=Naq?T~~)xKwwMM5mk%NDr>U%JyKYVj=tHh^t` zITAZRbJ% zs0c1rMiiK_{Gj{6W8ZuhtOGt0WEfVmR$X1D5L7Ng2&;g3F^3}8*f|wEL;V+Wy6j9i z0peA=8lO(}hx+REY^OxHX^@>aVoiXOSyz-wI|R z+JKDRUYj!gS;ogM7W9wWamrXOj3#J8Gsda6Oe`aa8llZ%5tL_`(=}xatm?Q{; z?kPFRT(O}Po0D{#O(QuD)wK3>o%7DSt@HX(C6r5*;rpV8U%0u*ym7c@G!j>=w)4`@ zt?V_WAsiJWp$cI4zZm*RQb=;(F<`oxB~Pc5z5+u$$S6SKhr(?4V0n(~=oT7DYp-8S z{%0T7Xzp((+Coi_g4ByW4!`UcDLQQ}tE%j5$rl;lNOov> zPIBrCnHvQlp^jS^LVoS##uYC>NTtTW{Oqp=Ma*tIS}yP46ZNS&gDR_vI`L%x_?=}) zt=DI%7^0998}MshOW_95(c=AOrSBXui*6pKe2m+{>FTP35z@hgCgw+am71E21z9MG*m@n9}vHRY_^9RnW9b>KbiRx8P!_ zXKAAIiLVhWG*6A(Jdb6GWqNq(e5HKD*c~20wHSt&SKH4F|3w_)!G@iVBJy^4^W?6r z_|}MIf7wLYP^TzwT+HPjQVCx9uzVlIwdgZN82^Jt!8(1eQjNaR^O!Z$6Wd-CSyHq- zxeOIB9SxFxD6$_zbN4pRq_Y{|Nq%6F4m2bVo~k{0{W7gvSaMN6ZH-egSgB|)uff(J zWo;vkM$;yTK4{g-6#JF3)W?Lc5a&(5m1!~+kHjcJTi8d{+db#h*6v!Yk#(|!G{`Ys znFzY*n1!QT1Hx_Jl>*JLanj&JP~)fHs(1|$dU}v&!+3)QUA8Y<+G)v;ulTyGL}J6Xvh>ZZ8#>9 zp|l|!^N>0HX&fa(112nO!(voOX0A-Y#{36;vS#2e?%u;iT$*skVj}2)BcY$n91k1d z`a&0i$>amK%wyVAUH+>YSIrqxF?+`swNgOvT3-5>S}yh<$ZgzYGHfTW{<-=fRbrJ< zsg5OEg*5J@?yrE`rv4nJ7|jgsMgRUW?fi0)CIOE2ONF%RRKuwR?W6*&X1dmTVTbZ< z=kEHAe)}D)3%{Wu{~(GL4bv=ZXj)I8?m}~fj`DIz59eYj8fOb zf7QGIrsCW$g6WR_E$rIF?K4V%DO!my#f)aR@RzL6fWM)nl`x%nVt>5$qGIi-v1flM zS^zO8-VofmuCC(Cj9v;-$3+8~Xwm2$+s^{;6vpS+QZ+Hl%FCyB05CwqP=>#VpW+PwD=M2*_x&d~*fyNQG4p{E)6=N#yg zfSECvWiq1Uo$|U->Pra09;^7!012-pwT(WZdO}T`3nTf9=&xIM{ZUhHGi$D4}q zaHBP;OiO?2xg!tjFq3BbJW{i|9{=eWUPd*)2_(MWFG%X5Q|Tm%Fva9qoYk!6yrJ{B zzUz^$X4R(>aQguYq9_$l+&QOTL4g78@EQpGguGDui%l-@sQQ>&hwu8QIV;6mC<)hG zx@NUsj<~UH)aDTleCb4hYMpoo=E&EYTI55+KA8I#@|QvA zr-zy*Jm23F0*B|6>{9$hbZK^R;EgaF^w4&{e#)>Y%-?kZLo`S*785etqqb6);Ih8c<{X)Wf7Ue=9d7wE{_!4u;&rn`|BBc=k=MH6ZZKW%^)?kXpZ(=7s{TD&{nQh1)50T&_6C zN`=m0FD74RK;p9l#SFh%&^hRzZVb?I;%$@!Ho}+b-8%Bu#MtfPoLHJC9hAgd>)Y5v zlHDgw7I^WJ3HVaw*GM{e1S0=1C2!QPT3*@6mo|f%GcNmFXOD?+?{!Ea=auIzy$id# zMJb4*5TTEem8vw4Ck#==v1yC=`53oo#jUsMT(Lb_hEj$Ar5tMREvuKB4T_gto~)@~ zhEjb#Eu;M#>*l7U#ZBW4@eURDzkbpi!)YdJUCt#p&%Rcgp7Nz|eWY2X!(cX{TrVO`y&em&=fTbcU)tO{)aF7i$THM2xZqHatEnW&))&A@Tr zy(QN=?geZ>3ir&JdReVlp@@QYbWSxi8hqo0W>1qoZ0}c^R=<&Dg>*r%8Lxj{yC93Z zXQNPSk-kp6CjDNUVWHYwnrDX$ho3qeJpJ+*QiuNGT%DbM7*mC>AYyxgJy0BhfUgNzQ(P%3&J0BGw+n>jNuT*t-P2$-6&?jJn%&~IWIAv zgHs~W^;}bvgCa~2&nvviB+2r3wV1LNt4a1dB`B8MovM&d3*gXp1~^m;TrDblWIppeiXU>Qj0X+!-`IvX_8*eVWeb=Atz$Vtrj?j`#r-3TQ zZpb7RAZY>{{Oh8<$qlZ3^Q72gEZKPg6O@ zm6g_vmmL{J2iMN>>Y$KL!Aik>bDvz&M*5 zX>d!nIY|=lDF^Jh$MkH0NN5L_w<9kag;|oA?(Je}%Bn`4n^<5a=z3JrYh6HWu=F=m z_3u%_6{G=qBqINo6PVgAo+|^q%KW6evkU)0fa00|fJdpQy|NW{Dl#e!^&Jh~2x|3q z-sO}9c3g-{EMeUr0zwT;9faZ6wfiz3_X3FZ;UnS75}*&&ojvJ=(~Vsyn-*V#RTES# ztbb-2P^Mwpc~-j06bw&zdT7H;yK2xTXSzP&y21k!lRPe$c(5Lq&N8VS7<9|d=cH;V z#3@5dgXR=7C^&>ZX$kZ;vTxk}4ffV4OYPM>SqVHFlB^=8D*1QmO0Y`uYLswO;NFsN zRg(7Fy+!Y0J=2|B8#$qH2Fx3GnXvuQgZ8#fWh$szwD|OR6CV>SwGbaU5dCqjgY064 z|7}$eg-%*%qe#d!77Zq&85P43atv{Gv=;Q>ko;3+#*VakZD(mPigNjCoix*qQSh}& zq<6!@yc)Z16|=9t9KD}!r{+ktcT(3&Dlh|@LyU{^wHaQSmW^?)sw1G944{zJqH}nd zXBUk-xyO0_fVjc2Vv1@*ZX1R9)n$8-@V114!?eD@4~Kt9Z+BEhHA1UKxMaXVi>@}r z+09mtp)hPqTCZ2Csfp<(|n{TP2zYU-45UAT7A=6PI8*OJFitJU8dND=xqDwfAAj~ z`LMFLs}$9r!S#(p^USfpv8o=k)U$VdxK#(^SE*K>L+pPa>#!@Ja3`Q z3EGQF<4t$tn!ozitVo4{ixKOw<@I#vofMs2D#jR&EcW~lZ4pBQ9zMEU2H3Sa6J3hY zFd~uXzI6ei^|MBH*#0N|d}!vqi}3n5pJ%Et-ubJg68Ov;$D2DQy&IBBW|Y|mtWX_N zA*w^=+=n7pziphYErjT2{<5Dd0rXZPgY>3RAju;-?!Em3+GisfgVZ>UW;Tf!rBiG$ z>$sTR2j%ddJO)tKb}G9&+Z%OysFU1aOp~+~S+mkS5uUk0S(kg(y^ZXvC_FZD3DEfY z0dk@y_0@3=ACM;c^A&CbOW|fwYG-37H_=Rk;E~$uu^I;FBS>Tc38hxc0G*Gxc$+OK z`mrUt*s3qCJwe|+67-G#x}zFWCs>OX!?jKDeijo5CnQTaD~G?}ZfnME3a{g5B}esk zrI0trH)(3aF5lH{>+rTKvV&h6>b{onASMCfb#R4o)yBb7*4+o=_xAVucc<5L4{vYo zwu$Q5=Q(zn3)*z~mJZ)IU~zYr>K1=)B6}dA`&gq_ew=v1c9Y;Wmcq6PNFsj3#q?qt6Q> z@TNx-3HXr7M@wRnZdf#+w|>?Pd7Nx&Vfz;hMX=PoWy5cjhTkCoe5k^{9?R;&pJW@1 z*Bhk_XjYZ}2Tz~h0uS{+#%y!m-~K%>J9ibpem}zB2~ISS`O|ElU+P#QifwtRY;lOe zV+1kZCn_>pY;;a*BlGR(_3Z2<5vy#y$DVxDJ)+(Cx@2PAUp=Zwj{G`LdJ)ee;D#+WE@#?vvHBenh4!oNcLCj5T_qQ;5p4=ta|gX}r`lRzLPm zJ`G%y0#~@N&r?I&k{8!?aZGGC*J?@%J+Ur6p}nfXd+x@7rSYuWudUIKxM^k9SC_Ll z&PTrSXS1gJ?vv`A@6w+$*P`g&IVQc*y&`g|M-ukC3l`JV3+xC zGXi}w6PB6l+H8SawC$iO%fve0)wu9CShV&w3hq~o*LNNDl?Qq~FV|K-M()PIxxla3 ztUf<2ULK|Xn+<>S*KRF-0Xqxl6@D^D5#GzwD&k7H-q^lhcley(HM)LhmTO}j+jskR z;;ZK_E-PENM-9`)uy^wkTRpEs=z=86-;b*7g>T12y`$Txd%*7Y!guJsQ_(H4(EFw~ zqZm>-xJL#mqIY{ol&$LL=Yp4aZgkV#S#iXbTcsHw^NvqnIO+EHTigA~Qy+Xp-eZk!cQu*3Bxm&w}E#0)Syy-q=Ui%!B=V&?FtiEm} z3Emp?5(j(eZR%A7cocDz}7QZ*pI zgY|$#i1%ZeZ^!d@y_cqp9Bw4Op1J!PN2R8z4cD#pCu-1HZ{4D6ELB48T*aI{pHT2pyEF8i= zO8v6mJAGUz(R)eCs3lIivomC*JASg=BK-t5DeMAoIF;=LOrZIxe6a{6R*?%>S*Hur zC<#jZ_yE}_?3(9km}&3e2R@R{)snes0~u; zL=Cr%=D$4$M5v>D%RDnY+u^@9e-Qz0>smYbptCcb<>9^Af|%dFqxYCK*cnE1uq&s2@cNC= zPiJ#t^GZ=^0{KywO8) z-(DEpgwU1T(m}tjolX;d{)*5*UwN+_u4wV9ffKq1xiT7n-^A?+xcczR5N5s`q$qf~ zKqoHusKE;`)$I?|AonBm2Z$e@S3Ps$575QDp(F%U`=RMka?N*hIKV5zU&|VWx{762 zxqU~Ii4a1hj@4%^!&cm@sJ6VvE3`d{Y-a95)KT${Z2w{Zh1QT~g zXv^|Oo~akFRc~sLswDT=b08kx7&sn3&5*j2sK~;X!xF#tBEb}C+>{6S&9f#1W1Lo|i&jWMct*Uu0IxT5asfl*@fEvnIO zG##+?^LO24Ih?z9?OnCvaP~y zYTc)UJ%;Q=kYxazTp(kI*$voP@d<+FFl*^q^U)d%-LHX$Z54F~?xl)*`ZVOd zltdE`JlAN$;0U~45O&XBW%bNC+^$`Fs10n8bZ>8U3G)02@OFUw5xs5FgB{|(5XRUQA8As(52HCA(bi4k(kPwmBS{gYQBUZk1uv>DvbBe)F zOXu+!m%N>}Jlqe0oq>?yM|~z`7Yq>p67BG~eC|-P%0rs59I?v~`|Pg@Arpj3;GSd( z%@IuT+0ko8{s6D;KFFlP>)^#DfY=>yL-X`${M*X{d|&c_F>uYV+sq$meCFTjm9qB< z)E)3oWHrzcA8i)?ct2jk5c&%JNQn6wRe{|2kYk_*fmsS|i)sMdJ{;7!dv5rBd`#i- z=?T^&hYG#y?RxffZ+stX>L8$Z?~=&1>~ZKWVQDS(TRc^N8xw&1uv2iaS7dm%U zs~t{a-(mA^K=&ZHK+e$ifpA=>4#LgL_t}tT=d|3|aJO&D_a{ScHPy|l#yhcG$ycHL ze`Og*KsGcVYOe4*_mpqmC-^0?`M1zJ^x8K7+9)A)gdgbj!EPeGe_+=3$rpCu|AgEK z{O_;OnVh%g8KQUdIE-*#qKjMT6~W#w&?n?t!0(e7-0MQC@To?r6(_>`-|cih|EIk|Ksr& zko*8&BBuKS-ABgxw(I5EUXsn}e&@^Rp*$WrUn2tnojn!~gLua$$ra@D`yk)=x@ut7 zTmMVU^zOHM4QeWw2`8-nuz&5N8Puio@Xo929ZB^y%fd|+*%Q3?06y4*G}wdB^W}F7 z9rgXfG}Vc?f6vs{qM!9Lr4M`*X5Yy}efJKg%P9~T5lJOOM+nM)`0s7wM)ZX5_6Xj6 z2qMf+H)N}6fQWugVCY@@^!b#Njd_E)(%lJS1n$+)z8d`S7tG($mw$ql_3zV-D+f&dIop2Df$)WR zjqs5XO!R)0LA;o>kpcF8eszkNJiJblDGE=-fJW(E38Oy>oOd?{|m^c*C{bzN2|DxcB(|c%A+0anv0lz|UBDQzFIu zsb?~nEBTU2^32vEQv}r4uRWKWIgJXx%Q=qw6txjgb?(qVbvCgHnXcCt{;(YK!YBPE zwEl*F2mb~Y`oedU^YuL=UKf9JOMVQIdH3f?$)WgIt19{)Uwawld+xDg_|!0qoFCD; z_~0b^+@$PK`2MNz)zP7_ykk>!@Ey0kdo`_=r`HMgzK8jedIEf_DL~%IDL{t2te1hk z<^F~HR>}N?mIRN9C#DzYy~Yz(LY})JLHs`)OMyR`wjliJS#67ne+gvef`)mVQe zyPp&=N0YOu5dEDR0|Ee#IFaanCM6z@ROc0rjAE>BJoKzPO7#DrXN~brbuK`3y8z)K z^AsWK?`cb98uYaLO_W`>*-VWUf#M2z_W#-c&xu+|RQDi``Nt(Q*1)=UfM;YANXD(C z8K3zOryMKO-M$LfEM=6zfBuBo{trN|q}k4k)+s`kXJl5b;M>Q%pcsYug)l`oGtDiJ ziLvhRyD$Zj^4|aA3oqH7_R|mDZkoa)Q5r?i{dzc1`U6B6tRznEXEa~wK%n&hLGLe` z9pc1CwnNT<79lyE@c+Df-z)E#jBo2Xoc*ss;D2m?u_Tjx-~3R*^6`p-ycel4y4^t& zgi7sAlfydnMHusz4~I^6|NnRiEge{YjcDN&+al8Q7gVixj~e+vPC#fY(=4%|z4kE~ z@0C(}d^WSWQ>m z?ctgU2CO2N{Fk%x-(VcTdKggj=HT0<>Am-dmnD>Ha>~w=4Z+lcd zT*`$57_-K=#$!4w_k{}v=4+__@ENRhnyp<&#MEERe+tEY2b|Eoa*oFIjQp7wa!vUP zHwLn=*)sXWNd==XaNg_1iK2G^C#PZmivx7wFNpfYi^$mqDySfX?)EMJjqQ$$lgNt) z?QOxtlbU-Zlq^vFXY@s0;hCC529$?WHK7zXys*df$v7t{$~p2G?Ott!yyuB{ ztBL1%GkJoSp8WMKDjDk|YE6~#nZCjMgj$ymdr?B>vT`28m?S)M9WxFrz|(o!9*Cwt z$Fx}A>~m73dRE`>eh>oNb!v*wv~ZQ#8AYTy@^5mkkcHoqzB{Qk{F9EpFE_{SLE)(a zyBcjDp_yHo_cvm?Jv9lh^E!l^S(ZJyp5Gf9+GJKQKUsu4U*$lb8{RCuh{q^xF z<-vRp>_uJ#Q_iaX91>8a35qu_mb^Prd#6BWgsanAUbtiRXQ3fhj3C@wMC_W@q#YG zR|k0hhQGB@p9bg-|<|CjGWG@>mI=bNl*0jQsM&adRq&HE-}=fG)IHh$GxjXHHn<5{C2B9lf`tF>+V**fPJIQ!(IqsZY4s zG3$-dez`*=M z+wj`vuBjsvYWfpXqOOFy$ImzQ=ZmFR&D_^K|4*FHhx5*ynUdx(gKrUE_@gkE3-mFN zFyNIekG>FT<12eZe3Ex}D@m}4_*qvsaPPq9bkkQ?;+++SB^HC!^j(j5O zC?(*$2I_Z+O?r%f14xm&?;qFA54{D%2$AYS;TmWJdeYk88g!oNhGQrb;E}#?bpPTQ zap!Xf$ez%(JoRT|gT-*b!nnY~IPQwBfEB?|F-8$;To6y>A8)vEFrN~BFy8}lL`)Ax zeJHo00zTBapT{6DBD&!3?_qJ!5T7q7L8N*t#e%`YIRCs2Wsou6>f}$l2|*+L_H#)^ zPOQF1_(xxQ3vxjs<)36=&jn|Lf6X(d3`~*#k>7(gVY2tm-H-S(P96PEMFZgvAHYn9 zgoHrgG!5NLj^|@&e-PfMeuJL0n}+~>%mhWSy4#qg?45_{UKv}z9OK<6?UZ#0GDqd}qF847 z{4jxz%MX^U_Xp}lI8^cP>4p>2L_pMUlnhvb=`r{Ewsrb(`|AZT0sRSQb4;uQFjj{AOmx(?~ziind6-JCd>O7Q*A<364{x#3{ zoTg{)FT}VDfDiWLdV2G7=iGhM18lp~5+*`m*NN+96EX6QWI2}!HOQMe9x#jkjD8%a zRImivy`OU{>5~4Hsx5)ZL-{N$wP7gM5Fd^<$EQGmozTNLx@ZKQ3NiGt<-r0c4Iz_G% zmlgb%>z*7ZBjpyxzWqWxDR^qh@40;uxX##;$Rg_AWLaV=&Z*qb28jM*ruU2naf<7v zbmaDKe$%J>vjp#O`N6ZO*k)T>Vuy2%-033qd4s-A4=0%H^~s*hU^*ZLMv&75CbhEd z3UCB4DUgsDctPezwTrJFa^%1QM-x=RsA?!M#vrglnY-6n&^fM+*{UUmoj0sFF81h{ z40Fc7Iq4D+wdc-nKwpi6%Q_wC^9g z)T8KGgcih#qc5GyW_U%_OVeLrQly~Is4CD<>+UK|E*0SlT}=`ud-q*DRQI?Gr;ljI zU4Yi>jA^7QPorGJ;8m1)c{|>o}9|1Moo6Ky}_4~0#j|!MsIedcb6Ssg7 zO$-FMDf1_764v<~o@aVK&aOsH&js(flNnN_hym(Dx)O{b2kAcQLyD55@icj;t1Y)G z)wOX9?Dzt1ps2Jpg}5)n>c>F6zJ2ffaD8nXi}gYze3~Itjhd@OC6|3$fYW&T6g}8+ z%CfZCM+jxwc)Ib^Z-#Ga!RagdR&l^sMrqc0E6W7y^w`CvpF2`zi7CV0KHDW;rdLu` z(XNt_6?b&ss69CDV{~^j*xczdy`}Qa0=hQq-Rgn zfAw0ga^BpnM1f=@@`BwSTlZgjjaah=it(Fb z>$Awk7Z98lkadDT%2q)Sa(?hn=`5KGWn{^l=T*g3c4K7SL#JbvTxJpJ{-PnL0=K4T zZznsgnSV58e_J%K&~i;p?s`_=a^!J1#P5S!29a)?4foKY>=vzAP^7eFf5WMISza{+ zo~+*3XhJ?@EHjYwo9}fOU-qhb-}O3lFlWvIK zLu);{`;Xb(Lhok=tqt(VjM!pVEVdnhO&G1|GFWuSJAm@`TB}JvVa`@?ZcF<2@9%Um zU7mE~ibbV%P2BGLMJXKqQV!p1jdTG}=;0r#;FkA-nS%p;54Y4h)x@%g-X=KM)}fSF z-D@x}lPUd#xbm69)}EQZ_n3LGpvuSjRgUcTBjcuXqH3{tSq<1qdGLpfHk#d(`U3m{Pd|3n?pq-18|W+amTi z3Y~r=;eOnqO;39_?GB%mKU^#|>c-H?x_fOT=3BxsjNyWLx({2|ua1N(Yxn=%c>#V+ zdkk9b^^UB!Q}@oAv^AZ|7IO#~FolkE_v;U?94&88NEGe)-q(sgsAF`O{3 z28qswh8&L_zU>Rdc)xW?bv4C#V+8_dtp?R4ogh|YOHy$iO!=w>BzomILUHhwbpg>~In$C`AGP52p4C2YfO>6)oU_L}oL`C`}JN9gj15UBsjp9Lz@ z<16<1%wn}zaXjIu0#_p-_D*A?%fp1dM_$YKdN1db)?=#jBT}Py4bsU{xpp*=6SMDa z(Jrl@a^BAAc_f*Zcbkp|5u!S2{9=zh3iYG9TTFFRGFtz#y<20Ek#mhk%f{uAKzv8g zWTsusVS&~Qhq7unQFWWMGVGES%7y77_C8tzDlMet&wR$X-h~P4;9UEHVkABFxufF~NcslE_xS22B-JMdrK(XTPR;)mQyKjH@-skhjZ1QX}li6%C=gj$@84wIx zk%Y8st?MswFpm5ll6$6x;!2k63SbUVkP~ydNjROyqDiz*tqH)wKuQ);szO7gxxN$y;qykFH+S;%g=Y2!Ofeu;SA}oT0b(`2+mYZ! z6|eYILXR8P$#6prP8rw&l0CL)f(c9^)V<8Nf;~m?sWR%#8A5`^d@K4b%<>*=y6E$>aln^ulSF7G!9Cz~IIGAkMp0K7goEq8Xd)yZ?O zgwG~seN;O7z@w&LDc6;&%&X!ag`ct5r=2G&t*z^k)~l+$N*OL~tN|jkH1{?@mp|=y zTt5-`WV$R$;;jcSfhKauHjqE5X*p||n^{S~yP`_ZXGE{M54Y|-eg3I;ex+tSF35hv zCJ~$tv{-%;@`zf~1VDx=eqb(MGS$>z4c4g?hit=LBZWd63qgfPSZzmGbscXppRjX= z=rnh+KnOK#J_Rf36bWJIVOT?XgBhKob<6CXnS8R4%IJSK@yH`=7R{ML4iW|Xw$c&f z=7xnbbhN**thTQSMg{I=w}ENaMs>gz`xf z!w)o;m`F22hbgP|M6ng#KUHy;N{LQGsu4l7Mp`o4MSHm{milePu9;dhM9emu{XAZ& zS)-Er3@hoJ2}BU_53qYfY^f`Qe=N|jFBh9lvdb2m#m0F4?|A&e4=B5OB($xf$V~G1 zAm(D8a9?f0yx?l@`G#r>UTn&>Yby2v`c^i?5JTsU1C*L>&?_NkuhgK8z;qs`0gk#>3jZ&%LRArOW#^J6^087o`TTq@c5 z|ACJ7RuNDUC;?h$N_Fv!tZv4r=Hz2AEfHBN7Un4yfqDS{p%qDGx_Q~g?FY%s5#FNE zED?_P9)DSQri-Ur(^r7H-kd~2;eq6)pPQ>8)B=Ra33Fo@BSiu8W8$N{=5UZdB0#1P zXDaV(R_RtkVluKY4s^Umu#hcK6m-XR zr_vbJGjKO<`@-9Og+B|^K$48b+z@($9k2{F{^ndd)uVmEP-mRl$UlwM0I64;`(=vf z>O4g7oKx%bKJsb3`Zps$6A&$|z$}!;Q2g-Y{985L2&ouy>BNNIn@1UzfiH#I@Go=j z?n-?tZW6dn$d`8YKRSw%GKcho!-sC`y@Bo>wH%L~Emc(r!y5k9%N7_3<2}fs=DVM+ z@!_ll8ZLwRf@1l!!m;_Rq*zRhtcqKlLrpT8C!CP2^l^pV_{ASD#DMlF{%q{Z+4C`u z*49Nz{M?@*+N4lJ+^lSNY{VZTF^3`9m?lvMzTouegV=lY%CmQst`|;|%D?iV-L(1= zhsxXf2+%B>ZuZvfojJU4g<}#dYY06Be>-TmHV{7jBT#;)+jfNaG5H()S@AY|Jb@IN z^gsGs(CQAj`1t{NbOjc*Se*&jk=4;rVwS@MjZbO?+s^dYYq4(# z>Txpq>YpYfqMX zci)~stVphE6LGT23L`?VPfX{knPRVBKT%e=-TL`q zXfyJD;EV*KC8`GycH0rnsvOoE`B&(8oIe(rbq|}Axu(h1g(J@AM79l%8>`j4g31mn7ijG~E%jnkENhdQ=RR?y3ImJMtIbIdz1x|pm)Tk zsYJeBuY|`ZE;@>Xvmg_6jjC$dk3wa0I+2^%(qEq)L)S>Fpqay~<&h~22|ZI9Okzh? z3fejOq}ND_`C+n6x$&{5C4Qo55(rIkVZ=*q2S8PL_DIpKCG~5K%hvD==B^R-#CZlQ zIm`f-%(lS^e8sqGL?*XXUKMG|@GPEY{msacJUARTR3?$MlJ!Xb=|6 z#7Q`-s1|&4SDW8WL=%X<2%(WA;1vDkDavhtn((9jlGXgW76IT8BzL)jkIk2fy3RaUlP`&*Gum_NYJSxCo0I|;l=sDUa;4yL=I0d4gQ zC0u#wj-8NgRI?^>7JP`c-W|xS^GSgBJhCy+_M(8~nfqaFPUD6Tq@AL0(*)I_`abH!50>f9xsavvet1&z{+8MEB#2T;G`jFxl3oTO-|$?8%|;{Vx$6_4S(Ei#CJI54zcAiWDGsR)y(6vg%Tp%7Uf3WnWl za96(p)s2d)&iBp56r%Jxic|a%rp6w_Ugh|#sOF`8%)u9ZDRWNdQ@a$_h_0{u!R0C{ z>LIhWdXp>`^j_2ga(iwqN(WFTLpb$A{cb*;vLd-%HL~@k2F zPZO^k=cHQ$KLzjqz`^~!zt}OZkI^|_!9&6QAB&4L4|YFG13IuxqYyj)N98xA`f{Gd z*_SFlF*oslR3(2}-@ErPbDQ7nB>Ve3_(Zr0Ag=yLrFxzQx!3bTOY7w5Ypk!MZ-)ZO z@(dr=n9}n0ULQwE#!Mm=?eP@zvX?Z1kjw9+Y_TkfVh1?1)7bu{|BW91LKToTFEaGb zI+O>(dHnwoJ!^>q7Z+afGuY*uc;-oZAK!Qm2Uf z`b=kpinyN#O~@8^e4vO1z^rw~u7y)-j9}DcAP8MPlF_u*%;c0UGA;Bc@tVg&sCN3` zi5gvf8Mzdp>3!8+TqV)IxL38jra&EHoI_d=IKxnAQsdb&(8rH_zU}@oaEp&7@)Udj#P`0+BOeX1#9V17om!IW7e>>{T*9GEUhZKT9)Y7*XQ-C zU)NTSYbx6PdKVwQE*m&r4e~mC&N{)KaN{gH>7S|q^-Z0=d3bqe5K!B1+(>D-t4;TM zaJNfnm-bej+}_QY9OXwU9X7>GGlM{KIDArq%7@M#9OZwd0V-G3-cMRVwT*)ns)R)` zs;C{3Zb_)nnpex&nO}vJFscw1_lhPEXtzmx%r_fyBsWy04VH|34#d|-4(kIp&<}xw zJY|;Ho{QaLDTA%Z)=Anw=ou>Smd`gDb26@ZVQ0C`x<}uG&vH!$G2myuFXmIjh+<=A@0;r}sObv=^eZG`m+EP)`OiOjZH8yIqkyKEkh1-86BxIgrnoc&vtfN@< z#Ly_{r=W`7!T=rXba_ieMXsQUU-=qP8{RWiE~GYJ)ca07%O&F(iD)X5vB%GyKwJO$ z@y#38p+NRYcSG^WU{@GZocnt^jej~YFWR6^ri&DC0=OQ8o1h{rnZ8_+J!>gXk}%TN z1xOP(u_4>G)tR2`x73j{R-jMg{4{@FBxT_VwBC~dXPc3t@G5mLss86*>FLoRQM1~L zzeLf6gWg?nVE&>a52Iv}9jc5VpYG*gcaU+b++ zLuv$M<-s=*ok=ZU*BzLNzpNv5FXy+sguE%#94V;U>Q@iXL<8T;1U2Zw80y7V#hA+} zoqUX7&}PO`ziF$6bOpfLO@TbkhusE=@Uj&UeVVm12qAP2DHt6imz8 zKyry%gkLHH_CdrFx^vBviX2_-)@OFk>})aRZ3&8~mG)>IDIqhJ!nz^}&`b4tUM0 zM>J51BvVU2mDxSBS=txXkMa4&wJNr8F~SVb6~`sTz(Y)spwZG9!}C5Y&a0Qh2A=kv z_i~lXD!de+d?L6Z&5OJs>`aR~2I-LlIAC|4X?FA+ zAg~)YpcfL;_hhcfn#PR{C!u-K6}JJ#S}E~eiQ}eBsqJR~)jk{}7J9j{&G;2mr1<-q z2s^cvL*%cQ_fcKl!a<-`Zfe`-8Z~_x$5-*z`?uja{nMS>X1t|_>ccf)1%WJ~j{VJRTahyV`U1ESD4g(F* zwCJ_^sreMFUeTU@T`*}==zTRa()VLNz{!jVZB6b&>TS!#NmO?zV)UlIXtnhxQ|DwS zG^AK!x7alN+d4Dd>Zw^3LKhG;rB!_=+?@B&sp_WmmFC1vU_)ryI`yYV+PhKOIUbIw zMtHqCW*Pip9N$!@*^h8#djWtRI*+SChFkgA*|e+=N@787nyLUyC00GuQ7Ha$U<9>6 zo@WI$wGD8b)0A+iFBi@C<(4o-tXv(_#dfis4uyG`ezUA+_=}X#)Fw}j=q6XpK6-b~ zR}G)Jh?>i%xP1+O#YI;dXY(#yg&{zHJ7!28lTS~$fJPZC0YKpAVvK!p=_WDR8b*|4 z-sZFnNwMNEa&$nkBGAwwCwlgc7w2Wifj#}Tl zfYeK0f~YlrVVPnl3TGU;Z*j2{!Z*nB&iE?s{u2eGVKCGIQMOSG?2bs_+Xx0P2gd*p zl)+h+6mURO0b%Lsc{rC!)%rZl0W|>??xP=&$h9!{GMucZaT#s)T)ni8>zf!E%OSfi z*n_3jxMGZw)b98NZv>RZ9Y@}?hnEF9PUbcpQn2C~y=|J6V+{Z9RYch!I7W+fXtxOuxGcI z%*3BX*-0`JQxsj~e^ievRmHZp1W+%TA>Op{5X$U@Q`r8GwDNsPc-xZ>R;6otxmeJ5 z#7}SoY667r2`v%-IM^FMM%(YFg^PV6y@&~<7E%-O56i@YJ~YlJ(Gd+- zE1-QSDd&G6Imw4Q!oPLs*568_}?xT+>l<TE)rR#Xf5Qn!Y?5`RBOd9s!o)w6;FE0Jo}DkW#TJ3$D~6)WzfRMr zMnRA&oAe*EWfSof z60dlrYsh5!OYMEE@~Ftxskgtc6v!kuMp5BlS_*)o6{rvm#rZp@IzBD@6>WExV@&@` z5AS_N3#|Qyid`3S&aWrLvts-+gUI&a-j{39pVhR*ddu2=!ZwkKy@d+FWdl6zNIZO* zN!M!HIUaCJXZ=JsJ6Vz3|1Hnf%5QT+uHS3J_O*;B9W?Sr!D|MMzB#poZY2PD^L};J z(&@?jBCydxmQ`o)%AGR{Nfb|n-u&`;7Y%hU4=_&V|9PSrzLhvkls9xrAe?tNpOe4& zt>YKTi4he^I##V7nrUyPST(ucXG^$?;$v3jIenZmbzKr)(odFQd!O2-mrglusXyp? zBY*3{U1?BZL0hhd{|IRfor_v$$-~D*=|Idx^B_9^h-*Y4NdL}(N+|pEKaP~Z{SWbB z#q~=)W2&NJF27aI4L8RdBfD_Y$0i{#f4?^UHI>d5JM@rG>F}CY?5J5v?@KFphHD5? zxKo<>+&5Pk#I2aK8aUvYKb!2NBGFDF9FgaG-*E}G9@(_5ew8s4i|5KLpgZva7dCv%gvx(s z)Ey%I&zEvBazIe&k6d{)RG}i$vmN*Tk%kyM8zVIxoHlVW;lhcgWS;`7+BoF`W{`$A z1 zEdXVxZhUphh1P+;9yZ1eFj+plH-G>H04OJ-wDj6pkYv-nInRPtv!lO4xr-z$cLnT)O@|nyu zGY~?bt$z~9gugT!ws33+zT|3p$u3y)%Z75A2_G02n&Vba@1>qWxi>zCihVnpUiTo0 zn-!QPEtoJHiv0LK{BVD4%E`UuHV@K`*0s7N1_`Emn}Cz~AKF{j#QBUi-iE_#13XswFw(I8@4$P@*`rY=i zXo(QT=lH<|Uoz!FEg)IVclg0Y5Us!}c7v2s9lgy@YWW;SqCTsBV@v(M^}s6U^b}(DE-)C(ay--95h+Xdc#`LU8sF zFo8J=yUjuO8F(T`<0bokS)6}_#A(5-Dp+HY4w3S0O#yQFz5};|tF1q&6~ZA~Dr4fU z1G_`#RC}kw7^d`XCy0M19jXK%e40uZ)P}j;P0wKhBwJZw*VLvIaVVqd>XmT3E?h!5 zrREGoPZvsj< zxJrikbwOU!^)a0PI6e71V2*Uabvc;omY>p~E<%h&azME-(?l)9&XIHf)k z<90yKE{0j#rJ(>b1e}w|n)@a31R9cuRi{W~e{vPre!R8IU8uL5x3M3h#-(rT+RDXN zCY`r5jbb`Oc z4K}|iXY1PT99(>wMZjSml%o4uR4B=97pE14KF9b@& z3$bLMPSArJ!$sdn5=#7TN~)>|(r5|c?*-r%k8I)*V>46u$})t@8h_l^&a#j3-y^|k zYKK*sd`Ms2qvET;6Rto+J6%Mz8*)*tcU0}HORvO+)eTl;!&@(CfBo`LxpZ%Q*%x+n7L{x2 zg~suKj_EUxQBV8pi1L!sf$SO7tt$5tusYbSYJe(o2WPsM-mA7}FW@`dbD*LOQ8`(tdvi!EytP_V?Si?o={1dgnZs?#tCai^Y1H5cD zRZ%zcf4fMV8h+Mxru3JDKiSywEP!Ux`Sf=ko{*ZU(RuXI5<^0pssGz`naj-Ik;+A@ zAhxSVY#2otpGvKq&Zpb=*J3rN;L`UqE!NoAPiOpENlFpt7n|z4L zSgbi9#Glc_OJ+YTe|pi{a>5U7n$Ed#4?qk{+xpt1n5>Udd6-sFwqC4LH}9K#1S374 zgxECe+c<0b^q4=&AbbWtN2m*{d%&mFsh>S3q3*j^s$Lt86_btRHj$j$G&NufM}NRT zcaSk1VAKFp$-_h+w!NH0z6s|M?(Seb&z*$K_jUitJXvR@=Ox4U@$&Pko0FsT6R_<3 zxC*6MgVaw zS0}25gE{o&f^*9XHp?a}^KcgP=qNhsWPv0@YUyemrH)?sbZ zyq#I*@E%)$8-DZb9O5$Qx{q& zn2(`Dw>GvwqH*0mHl^ANxpiEiEP7g#l*Ws^(`Y@bYbm1{3L)4a8y-vJ>UmDCGKN;> zI)Hk^FBsHo`XnMUevj3S4VBBS=JFr2hAz75lbYZ7l)LD<>AC^D58c8v?aAiYhF~@n zFb(^?DO$znq`>rI&(-oWkMiMD~RDT8$DWULYvnWS) z^JZtlY<^74D+^-yu~?TP<~tHCN^@)q_0?sPAZuG!kvyev3|9F&jBsd`t~2ei|Lti{-m9~!L|4*?|4-1Kws}Eoo*|Geyf}I*}4O@p9S*|UAchOcNo5f z4_Gi(p*u$J*4Be~rF!sj=5WHSHp4PR!s-LC-|JM<`m@t1)v*t7!91LUbLfMXceAqO zv}M0+2(NyX)Ax#X8$x8=Do-i7F1{Wr1?P7MI1Q!DvkJkR#n(o`*Av-lxw4KfC2AgO z*3#o2{l_i4ym(>}2rBWZ+hyFcB*&%3Kf;e6^!x${X=94F|HCM9Tgw$C)5L`ddAXAg z3@b}#zxCv*U5bch?O*)2CWUO~s!`^t=IFWP_!jZ}QUw$UT^<&O`7eV5!XLrw7L!nQ zpLY`~Qf#aW=@Y8CL3=~Rnf1s#mIgG}b*t8#ivk?lf}vY&L&seO-q`I%GnZG*mMXSQ zp#Zo6%d-h0%rK(S=c- z_sAM)!AYH)-;N+kU`k^4@L>WP42X20?07|z*I~ok$9oby1-zpT!ABDtt}g|e6(r2N zHdDH#6k^v>6Q=sl@~(>D@n9I0+B3{v|Nd3VZ(`aEEN^-q2O6Z?d7U`vx{w8DHW^)4C2@+;{{3!s%QGuO`8! zXmA<)kY4n5c~{U# zdZD3_V7&aq7U*pLqa3dV9~KqN#a(Eb>W}|WX10mD$>#JSR&#ul4QL2Mjv)l2_qhTQ zn;XF9#%|5P;Epbi1mo3H5ieYt+TV5HXnQ4)^@%&{6J{918WlV6Teav@J-x@`?CE@) z=bV?g=RLV;oG;Y-ixavF`TN%t$Mf%a5GrH&zNl)E&L2uPCB3*^K@OT;?cp5ZOF5zG zJPqMtl(m$ltQ~e*WN#`kJMCH8e-&yXl7Xx_eo3fqE3Mi%t@&gMWeM z0`HIac?a#`*9@djYozq`EJLP(%{1(tABm`7iUw)QN!=eda(@7xc(2Iy9PW>Ux>vyW z{P|UoB)#mQRAWgWT^+2?6;IYl@TjpR)pANgKIX)taC0d%owJ5;YrfSmuPgdXye-PN zx@9ZTx<_Wtpn~#9Wa%s3Gj8H|`w_#ocA8O=qmL)N)1d48(qt;_fsp%jN<__6EVm{8iSjSlPC}-0SY>@a}ZJohT1Yfp_ zSS3-`IH72jS?WC0`HZm$mS2S8^35r4br-)TVU`0n6cX_W%oa8jg7(O(eIG*yyHwQ$ zY4M5fiWtJHFsj5eN|2~uhzIkFkPunyK4)`X;uf=ncVV20AJrlw_FZKzs2a*%m*QH% zUWiwq6mfW{O(bDJUWkip2>Y8WpVN~koMKdgLkq$7%FJof$`O-@4oOOj*YVnvZCsHj z0uDf_5yc`)k@E5|RZxO4ZdVd#AMuQFDp7%6B<%6G2eWMvW$*F;$L(4Cw^>VtdBk=i!dcG zbqfubHxkw(#_99|dG4q7a~;fo?ZfN{_(M32a0+f(;dYf9t$jARJ4HumsKWnR znIZn)ccEDh1M6C1)Q-emU}5nbgORhq7l>hi^1ln@17EHuWkjDIz(k`_JOS<$Ux!vm z=2GTxEjAmua9r^-NilH@J%rj%w!b%*BVB*CVHk)Frg05KOhs%X!L!I?fGhtL@~>ZJ zp_a#{Hw^o7nX|v^X=)n=WArP=eVF-B^?`*2q(Lf|3V%CWaw7Su-sXOq>*0+}vJy$P zKO1fKZEC(e0GJCT3^PJ4R*VIV58ut}rs6Q}g{vxN267KbR9{{5j~3>xPD-W1Dt*0? z9}l1GMv+o=FRlp`Owe-)C>1HC>k-;yhHzBSKBB7$qnA)6XBlHEBb0~jPz6fzGVD?n zBkm&Jc%bA5{23oXNsqx)i7Fqy88HVg^&|qE_i0By0mv$3^CwKkN5*T_W0n_Ph9b`; zjU7QF_j~rWWWaPr`;Q)nyReW`E@Nw@72)*9h0`_(RPYI0`HDk#m*RfVNym(snv8y?#^7YA#A# zxrbIr;N?xfi|xZa%o*5m7#xGl3UgWweb4VzuA?c8B2?7j{5i7RFj(*K#KYkihb}8` zq8C3PIJw+BZU;XwL4;|!Ne_&PZ0oz@sLUK8rV1PHGQFa zzMG%%{VVsr_&l_o=lrCH%H4NV&gy>l2Do8tKunRM%#ZzkcJ+OAs_es&^hf)v=c$X0 z^(~JXqo7Bk9(Y^ONmP|;VR4E~973)cE2?RI1303h!7{1kCH2HyUZJ7sQ>dn>DHYUr zN)5~^8S%9LiVR52P;fj)ABVls>g8WhAg1)5OtMU;#u5h$FHUxAxo(<%3b`WLp9A6p7pOi`YduWp zVf#*%JUTTy1w%Fit(0tGl&klO-E-l$q_QWH2#wsx)b~$>7;-izL4vBk^;UEysoY$} zG2{`xT1&{W?LafzM2&vq3q>6Cz|RDHzA_?GVk$&^{m?*V2Z;+xa3>Z&F`@IVSF4m9 zp`%1h{>cTGS(HD0`|h9%qjgWjBVBOKk30u(LbP3vtnIY@7_3MWHY5qf74s)3jE9x@ zL1{A!*)pm&oiOlWG;7*w1@qgDj*$4{eGzifYm#z1o}5C*aZ=ab7j~IaN_AsEhm$T; z%e%pWV4+K?8J`V)@a1{?)iinY@OIVWZf={gKuO#2psnXL4grQ+f8>IH`@uS=cxNqv zO=VkQTE53^gmL$t`1;wtEl8HEfV9c8i{#{FZk-7;7LHZ&T$lV|*0L>Ah%4mzYloF% zb0a!JvMeNl1LgP6GH788AJGeey4!$00iNMma+}}PVuyneF_@wVh4~Tp7FmH=EMVD~ zrM;$l|4w14o+^jE9U)1FW{{HXudAatwyHr{$~X*Z5`X&1zmtx?LVtj7;O$T7Q4svE ze8i@u@V`py5k>flP$Mv;5GcaCDDD)xGKDQ}Pmay|Y(AV6b+o&+8{{$o1^I|HTyXI3 z6t+)NdzCii%C@r&Bsx8DJk<`pivJ1IQkb&;avWM-t}knIKJ$yF${nUR@05#?FHT#i#~(}qxMBYrUev%a8Ex7of;7(17E z+mi=jLg}<2g`s^xLP{TLjP-AH9 zb3kCfZk#Y-nX@l(&3bKGw|TpZx!Q1QLd6K}J~dHKN05}LS4uKk%@j@K!`~_hNcf`Z5~=Ta z_Q&xK3KI4F9dX~ryGP#Yi^k$c7i~DocE}W~n`}+l(IHohO+MXmyoltig8D2l&gMGp z+*h90uxxgKuM=+@bnT2pI!x=G)-#uQPaI)6&D`W)I~>UVtXX}WxROqwuCfX=c3#ex zLW->wl=IKxz-8@HHf^Yi>U_fDQKeetmHPYqI9GoX*tJ))v-fK5IgANWse~cjF%Tl1 z<-5y)SjZzGv`Ho`7ij_ictpw5?xF+$i<5B-EIv9hFl}Ne-PBo z4Ay@f%!5o`rLQo~nif8~WxlGm^jy^4vD3mrV3~-IBZ_zswf@mgai}e*(39?vk!g_q zmQ(DJQ((inVV9pN;`nBEOFLcg>%$H3a{oBDl>sMz(Q#g8`gq_;```%;&t#%0={tgs z`@+c%^x>%kxu|_KFKFa&ILM!#28e`gwgEIF`dyrx=U+arzFC`BaOZiQ3*rtN;)OM4 zQlpsB)0mA>D+`qA)KNN;=Ta0}AIvZt>*H4ntO}GUO5R&DH(D_STfN`hc!|x<4sk*3 zWt2r|4{Aa=e9&l(K0o(IcSinuNg46IzBmK#&R9}8=k_7_RMO~*cLPG$LP&#Q+x*x< zp#K$6;Nry7Ue_77+Yy1$z1&tp)@L%3yatt`&xNZ9b;l2L5(C_tSaBw)5lS;-qQ&Id4oWBlmw0+2Re?C{NeUWukWgHxP5rtpj%W|<`yO(saBQFilh?=goi0Bsz5DQ%6${2?bWuS|*J z1hF@pl$-c62L4p-NBOvsn$IhOT=vki9ZDn=oY%qUaM|p zq&iny4AhZD?}0)Djq6b_l&W#7&h;C^s#U?dJNi9!9E5inb_ad@cbPGM7m|4T)Qe%R zxV$$mRH3;Z*S+qkODh+az92L{%4vz6GMqBl*r}!6M~~!b8H}2$hY^?8KNK$<`d0T4 zCt=E>OM7MAoazAQR-m8X3})rkYpPXj`E=JdDsr_-GZ0Z9^#nB#bT^s=vlven9ddCFS+k+SV~{P>cVCXiIlR}g zyW=AUe(z_xxaDoW4-3J|tPZ~DBifkmQ|7&tv8vDl2u$!Ld7Oo&F3Dm9InFyI(qdpp zz@Y?Fz?$p1&HM6W5Z7~A;=5!1MlOf&8snv8$Lx#Tbg8IMsU(aTo`PSTc_!$tNXzgw zTRzhM2=ct(N6g#1w@LE_WSE7Og@~twEFnp|45AD;MmkE%>VTcQE1igxxX7Kb$gVra z9Vfo?8>B!pWR=&zSIk0oYd%qH9?{K88VV>G;P_nnd(9?ef`ZKmLKPybi0J#&ttQVe z(lUO7diu>SId8=?+0elQ0XRmtd*OC=!S-u%5}HiIqUnSP{R3k`D|L!Z4CmQ_wStrO zE%#4qypsbI$@M(t91w>&zVM%>PU&CGz8wU1_0)^swE*~QWa@@*%EzbP{SKs`i1IvB z0G4tm1M3Bq)H_6mhmB+4_uBhg-E&K~hoOc7g0?{WQ_M>YFhzrYV#Y&1@kn-5DTcLT zmpN~ks1P$Ix60s>d zr4!Fd5K3zzd+ByQ6wBjuId-7=t&++u5ZziK7_E0SQb9=akqWVydeThjTzWVmWns~- zO|KmJ>O`}o{qe~G4Kp9`30P;UIZh0k>Tlz~=(rkqn{zbErA=y;_`;->Y$^Z>xmt#O zrop{{_TOFj;9^)iIQH$XX1DNb^O*F4JzB(G2Lj-emk@FEZEiOE4Lt+>%2^o;_<{~5 zu`7U0i@*bmf|3xNaxt0D<&g*$26q1xCj2>GA`&VT%1sIC_oS7uw_i$4K+jmrvCULk z0v)xLd@!FT*td;!Z8Wd{C z*UZNZ2D|&myUL1asWGrVw*u()2GKFnk`J~fOEz4(wAnM?FIY8grVTpU)h)YqxRUL= zFjc6b>Jqz>idnUT?(_`Ha+me|f>p7cX`kt5GfMuB^Ymj#FMPz}W7q0u(;xKqLM9Lq z{~k1xk$TSi$s-FUFltRMjp)^&=3f*$Y8{9Snn@m zRkgAuO6e*Xpg4By?ytS|=S=k4G_pKXscxmX&bxFKP$ukm=orhIeX=rSL;{P;Sr*64 zGT;rhJsM1>Y63$EyR9WD^xR^z_9lgZ*r~XG2nAj!&oehF8M92NRf&MbAw`2xp#uFAY; zuxO$)&V0R7~ri<$1WM^;ehG%3m=c;>&lD#dE)xBC+F z-5m)+!w%Qjw7bvux+3ag99MJg9#pr9ZGveXHkF(wBm?V9lP(xf8kA*p%CXWgefOt9qgLo6%{Nyl_Wq7SOl!=KR|qcMpKB3L zgVv9GSF_Hc6%7|CPd1~KfggYYD{tz(RaROS0%@=!fbYulOy6y6wOW;y2yt1StJLiO zSzGT>-!k`yjbdv|1?7z9qm$F}v(+zywd_pO%qjIuk|OcfAL}(ul|?SRmM;X|JtV zDDd&l7k9rLrMyU7rIY!KeC>+FKY>L^>A{EONSce3B|o~sk+32kraK+BQ?*=vO_A0+ zwlB#nib@`mA&7Kh171UdDy)htevwcFfg!*qQ5?dES%D4F@-f4|0LnudCuuNt&N zc_SRiVQ7-g|Lm#_uLusj3tRjB*KZMCJVY_mFEct66r_QNT{ew;0ATbPJaQ$e1~}zq!dzXZ1y?;--lsgAp;wJu8g-Q#RbKc9g72;UL8q*Cf#RUyU!EFY z_1KC{#1E3$sum-h^pS!21=9u-_+_05h-vRmAJT`N)Z+z)7>{vEFM51jtDJcgDBcmv@#br+xK z^N3;{5-(#>&;(en+!PWXi4Tc#Z5R$;-=?QSwbJ{#Ce*8F8OEB4i-1gV4*yS1lVQ}g zhTcIyV31TY)!fSQJch-|cJ#Jl&od4BVF6{CbIUWFkV~e2fw%1wcaF904%LqnT(SCb z)?KMo(Kkn@vSr;#OIk)&+_pV=+vJ8`Mw4L?Gx&l+fe$sL(bK&9^$Q2Lu)Veo90adI z-HtC@Tj{)4>mL;Y)P1>ZKhqG(C>ru)|F}H^aFRwa<)TW5J=wI@xMWDc39P2Rwe_Ky z^mc&2CMBLra9dG$8Xk$3J*ikYU&F*1)Y*7iBcu2+rf3QR70kRa`RfDMnh=lamu`iK z_oxE?)?tiZG?X1h0w`f%Yih|>;d4K09X}azy`Nm3q$1VB-O>(*-(p_U+Uo00)e9z& z?T@*+b!Ut$%monuw=yD8T;4nVM@Aqg=j(QHZ@0}i>mXkJ^>o)2y9M2;aIxelNvKVN z8*t0w!k1U!J33Me|pJiz)nI46ap_I=kz16|B$APp6J13D4v?$4fs6WPL7H9ct& z*7)b9X87~GAuQUPHU6L3ikdJa6bHy19DRa+nIyg8|7QM+1Z+u~V{KV|C;)&rm}QZ{ zdvWrfEfG!_lTT|uM#|cKVcS3aR+fY@AZQZ^jyW11xE7X`JqUwYB@O?9Ij}9OG9$6Z zS|ULIMTBrNkXW^h)r~$(U;%GcQX*IEkIY~@;Lxn+@w##_MBa5f)^#+-V&MOn=xDP& zW7i!uq~Bl1+z^zXRrJ25tqQd9HZMx}_fy%gyQ58Pv|vRzmjt? z5}#@fW84se`~Lm*X*}$AoT;au--l;N%KsC|4L0)OV|Yt}5`hwd65;K-TuXN@A7uh% z;!Vp$r7u$=HO>+!5!WRVKjzbKqaT)!dE4j8Tuz6b{>~4_lRO zU3-(ahLdlS+4yS=Y^=Ldt(WiKSq}Z?GpxtT##!!3uugi8&2H9f(|p*dXqo6&?!@ff zY>^f=+S-N{grylv8b?&gh{BDFe>pANZLY3&M*H+|)fu;?!MajBU>|oZ;pBbHOkbSA zHuu4O69?*>3Mf30fD;*{Z{UC^{4x3(eWL>PO(pd)le=;AR&b)F58Ob-Zk)UoT*N%7 z^NEBVz%G%wa#+M%*6Bke>Y%Q;4pcPQqJfHQM*-7ya%iC7!bg3tqD8%;f3As+#)8PJ zRkZeZhL6z_gI5Smd|zB}+lzoT5M^aY`{A;S<5LStEZ}4Wct%hXfj41a>nVr;d8O9( zh3R=#>uY#bm?ZB`E?s!hx#Z#osiy>(r-wx%MkS#>o!P zoZTzH(%HjQq0dQ0f~YACf6nibk7?n5&7ts~UxNyh*k8+S{}@49UMg+`-ER{}oB{(a z!Gm1y_;K9*V@kE|{Wa_LaiPpG%a|+fYOc0Nj@9VMbh>$#`676$4Oq9&mM%$ZIc$Ql z!NXRw_WWa+w<06V>=kzg#>a9JW{D0_-3?=0YAh!_ejLg~_;HPS^hc;7x*~Pg|T9Z}`lNQX4IB6k# z_QR*G^B{Z>J{hFAGz-MmtTidFIpC;mWjTq!5{tk=;Pe4UB5)8m+rasw9kbBKEA)F^ zev(RXl0wMzK!zh^e-JV|rl)jy+cp7CifaxyY^OqeuxBL#=dA#TB5)8m+ra7Fa*zbK z91t|m1dV8${17y67c|x8tmxZRc239OCrwGr>buf@ch+agqZ$&5+U;wlU6Q!o-B}3c zoUYdEbnzGSTeO-9&bCIZe`lR(-m^iiS-HKfJ2t5M!aq<6f6m6;Ashtlc{aB(CuGFM z&L>ka!*~5wKs1i-pDNPxQy4ZXdVWm1e>{!_>3widdkt1p?{7u-Z#5i6>gg+``jASM zbz&fKmj?t@y`yZC;r9N#FU&^_c~d!W|F}lYKg~WHQ5}8U%v#BzruN3lUbheOhZJIA zk6x2VaqAgze}O#hS{M07Mu+E#so9|1R8G)wal?(V}W%e@=iM>>a7u0N-t=7w#O*6EDst0L* zDZW#f57izuaxhmhQf=p`Bu1`6u0pOtt_sLijKrb1e~MPSL0TtBRY+AxRY+AK)hZcI ztMXJOC{h(t6;c&aRZy*p1kc_H=@&Cpzo+X5004;UIwx?Xxhk(w2waC!Xu<}RqWvcdCbf<-i<;4R zXw7Pce=_1fGSDx{?uWql>_gO$iqmGz;YjzOhtT37Vn|EsRfmVjjzVQoC?8VudR3uN z)lsM_3Z;W;Dw~CNfP6!_ZQNHP;KkESthF_e{5LA>SgkdGI_x#LyBb0B0EL}u78F8 z<^zi4tug5kNnT119L?W1(p(K3=t6qMrmKCuGS1)fQ~vBb>}pGNc)zDRZK$ ze@tEo$e?;Rg-&z`ohXEk52|NV>O_Zp2q$z@4yvbUmZ_TkD>?*5I2ojBP`#T%DB^+7 zD1=fEYDZHlMTb-hCzUiARPU~e74w&3MIly4?<%EBU6Iv%HKY{L6gAlvwGL^P)qFOz zs`ZDog{|u$)dV-_Ax&wMy!DV;Lph+Mf2;e-8F0`uo6;!7fzK?b$YjVfo6;&fq*Xd; zW$~ago6<_-4wXYX@lvoWLQnNPU8W+L0j`V6)jro?5<*BRD9TD zT0N$cj$(_sk?;YF3cHxuSxQo<((vp3m6Pqtb+kElqQ*$oW}fsE+ttRnl&wU&WsZ#- z)m2Q~oHlH5xt*m}6JS|tOnXXge~MPzAzCr7W>q)ENho|^RlAnnu_$?QP@zqLb}h)_ za+SvtIiS#{aK#-qlDM*w6l+|m`bMe=qb_j9g^eT`RAzGui#sNPxR}A>L1i}Q+PDj* z#q=eFE7L-tv&`n?r8@{v7n4;vNH&2|XPM2ZN_R-5E`YBb>{Zfdj%?0Tf4T$q+QB~N z`#V!NF|Ru?uSKC@@%`Y`O~mUC#A}CmQJ6LQi)`Xuci>$YD%+r1Hqov-(5?%GZBSn} z!LB>NuFE-MP?=4z>khE%V#Z*_j3Id+ike_gI>4TgVkRzBb5!m=7gJ@?pVpSyS!R2R>%dYX$_Vne1E`fzDzPh&dib#i8*&FoZ&!PRr z+FCTq?T{{e!|pVc%L-Jlt4Pf%-(>>RTP#TYpd%nwqJl~ zJ)wKWqQ%9mOWatYOLAF=1&{l>m$kLYE^%YUn#^i@b|0n}WvnG`UEUhBaMxhA`FpUy z+OpO)&lT<(f2`z8)@L)KtlhU=qEMBr}gZf6|?Y1d(EFbB7^ zwQd_!pI98$Hjr)&2#k~SOJf2r{nUL2}eAG7UsRV4?iu8i1Syp|la zgs)3mD||T0M+((VY}=1)34F_^gV8RvqHy9UA1Y~kB=@v)ccF!V6V^F7S%9<$tL1yq zwQWg@-Fvfq=p@IY{J2rRYPlSA$yK>)t7U)vS$%_qI4-KMPrATWY~OMaYzr>3v-Y%E ze>xXiu-aX^n<53s^EVglYFjkx-WSCAXV%K*T|Hmy?MkAGj@eyxT6e=B&aJ1;G+iBE zZpg+=_0(N8*^{+bv7MDK%_IgW^=3UYom)lFCZ%k>O49I^sohhjEI@nb_ zqa`0X$`xA+L{~g-&&gdf%4nrvsM2E6f1c`V8cs{M*j=J1&A_Bk&FGdoSnJpJ;fbzI z5mp*^gdSFIm!ExgUPOoi<+PP#M%$FyIaIprhl9GI1HFuv8-sdKv8~$6u5%KF9~+B@ z)wZ=h>6*+~;b0_&bwaInwKI+X%=1+?`aNAh4xRd$#yQ-0g6pg}fL%+1XHy0Uhm|`8eN?aI>o59KgM`ghs28GZ2u^_y*$xYJ2|%VjB68C zN$KpBsM6qF!RnXIW4hQ4M_z1w#U(Wj{h59ps14RXu@{= b?7zPMxVe2ym!{YLpZ_0^m|Be3178aO8N|N( delta 168313 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

    l4v}%$I0tf)vQz7{FfE9=uYYYJ<^X{DsE<0m= zn|BT9vJ+bBucrJM>(AK2ijEI+3}12j^;wQ>@d(#+{Lo&6_ccFq7yZERX?&3M2_ORX zd9fHA$LmUVkbO>X8=o(Q@d#YUi5)$>M6D0(NJDP^%RAdZWB{N;4K*Oc^)?vwOOk@_ z6E=VPgd@3oNY7H&2$P;K>+jMYXcCrvkpy@3vfsW@KhXmnI8RkJ(T2RL_xbcE$!+Y^ zZ_J;j0pqtQcACnXn_{vj)P5azo0#gfyLgUI>M$SI|3m^&UbLe-KVCy1zzU2ppy%gX z^qOMa*lGlcf zN2=*64>7<@u!CnZL(7|R^Af&u)5{x1F#ZYjSJYx43_qv4^6U!ufqgeDMjD)wdVasS zl<#4pk7;h>$GDk?%VW$Uh<}UF^CySGh{{vk8Dr{z!Any-wyj`#5pU-yqsCrnd#=#G z1b=$~T1WMUwM1@;AcGVxqP15$Ex$BgY#d^42oSI;Q$j7*sj!Hw?PoHO&(Q2oomEI} zv#xL!M_)3V$$oTtRZGv6&xWJ!&Xd_|7=7|3LK2Nr&8gNI8s<1DtjRT|t;_xf zmPbAp!~++1afMoO09{p7whB8-l@K6U!-aa=X~Zi&mMQTAuVS!E>+hWfTvTb{VFXY} z_LI`fOv+F(y$d!X8ubVMDR&OWxEoeZ3Ud)LV5FCM4$L)8Yo}koXuXNxLuMa86g^mY zE5zr0U6G=RXp4}Yh2x<(rKA@3m%%Sn!azYJ)1iK@I!Lgsee5`LorEb|Q1P@niBP+K zU9ais_$BtjP!>(1abyP6j>Vznb)Wz{E~TMBXTeYAY^8VW;I6px0`D0DLuCdz5}a-F z<%M?a6(n5i{XQw}2MA0#udKoBUli}2Cmfx?Sm3FZ&)34oPE`BD8U=^=N6td*V-1wmu2(i@) zd}7kf5oJT`vYn=j?riZPf-aZpYXND=vCC4VzQ##vPD&XTF1IQYH2oS~lDk$6`g(Yq zKG^D$HX;6mBVZ3vc3Xl|ElN^%Uxu&jGZKfq1Q_Qm=b_Q*nqub14^1eMq|G7E6zGjF zgwMA!N5TV5OLZ=7q?ka%a&;PL5j{v2Ln(}3`7riv)ER0uRHq9x9l%f4eX3T>1{*I4U1aq#o;%*+?rghJYA!Lv+lV842G)8rQ6DL9sI($ z_6EV%GQ2s>H%VLr_ywp(M@=~#W4)-nHMf8I$E(|)fDWl3nRrqHH$xRza`q-QNN4_u zlLU(~L+hG?#9Tw1R?skLtJr!+ECA9QMTva%iD$3|-PC!$jeCr6tQng_6a z@OJS${tPF2!+5f5vQKol#^t!i9?`-Q)%y*_%G<*C`_cx~^Pm$-`s48%eO7S@(GfKb z`5`NzT?RP3;G~mPA>@A>Jk-BdQhG{r|Lw=Bo)5>}X+3^qcZO3JbZ&SlKKo*PE4eB7 z!co+>F$E`GKW0Br9znA$)FYSVZnzf;S{nC%0DUzma-ShwIcAP=6Y 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%0A8?*T_lZ3h-bD0f?k{saMLLHgltR4*iZ9MIB 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