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.73k stars 402 forks source link

Health interface shows the original face and occupation of a disguised character #4068

Closed EdusFF closed 3 years ago

EdusFF commented 3 years ago

image.png

EdusFF commented 3 years ago

Fixed in: https://github.com/Regalis11/Barotrauma-development/commit/e02f54142fdc8aec0b67ffc9475ab5d9b31d6c2b Icon will be updated later once art has time

Rokvach commented 3 years ago

Tested in bugfixes branch using a Release build Tested in multiplayer campaign

I was able to crash the game by equipping a outpost NPC's ID card while being disguised

Repro steps:

  1. Wear a clown mask
  2. Control a outpost NPC and place their ID card to a cabinet or drop to the floor
  3. Control your original character and equip the ID card

Note: I also killed the NPC before equipping the ID card

Barotrauma Client crash report (generated on 23.10.2020 12:56:39)

Barotrauma seems to have crashed. Sorry for the inconvenience! 

1F94EE1C74907FE2A9BF24BD807647D9

Game version 0.10.6.2 (ReleaseWindows, branch feature/bugfixes, revision 8f70665a59)
Graphics mode: 2560x1440 (BorderlessWindowed)
VSync OFF
Language: English
Selected content packages: Vanilla 0.9
Level seed: St. May
Loaded submarine: Dugong (1E66635D95EBEFF5C4237C396878A761)
Selected screen: Barotrauma.GameScreen
SteamManager initialized
Client (Round had started)

System info:
    Operating system: Microsoft Windows NT 10.0.18363.0 64 bit
    GPU name: NVIDIA GeForce GTX 980 Ti
    Display mode: {Width:2560 Height:1440 Format:Color AspectRatio:1,7777778}
    GPU status: Normal

