FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.75k stars 407 forks source link

Salvaging an Artifact Removal Error #13417

Closed UnhappyWithMyUsername closed 9 months ago

UnhappyWithMyUsername commented 9 months ago

Disclaimers

What happened?

Doing a salvage artifact mission and decontructing the collected artifact before finishing the mission by ending the level will result in an "Attempted to remove an already removed item" error, but the mission still counts as completed and you will receive your money.

Reproduction steps

  1. Use a submarine with a deconstructor
  2. Get a salvage artifact mission
  3. Collect the mission related artifact
  4. Deconstruct the artifact
  5. Reach the level end and transition to the next level
  6. Error, but mission still completes.

Bug prevalence

Happens every time I play

Single player or multiplayer?

Single player

-

No response

Version

v1.2.8.0 (Winter Update hotfix 2)

-

No response

Which operating system did you encounter this bug on?

Windows

Relevant error messages and crash reports

Attempting to remove an already removed item (Faraday Alien Artifact)
   at System.Environment.get_StackTrace()
   at Barotrauma.Item.Remove() in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Items\Item.cs:line 4116
   at Barotrauma.SalvageMission.EndMissionSpecific(Boolean completed) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Events\Missions\SalvageMission.cs:line 467
   at Barotrauma.Mission.End() in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Events\Missions\Mission.cs:line 392
   at Barotrauma.GameSession.EndRound_Patch1(GameSession this, String endMessage, TransitionType transitionType, Nullable`1 traitorResults)
   at Barotrauma.SinglePlayerCampaign.DoLevelTransition(TransitionType transitionType, LevelData newLevel, Submarine leavingSub, Boolean mirror)+MoveNext() in <DEV>\Barotrauma\BarotraumaClient\ClientSource\GameSession\GameModes\SinglePlayerCampaign.cs:line 380
   at Barotrauma.CoroutineManager.PerformCoroutineStep(CoroutineHandle handle) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\CoroutineManager.cs:line 213
   at Barotrauma.CoroutineManager.IsDone(CoroutineHandle handle) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\CoroutineManager.cs:line 223
   at Barotrauma.CoroutineManager.Update(Boolean paused, Single deltaTime) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\CoroutineManager.cs:line 252
   at Barotrauma.GameMain.Update_Patch1(GameMain this, GameTime gameTime)
   at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime) in E:\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 651
   at Microsoft.Xna.Framework.Game.Tick() in E:\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 500
   at Microsoft.Xna.Framework.SdlGamePlatform.RunLoop() in E:\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\SDL\SDLGamePlatform.cs:line 93
   at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior) in E:\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 397
   at Microsoft.Xna.Framework.Game.Run() in E:\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 367
   at Barotrauma.Program.Main(String[] args) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Program.cs:line 58
Regalis11 commented 9 months ago

Duplicate of https://github.com/FakeFishGames/Barotrauma/issues/12991