Added implementation of adjusting hideout area level via mails profileChangeEvents
property
This commit is contained in:
parent
173a726f33
commit
e0eaadbeef
@ -33,6 +33,7 @@ import { ISetFavoriteItems } from "@spt/models/eft/inventory/ISetFavoriteItems";
|
|||||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { BackendErrorCodes } from "@spt/models/enums/BackendErrorCodes";
|
import { BackendErrorCodes } from "@spt/models/enums/BackendErrorCodes";
|
||||||
|
import { HideoutAreas } from "@spt/models/enums/HideoutAreas";
|
||||||
import { SkillTypes } from "@spt/models/enums/SkillTypes";
|
import { SkillTypes } from "@spt/models/enums/SkillTypes";
|
||||||
import { Traders } from "@spt/models/enums/Traders";
|
import { Traders } from "@spt/models/enums/Traders";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -1001,11 +1002,13 @@ export class InventoryController
|
|||||||
fullProfile,
|
fullProfile,
|
||||||
);
|
);
|
||||||
this.logger.success(`Flagged ${itemsToInspect.length} items as examined`);
|
this.logger.success(`Flagged ${itemsToInspect.length} items as examined`);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "UnlockTrader":
|
case "UnlockTrader":
|
||||||
pmcData.TradersInfo[mailEvent.entity].unlocked = true;
|
pmcData.TradersInfo[mailEvent.entity].unlocked = true;
|
||||||
this.logger.success(`Trader ${mailEvent.entity} Unlocked`);
|
this.logger.success(`Trader ${mailEvent.entity} Unlocked`);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "AssortmentUnlockRule":
|
case "AssortmentUnlockRule":
|
||||||
if (!fullProfile.spt.blacklistedItemTpls)
|
if (!fullProfile.spt.blacklistedItemTpls)
|
||||||
@ -1014,9 +1017,25 @@ export class InventoryController
|
|||||||
}
|
}
|
||||||
fullProfile.spt.blacklistedItemTpls.push(mailEvent.entity);
|
fullProfile.spt.blacklistedItemTpls.push(mailEvent.entity);
|
||||||
this.logger.success(`Item ${mailEvent.entity} is now blacklisted`);
|
this.logger.success(`Item ${mailEvent.entity} is now blacklisted`);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case "HideoutAreaLevel":
|
||||||
|
const areaName = mailEvent.entity;
|
||||||
|
const newValue = mailEvent.value;
|
||||||
|
const hideoutAreaCode = HideoutAreas[areaName.toUpperCase()];
|
||||||
|
if (hideoutAreaCode !== undefined)
|
||||||
|
{
|
||||||
|
const desiredArea = pmcData.Hideout.Areas.find((area) => area.type === hideoutAreaCode);
|
||||||
|
if (desiredArea)
|
||||||
|
{
|
||||||
|
desiredArea.level = newValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
this.logger.warning(`Unhandled profile reward event: ${mailEvent.Type}`);
|
this.logger.warning(`Unhandled profile reward event: ${mailEvent.Type}`);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,4 +48,5 @@ export enum ProfileChangeEventType
|
|||||||
EXAMINE_ALL_ITEMS = "ExamineAllItems",
|
EXAMINE_ALL_ITEMS = "ExamineAllItems",
|
||||||
UNLOCK_TRADER = "UnlockTrader",
|
UNLOCK_TRADER = "UnlockTrader",
|
||||||
ASSORT_UNLOCK_RULE = "AssortmentUnlockRule",
|
ASSORT_UNLOCK_RULE = "AssortmentUnlockRule",
|
||||||
|
HIDEOUT_AREA_LEVEL = "HideoutAreaLevel",
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user