Exception: Sequence contains no matching element (System.InvalidOperationException)
Target site: Void ThrowNoMatchException()
Stack trace: 
   at System.Linq.ThrowHelper.ThrowNoMatchException()
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
   at Barotrauma.CharacterInfo.GetDisguisedSprites(IdCard idCard) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Characters\CharacterInfo.cs:line 194
   at Barotrauma.CharacterInfo.CheckDisguiseStatus(Boolean handleBuff, IdCard idCard) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Characters\CharacterInfo.cs:line 273
   at Barotrauma.Items.Components.IdCard.Equip(Character character) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Items\Components\Holdable\IdCard.cs:line 18
   at Barotrauma.Item.Equip(Character character) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Items\Item.cs:line 2233
   at Barotrauma.CharacterInventory.TryPutItem(Item item, Character user, List`1 allowedSlots, Boolean createNetworkEvent) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Items\CharacterInventory.cs:line 246
   at Barotrauma.CharacterInventory.TryPutItem(Item item, Int32 index, Boolean allowSwapping, Boolean allowCombine, Character user, Boolean createNetworkEvent) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Items\CharacterInventory.cs:line 285
   at Barotrauma.Inventory.UpdateDragging() in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Items\Inventory.cs:line 1089
   at Barotrauma.CharacterHUD.Update(Single deltaTime, Character character, Camera cam) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Characters\CharacterHUD.cs:line 158
   at Barotrauma.Character.UpdateControlled(Single deltaTime, Camera cam) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Characters\Character.cs:line 338
   at Barotrauma.Character.Update(Single deltaTime, Camera cam) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Characters\Character.cs:line 2431
   at Barotrauma.Character.UpdateAll(Single deltaTime, Camera cam) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Characters\Character.cs:line 2314
   at Barotrauma.GameScreen.Update(Double deltaTime) in <DEV>\Barotrauma\BarotraumaShared\SharedSource\Screens\GameScreen.cs:line 179
   at Barotrauma.GameMain.Update(GameTime gameTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\GameMain.cs:line 921
   at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime) in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 656
   at Microsoft.Xna.Framework.Game.Tick() in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 504
   at Microsoft.Xna.Framework.SdlGamePlatform.RunLoop() in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\SDL\SDLGamePlatform.cs:line 94
   at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior) in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 398
   at Microsoft.Xna.Framework.Game.Run() in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 368
   at Barotrauma.Program.Main(String[] args) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Program.cs:line 59

Last debug messages:
[23.10.2020 12:56:32] Server command: kill "Edison Ramos"
[23.10.2020 12:56:32] kill "Edison Ramos"
[23.10.2020 12:56:29] Rokvach
[23.10.2020 12:56:28] Server command: control Rokvach
[23.10.2020 12:56:28] control Rokvach
[23.10.2020 12:56:20] Edison Ramos
[23.10.2020 12:56:20] Server command: control "Edison Ramos"
[23.10.2020 12:56:20] control "Edison Ramos"
[23.10.2020 12:56:20] Rokvach
[23.10.2020 12:56:20] Server command: control Rokvach
[23.10.2020 12:56:20] control Rokvach
[23.10.2020 12:56:11] Rokvach
[23.10.2020 12:56:11] Server command: control Rokvach
[23.10.2020 12:56:11] control Rokvach
[23.10.2020 12:55:32] Edison Ramos
[23.10.2020 12:55:32] Server command: control "Edison Ramos"
[23.10.2020 12:55:32] control "Edison Ramos"
[23.10.2020 12:54:51] Server command: spawnitem "Clown Mask" inventory
[23.10.2020 12:54:51] spawnitem "Clown Mask" inventory
[23.10.2020 12:43:02] Rokvach
[23.10.2020 12:43:01] Task count: 0
[23.10.2020 12:42:59] Generating an outpost for the start of the level... (Location: St. May, level type: Outpost)
[23.10.2020 12:42:50] Rokvach
[23.10.2020 12:42:37] Server command: teleportsub end
[23.10.2020 12:42:37] teleportsub end
[23.10.2020 12:42:35] Server command: enablecheats
[23.10.2020 12:42:35] enablecheats
[23.10.2020 12:42:08] Rokvach
[23.10.2020 12:42:07] Task count: 0
[23.10.2020 12:42:05] Generating an outpost for the end of the level... (Location: St. May, level type: LocationConnection)
[23.10.2020 12:41:55] Rokvach
[23.10.2020 12:41:55] WARNING: Could not determine reputation change for faction "Children of the Honkmother" (faction was not present at the start of the round).
[23.10.2020 12:41:55] WARNING: Could not determine reputation change for faction "The Church of Husk" (faction was not present at the start of the round).
[23.10.2020 12:41:55] WARNING: Could not determine reputation change for faction "Jovian Separatists" (faction was not present at the start of the round).
[23.10.2020 12:41:55] WARNING: Could not determine reputation change for faction "Europa Coalition" (faction was not present at the start of the round).
[23.10.2020 12:41:11] Rokvach
[23.10.2020 12:41:09] Task count: 0
[23.10.2020 12:41:06] Generating an outpost for the end of the level... (Location: The city of Seosu, level type: LocationConnection)
[23.10.2020 12:40:44] Lobby created!
[23.10.2020 12:40:39] (Msg) RelayNetWorkStatus:  avail=OK  config=OK  anyrelay=OK   (OK)
[23.10.2020 12:40:39] (Msg) Ping location: sto2=13+1,sto=14+1/13+1,fra=39+3/32+1,ams=38+3/33+1,waw=44+4/33+1,lux=45+4/35+1,lhr=45+4/37+1,par=50+5/41+1,vie=50+5/45+1,iad=129+12/118+1,sgp=196+19/197+19,gru=252+25/261+1
[23.10.2020 12:40:39] (Msg) Ping measurement completed
[23.10.2020 12:40:37] (Debug) Destroying relay 'sof#5 (139.45.193.10:27019)' because initial_ping_timeout
[23.10.2020 12:40:35] (Debug) Destroying relay 'sof#3 (139.45.193.10:27017)' because initial_ping_timeout
[23.10.2020 12:40:32] (Debug) Destroying relay 'sof#1 (139.45.193.10:27015)' because initial_ping_timeout
[23.10.2020 12:40:29] (Debug) Destroying relay 'sof#2 (139.45.193.10:27016)' because initial_ping_timeout
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'syd' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'tyo1' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'tyo' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'sgp' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'sea' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'scl' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'lim' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'maa' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'hkg' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'lax' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'okc' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'gru' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'vie' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'waw' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'ord' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'jnb' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'sto2' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'sto' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'eat' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'mad' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'bom' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'dxb' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'par' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'lux' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'lhr' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'atl' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'iad' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'fra' established.
[23.10.2020 12:40:27] (Verbose) Communications with routing cluster 'ams' established.
[23.10.2020 12:40:27] (Msg) RelayNetWorkStatus:  avail=Attempting  config=OK  anyrelay=Attempting   (Performing ping measurement)
[23.10.2020 12:40:27] (Msg) Performing ping measurement
[23.10.2020 12:40:27] (Msg) Got SDR network config.  Loaded revision 283 OK
[23.10.2020 12:40:26] (Warning) SDR network config fetch first attempt failed.  HTTP 504.  .  Trying again.
[23.10.2020 12:40:19] Attempting to open ALC device "OpenAL Soft on Kaiuttimet (Realtek High Definition Audio)"
[23.10.2020 12:40:18] Loaded languages: English, German, French, Russian, Polish, Brazilian Portuguese, Castilian Spanish, Latinamerican Spanish, Simplified Chinese, Traditional Chinese, Japanese, Turkish, Korean
[23.10.2020 12:40:18] Loaded languages: English, German, French, Russian, Polish, Brazilian Portuguese, Castilian Spanish, Latinamerican Spanish, Simplified Chinese, Traditional Chinese, Japanese, Turkish, Korean
EdusFF commented 3 years ago

Fixed outpost NPC idcard tagging in: https://github.com/Regalis11/Barotrauma-development/commit/971b64092f80edbbc94ce468e2c5da8ed17444bf

Rokvach commented 3 years ago

Tested, working correctly. Closing.