Fix some Mind ECS bugs (#17480)

This commit is contained in:
Leon Friedrich
2023-06-20 16:29:26 +12:00
committed by GitHub
parent 41244b74aa
commit 9fc4fc6ac2
18 changed files with 767 additions and 248 deletions

View File

@@ -175,9 +175,8 @@ namespace Content.Server.GameTicking
DebugTools.AssertNotNull(data);
data!.WipeMind();
var newMind = _mindSystem.CreateMind(data.UserId, character.Name);
_mindSystem.ChangeOwningPlayer(newMind, data.UserId);
var newMind = _mindSystem.CreateMind(data!.UserId, character.Name);
_mindSystem.SetUserId(newMind, data.UserId);
var jobPrototype = _prototypeManager.Index<JobPrototype>(jobId);
var job = new Job(newMind, jobPrototype);
@@ -244,7 +243,7 @@ namespace Content.Server.GameTicking
public void Respawn(IPlayerSession player)
{
player.ContentData()?.WipeMind();
_mindSystem.WipeMind(player);
_adminLogger.Add(LogType.Respawn, LogImpact.Medium, $"Player {player} was respawned.");
if (LobbyEnabled)
@@ -278,9 +277,8 @@ namespace Content.Server.GameTicking
DebugTools.AssertNotNull(data);
data!.WipeMind();
var newMind = _mindSystem.CreateMind(data.UserId);
_mindSystem.ChangeOwningPlayer(newMind, data.UserId);
var newMind = _mindSystem.CreateMind(data!.UserId);
_mindSystem.SetUserId(newMind, data.UserId);
_mindSystem.AddRole(newMind, new ObserverRole(newMind));
var mob = SpawnObserverMob();