From 621d0fbf4024f23e8e810360f233450dc8e573c1 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 17 Dec 2020 17:56:10 -0500 Subject: [PATCH] More fixes for PlayerChoice --- Source/Game/Globals/ObjectManager.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Source/Game/Globals/ObjectManager.cs b/Source/Game/Globals/ObjectManager.cs index 31c670909..a3c7d09c6 100644 --- a/Source/Game/Globals/ObjectManager.cs +++ b/Source/Game/Globals/ObjectManager.cs @@ -9267,7 +9267,8 @@ namespace Game } PlayerChoice choice = _playerChoices[choiceId]; - if (!choice.Responses.Any(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId)) + var response = choice.Responses.Find(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId); + if (response == null) { Log.outError(LogFilter.Sql, $"Table `playerchoice_response_reward` references non-existing ResponseId: {responseId} for ChoiceId {choiceId}, skipped"); continue; @@ -9302,7 +9303,7 @@ namespace Game reward.SkillPointCount = 0; } - choice.Responses[responseId].Reward.Set(reward); + response.Reward.Set(reward); ++rewardCount; } while (rewards.NextRow()); @@ -9333,7 +9334,7 @@ namespace Game continue; } - var response = choice.Responses.FirstOrDefault(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId); + var response = choice.Responses.Find(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId); if (response == null) { Log.outError(LogFilter.Sql, $"Table `playerchoice_response_reward_item` references non-existing ResponseId: {responseId} for ChoiceId {choiceId}, skipped"); @@ -9375,7 +9376,7 @@ namespace Game continue; } - var response = choice.Responses.FirstOrDefault(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId); + var response = choice.Responses.Find(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId); if (response == null) { Log.outError(LogFilter.Sql, $"Table `playerchoice_response_reward_currency` references non-existing ResponseId: {responseId} for ChoiceId {choiceId}, skipped"); @@ -9417,7 +9418,7 @@ namespace Game continue; } - var response = choice.Responses.FirstOrDefault(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId); + var response = choice.Responses.Find(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId); if (response == null) { Log.outError(LogFilter.Sql, $"Table `playerchoice_response_reward_faction` references non-existing ResponseId: {responseId} for ChoiceId {choiceId}, skipped"); @@ -9464,7 +9465,7 @@ namespace Game continue; } - var response = choice.Responses.Find(playerChoiceResponse => { return playerChoiceResponse.ResponseId == responseId; }); + var response = choice.Responses.Find(playerChoiceResponse => playerChoiceResponse.ResponseId == responseId); if (response == null) { Log.outError(LogFilter.Sql, $"Table `playerchoice_response_reward_item_choice` references non-existing ResponseId: {responseId} for ChoiceId {choiceId}, skipped");