Handle failing a quest while raiding as scav
This commit is contained in:
parent
fc52c308bd
commit
1abc7e3604
@ -208,7 +208,7 @@ export class InRaidHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Look for quests not are now status = fail that were not failed pre-raid and run the failQuest() function
|
* Look for quests with status = fail that were not failed pre-raid and run the failQuest() function
|
||||||
* @param sessionId Player id
|
* @param sessionId Player id
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param preRaidQuests Quests prior to starting raid
|
* @param preRaidQuests Quests prior to starting raid
|
||||||
|
@ -735,7 +735,7 @@ export class QuestHelper
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Give player quest rewards - Skills/exp/trader standing/items/assort unlocks - Returns reward items player earned
|
* Give player quest rewards - Skills/exp/trader standing/items/assort unlocks - Returns reward items player earned
|
||||||
* @param pmcData Player profile
|
* @param profileData Player profile (scav or pmc)
|
||||||
* @param questId questId of quest to get rewards for
|
* @param questId questId of quest to get rewards for
|
||||||
* @param state State of the quest to get rewards for
|
* @param state State of the quest to get rewards for
|
||||||
* @param sessionId Session id
|
* @param sessionId Session id
|
||||||
@ -743,14 +743,17 @@ export class QuestHelper
|
|||||||
* @returns Array of reward objects
|
* @returns Array of reward objects
|
||||||
*/
|
*/
|
||||||
public applyQuestReward(
|
public applyQuestReward(
|
||||||
pmcData: IPmcData,
|
profileData: IPmcData,
|
||||||
questId: string,
|
questId: string,
|
||||||
state: QuestStatus,
|
state: QuestStatus,
|
||||||
sessionId: string,
|
sessionId: string,
|
||||||
questResponse: IItemEventRouterResponse,
|
questResponse: IItemEventRouterResponse,
|
||||||
): Reward[]
|
): Reward[]
|
||||||
{
|
{
|
||||||
let questDetails = this.getQuestFromDb(questId, pmcData);
|
// Repeatable quest base data is always in PMCProfile, `profileData` may be scav profile
|
||||||
|
// TODO: consider moving repeatable quest data to profile-agnostic location
|
||||||
|
const pmcProfile = this.profileHelper.getPmcProfile(sessionId);
|
||||||
|
let questDetails = this.getQuestFromDb(questId, pmcProfile);
|
||||||
if (!questDetails)
|
if (!questDetails)
|
||||||
{
|
{
|
||||||
this.logger.warning(`Unable to find quest: ${questId} from db, unable to give quest rewards`);
|
this.logger.warning(`Unable to find quest: ${questId} from db, unable to give quest rewards`);
|
||||||
@ -759,7 +762,7 @@ export class QuestHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check for and apply intel center money bonus if it exists
|
// Check for and apply intel center money bonus if it exists
|
||||||
const questMoneyRewardBonus = this.getQuestMoneyRewardBonus(pmcData);
|
const questMoneyRewardBonus = this.getQuestMoneyRewardBonus(pmcProfile);
|
||||||
if (questMoneyRewardBonus > 0)
|
if (questMoneyRewardBonus > 0)
|
||||||
{
|
{
|
||||||
// Apply additional bonus from hideout skill
|
// Apply additional bonus from hideout skill
|
||||||
@ -774,7 +777,7 @@ export class QuestHelper
|
|||||||
{
|
{
|
||||||
case QuestRewardType.SKILL:
|
case QuestRewardType.SKILL:
|
||||||
this.profileHelper.addSkillPointsToPlayer(
|
this.profileHelper.addSkillPointsToPlayer(
|
||||||
pmcData,
|
profileData,
|
||||||
reward.target as SkillTypes,
|
reward.target as SkillTypes,
|
||||||
Number(reward.value),
|
Number(reward.value),
|
||||||
);
|
);
|
||||||
@ -799,7 +802,7 @@ export class QuestHelper
|
|||||||
break;
|
break;
|
||||||
case QuestRewardType.PRODUCTIONS_SCHEME:
|
case QuestRewardType.PRODUCTIONS_SCHEME:
|
||||||
this.findAndAddHideoutProductionIdToProfile(
|
this.findAndAddHideoutProductionIdToProfile(
|
||||||
pmcData,
|
pmcProfile,
|
||||||
reward,
|
reward,
|
||||||
questDetails,
|
questDetails,
|
||||||
sessionId,
|
sessionId,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user