Commit Graph

66 Commits

Author SHA1 Message Date
Eero 45312af297 WIP Make static collections thread-safe using ThreadStatic and ThreadLocal
Refactored various static and instance collections to use [ThreadStatic], ThreadLocal, or local variables to prevent concurrent modification issues during parallel updates. This affects status effect targets, affliction lists, damage modifiers, and cached data in Character, CharacterHealth, Limb, Explosion, Hull, Submarine, and ToolBox classes. Also replaced Dictionary caches with ConcurrentDictionary where appropriate for thread safety.
2025-12-28 14:14:53 +08:00
Markus Isberg 598966f200 Release 1.11.4.1 (Winter Update) 2025-12-08 14:56:47 +00:00
Regalis11 7e25111487 Release 1.10.7.2 - Autumn Update 2025 Hotfix 4 2025-10-22 14:54:03 +03:00
Regalis11 caa0326cf8 Release 1.10.5.0 - Autumn Update 2025 2025-09-17 13:44:21 +03:00
Regalis11 ea5a2bc693 Release 1.9.7.0 - Summer Update 2025 2025-06-17 16:38:11 +03:00
Markus Isberg a4a3427e4e Unstable 1.8.4.0 2025-03-12 12:56:27 +00:00
Regalis11 230d1b6e78 v1.5.7.0 (Summer Update) 2024-06-18 16:50:02 +03:00
Regalis11 ff1b8951a7 v1.4.4.1 (Blood in the Water Update) 2024-04-24 18:09:05 +03:00
Regalis11 3791670c42 v1.3.0.1 (Epic Store release) 2024-03-28 18:34:33 +02:00
Regalis11 b91e85559d v1.2.6.0 (Winter Update) 2023-12-14 16:11:27 +02:00
Markus Isberg 6cc82976a1 Hotfix 1.1.18.1 2023-10-20 18:05:28 +03:00
Markus Isberg cf8f0de659 Unstable 1.1.14.0 2023-10-02 16:43:54 +03:00
itchyOwl 83de72e3d2 v1.0.20.1 (summer patch) 2023-06-15 16:46:54 +03:00
Regalis11 ee1db852b1 v1.0.13.1 (first post-1.0 patch) 2023-05-10 15:07:17 +03:00
Regalis11 2d9c153101 v1.0.7.0 Full Release 2023-03-13 19:35:34 +02:00
Regalis11 b5ecaf0194 Merge branch 'faction-test'
# Conflicts:
#	Barotrauma/BarotraumaClient/ClientSource/Characters/Character.cs
#	Barotrauma/BarotraumaClient/ClientSource/Characters/CharacterHUD.cs
#	Barotrauma/BarotraumaClient/ClientSource/Characters/Health/CharacterHealth.cs
#	Barotrauma/BarotraumaClient/ClientSource/Characters/Limb.cs
#	Barotrauma/BarotraumaClient/ClientSource/DebugConsole.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/HUDLayoutSettings.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/MedicalClinicUI.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/Store.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/TalentMenu.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/UpgradeStore.cs
#	Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/CampaignMode.cs
#	Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/SinglePlayerCampaign.cs
#	Barotrauma/BarotraumaClient/ClientSource/Items/Components/ItemContainer.cs
#	Barotrauma/BarotraumaClient/ClientSource/Items/Components/LightComponent.cs
#	Barotrauma/BarotraumaClient/ClientSource/Items/Components/Machines/Fabricator.cs
#	Barotrauma/BarotraumaClient/ClientSource/Items/ItemPrefab.cs
#	Barotrauma/BarotraumaClient/ClientSource/Map/Map/Map.cs
#	Barotrauma/BarotraumaClient/ClientSource/Networking/GameClient.cs
#	Barotrauma/BarotraumaClient/ClientSource/Networking/ServerSettings.cs
#	Barotrauma/BarotraumaClient/ClientSource/Particles/ParticleEmitter.cs
#	Barotrauma/BarotraumaClient/ClientSource/Screens/CampaignSetupUI/CampaignSetupUI.cs
#	Barotrauma/BarotraumaClient/ClientSource/Screens/CharacterEditor/CharacterEditorScreen.cs
#	Barotrauma/BarotraumaClient/ClientSource/Screens/MainMenuScreen.cs
#	Barotrauma/BarotraumaClient/ClientSource/Screens/NetLobbyScreen.cs
#	Barotrauma/BarotraumaClient/ClientSource/Screens/SubEditorScreen.cs
#	Barotrauma/BarotraumaClient/ClientSource/Screens/TestScreen.cs
#	Barotrauma/BarotraumaClient/LinuxClient.csproj
#	Barotrauma/BarotraumaClient/MacClient.csproj
#	Barotrauma/BarotraumaClient/WindowsClient.csproj
#	Barotrauma/BarotraumaServer/LinuxServer.csproj
#	Barotrauma/BarotraumaServer/MacServer.csproj
#	Barotrauma/BarotraumaServer/ServerSource/DebugConsole.cs
#	Barotrauma/BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs
#	Barotrauma/BarotraumaServer/ServerSource/GameSession/MedicalClinic.cs
#	Barotrauma/BarotraumaServer/ServerSource/Networking/GameServer.cs
#	Barotrauma/BarotraumaServer/WindowsServer.csproj
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/EnemyAIController.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/HumanAIController.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveFightIntruders.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveFindSafety.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveGoTo.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveRescueAll.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/HumanoidAnimController.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Attack.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Character.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/CharacterInfo.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/Affliction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionPrefab.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Health/CharacterHealth.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Limb.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/Abilities/AbilityConditionals/AbilityConditionData/AbilityConditionMission.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/Abilities/AbilityConditionals/AbilityConditionDataless/AbilityConditionHasPermanentStat.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/Abilities/CustomAbilities/CharacterAbilityUnlockApprenticeshipTalentTree.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/TalentTree.cs
#	Barotrauma/BarotraumaShared/SharedSource/DebugConsole.cs
#	Barotrauma/BarotraumaShared/SharedSource/Enums.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/NPCChangeTeamAction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/SpawnAction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/TagAction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventManager.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/Missions/AbandonedOutpostMission.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/Missions/Mission.cs
#	Barotrauma/BarotraumaShared/SharedSource/Extensions/IEnumerableExtensions.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/Data/Factions.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/Data/Reputation.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/GameModes/CampaignMode.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/GameSession.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/MedicalClinic.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Door.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/Holdable.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/RangedWeapon.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/Throwable.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/ItemComponent.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/ItemContainer.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Projectile.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Repairable.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Signal/LightComponent.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Turret.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Item.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/ItemPrefab.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/RelatedItem.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Explosion.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Levels/Biome.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Levels/Level.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Levels/LevelData.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Map/Location.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Map/LocationType.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Map/Map.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Outposts/OutpostGenerationParams.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Outposts/OutpostGenerator.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/PriceInfo.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Submarine.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/SubmarineInfo.cs
#	Barotrauma/BarotraumaShared/SharedSource/Prefabs/PrefabCollection.cs
#	Barotrauma/BarotraumaShared/SharedSource/StatusEffects/StatusEffect.cs
#	Barotrauma/BarotraumaShared/SharedSource/Steam/Workshop.cs
#	Barotrauma/BarotraumaShared/SharedSource/SteamAchievementManager.cs
#	Barotrauma/BarotraumaShared/SharedSource/Upgrades/UpgradePrefab.cs
#	Barotrauma/BarotraumaShared/SharedSource/Utils/Option/Option.cs
#	Barotrauma/BarotraumaShared/SharedSource/Utils/SerializableDateTime.cs
#	Barotrauma/BarotraumaShared/changelog.txt
#	Barotrauma/BarotraumaTest/SerializableDateTimeTests.cs
2023-03-13 18:26:50 +02:00
Regalis11 2c5a7923b0 Faction Test v1.0.1.0 2023-02-16 15:01:28 +02:00
Regalis11 cf9ecd35b3 Build 0.21.6.0 (1.0 pre-patch) 2023-01-31 18:08:26 +02:00
Markus Isberg caa5a2f762 Faction Test 100.13.0.0 2023-01-11 15:36:23 +02:00
Regalis11 b8fa677148 Build 0.20.16.1 2022-12-20 17:05:53 +02:00
Markus Isberg df805574c4 Build 0.20.8.0 2022-11-25 19:56:30 +02:00
Markus Isberg 0057f5bfce Faction Test 100.6.0.0 2022-11-25 19:55:45 +02:00
Markus Isberg c44fb0ad3a Faction Test 100.5.0.0 2022-11-18 18:32:04 +02:00
Markus Isberg ecb6d40b4b Build 0.20.7.0 2022-11-18 18:13:38 +02:00
Markus Isberg c772b61fc1 Faction Test 100.4.0.0 2022-11-14 18:28:28 +02:00
Markus Isberg 54712b5dc9 Build 0.20.4.0 2022-11-11 17:57:23 +02:00
Juan Pablo Arce 1fd2a51bbb Unstable v0.19.5.0 2022-09-14 12:48:12 -03:00
Juan Pablo Arce 3f2c843247 Unstable v0.19.3.0 2022-09-02 15:10:56 -03:00
Juan Pablo Arce 1219615d64 Unstable v0.19.1.0 2022-08-19 13:59:08 -03:00
Markus Isberg 856f894203 Build 0.18.9.0 2022-06-14 04:14:47 +09:00
Markus Isberg 4f5a3bf8b9 Build 0.18.7.0 2022-06-08 21:52:38 +09:00
Markus Isberg 64db1a6a44 Build 0.18.4.0 2022-05-31 23:13:05 +09:00
Markus Isberg 077917fa5d Build 0.18.2.0 2022-05-19 23:43:21 +09:00
Markus Isberg 7547a9b78a Build 0.18.0.0 2022-05-13 00:55:52 +09:00
Markus Isberg cfe0d6cbc3 Unstable 0.17.10.0 2022-04-14 23:50:49 +09:00
Markus Isberg 72328c29cb Unstable 0.17.9.0 2022-04-12 03:39:02 +09:00
Markus Isberg 164d72ae3a Unstable 0.17.7.0 2022-04-08 00:34:17 +09:00
Markus Isberg 44ded0225a Unstable 0.17.5.0 2022-03-30 01:20:59 +09:00
Markus Isberg c1b8e5a341 Unstable 0.17.4.0 2022-03-30 00:08:09 +09:00
Markus Isberg 2968e23ae8 Unstable 0.17.2.0 2022-03-30 00:06:59 +09:00
Juan Pablo Arce 4206f6db42 Unstable 0.17.3.0 2022-03-22 14:44:56 -03:00
Markus Isberg cefac171f5 Unstable 0.17.2.0 2022-03-18 04:20:02 +09:00
Markus Isberg 6d410cc1b7 Unstable 0.17.1.0 2022-03-17 01:25:04 +09:00
Markus Isberg 3974067915 Unstable 0.17.0.0 2022-02-26 02:43:01 +09:00
Markus Isberg b259af5911 Unstable 0.16.1.0 2022-01-27 00:30:32 +09:00
Markus Isberg 7d6421a548 Unstable 0.16.0.0 2022-01-14 01:28:24 +09:00
Markus Isberg a864a98d4f Unstable 0.15.22.0 2021-12-17 00:19:56 +09:00
Juan Pablo Arce 617d9ede88 Unstable v0.15.17.0 (Hex is out of town edition) 2021-12-03 13:31:10 -03:00
Markus Isberg 80f39cd2a3 Unstable 0.15.15.0 (and the one before it I forgor) 2021-11-18 21:34:30 +09:00
Joonas Rikkonen 234fb6bc06 Release v0.15.12.0 2021-10-27 18:50:57 +03:00