Some npc characters can have more than a single word in their name

This commit is contained in:
RisaDev
2024-10-18 23:47:59 +03:00
parent 90bd5fa4df
commit 3ff5806322

View File

@@ -99,9 +99,8 @@ public partial class ProfileManager : IDisposable
return profile; return profile;
var nameWordsCnt = characterName.Split(' ').Length; var nameWordsCnt = characterName.Split(' ').Length;
if (nameWordsCnt == 2)
profile.Character = _actorManager.CreatePlayer(ByteString.FromStringUnsafe(characterName, false), WorldId.AnyWorld); if (_reverseNameDicts.TryGetID(ObjectKind.EventNpc, characterName, out var id))
else if (_reverseNameDicts.TryGetID(ObjectKind.EventNpc, characterName, out var id))
profile.Character = _actorManager.CreateNpc(ObjectKind.EventNpc, new NpcId(id)); profile.Character = _actorManager.CreateNpc(ObjectKind.EventNpc, new NpcId(id));
else if (_reverseNameDicts.TryGetID(ObjectKind.BattleNpc, characterName, out id)) else if (_reverseNameDicts.TryGetID(ObjectKind.BattleNpc, characterName, out id))
profile.Character = _actorManager.CreateNpc(ObjectKind.BattleNpc, new NpcId(id)); profile.Character = _actorManager.CreateNpc(ObjectKind.BattleNpc, new NpcId(id));
@@ -115,6 +114,8 @@ public partial class ProfileManager : IDisposable
var currentPlayer = _actorManager.GetCurrentPlayer(); var currentPlayer = _actorManager.GetCurrentPlayer();
profile.Character = _actorManager.CreateOwned(currentPlayer.PlayerName, currentPlayer.HomeWorld, ObjectKind.Companion, new NpcId(id)); profile.Character = _actorManager.CreateOwned(currentPlayer.PlayerName, currentPlayer.HomeWorld, ObjectKind.Companion, new NpcId(id));
} }
else if (nameWordsCnt == 2)
profile.Character = _actorManager.CreatePlayer(ByteString.FromStringUnsafe(characterName, false), WorldId.AnyWorld);
else else
{ {
_logger.Warning($"Unable to automatically migrate \"{profile.Name}\" to V5, unknown character name: {characterName}"); _logger.Warning($"Unable to automatically migrate \"{profile.Name}\" to V5, unknown character name: {characterName}");