stackcollision / Nebulous-BugReporting

Issue-only repository for reporting bugs in NEBULOUS: Fleet Command
4 stars 0 forks source link

Game 26 - No Retreat Phase for Losing Team #655

Closed Dargaribdus closed 1 day ago

Dargaribdus commented 3 months ago

Describe the bug Battle ended early. enemy team did not get RETREAT phase, and a sprinter was deleted from existence after a cap victory

GameManager::UnregisterPlayer: Unregistering ID for player 25
Removing player Raw
GameManager::UnregisterPlayer: Unregistering ID for player 5
Removing player SirPoopit
GameManager::UnregisterPlayer: Unregistering ID for player 22
Removing player Hardly
NullReferenceException: Object reference not set to an instance of an object
  at Game.Map.VisibleObject.get__localPlayerTeam () [0x00014] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibleObject.cs:84 
  at Game.Map.VisibleObject.UpdateVisibilityInternal (System.Boolean force) [0x00008] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibleObject.cs:251 
  at Game.Map.VisibleObject.SyncTeamMaskChanged (System.Int32 prev, System.Int32 current) [0x00001] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibleObject.cs:244 
  at Game.Map.VisibleObject.set_Network_visibleTeamMask (System.Int32 value) [0x0005f] in <4c40d88fda5a4b38b325c465620584c0>:0 
  at Game.Map.VisibleObject.SetVisibilityMask (System.Int32 mask) [0x00008] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibleObject.cs:175 
  at Game.Map.VisibleObject.UpdateVisibility () [0x0002c] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibleObject.cs:162 
  at Game.Map.VisibilityCell.RemoveObserver (Game.Map.VisibilityCell observer) [0x00059] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibilityCell.cs:256 
  at Game.Map.VisibilityCell.LoseEyes (Game.Map.IVisibilityObject vobj) [0x00120] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibilityCell.cs:174 
  at Game.Map.VisibilityCell.RemoveObject (Game.Map.IVisibilityObject vobj) [0x0003f] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibilityCell.cs:93 
  at Game.Map.VisibleObject.OnDisable () [0x0001a] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Map\VisibleObject.cs:137 

(Filename: D:/Projects/Unity/Nebulous Conquest/Assets/Source/Game/Map/VisibleObject.cs Line: 84)

NullReferenceException
  at (wrapper managed-to-native) UnityEngine.Component.get_gameObject(UnityEngine.Component)
  at Game.UI.Chessboard.HeightIndicator.SetActive (System.Boolean active) [0x00008] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\UI\Chessboard\HeightIndicator.cs:42 
  at Game.UI.Chessboard.Lollipop.UpdateVisibility () [0x00001] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\UI\Chessboard\Lollipop.cs:77 
  at (wrapper delegate-invoke) <Module>.invoke_void()
  at Game.Sensors.NetworkedSensorTrack.HandleTrackingModeChanged () [0x00094] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Sensors\NetworkedSensorTrack.cs:576 
  at Game.Sensors.SensorTrack.UpdateMode () [0x0013b] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Sensors\SensorTrack.cs:542 
  at Game.Sensors.SensorTrack.ReleaseLock (Game.Sensors.ISensor sensor) [0x0001e] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Sensors\SensorTrack.cs:370 
  at Ships.FireControlSensor.HandleContextChanged (Game.Sensors.SensorContext context) [0x0001d] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Ships\FireControlSensor.cs:170 
  at (wrapper delegate-invoke) System.Action`1[Game.Sensors.SensorContext].invoke_void_T(Game.Sensors.SensorContext)
  at Game.Sensors.SensorHost.Game.Sensors.ISensorProvider.SetContext (Game.Sensors.SensorContext context) [0x00008] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Sensors\SensorHost.cs:110 
  at Game.Sensors.SensorContextManager.RpcDestroyContext (Mirror.NetworkIdentity providerId) [0x00033] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Sensors\SensorContextManager.cs:370 
  at Game.Sensors.SensorContextManager.DestroyContext (Game.Sensors.ISensorProvider owner) [0x00014] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Sensors\SensorContextManager.cs:358 
  at Game.Sensors.SensorHost.OnDestroy () [0x00027] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Game\Sensors\SensorHost.cs:55 

Expected behavior Losing team should get their intended retreat phase

Attachments Attach any screenshots, logs, fleet files, etc that may help. Game 26 Before Execution.zip Game 26 Post Battle.zip

Dargaribdus commented 3 months ago

After another match of this happening in game 29, it seems as though players do not get a retreat phrase if they had already started withdrawing vessels and the opposing force reaches the maximum point value and "wins" the match.

Dargaribdus commented 3 months ago

We did some further testing on this subject and it is not a host issue, nor can we concretely nail down what the trigger is for the autoretreat ending. It seems like when the losing team has a low BPV of ships they get handed a fail state by the game, but that's mostly speculation.

battle leave log weirdnes.txt