ClearVision/types/helpers/RagfairServerHelper.d.ts

90 lines
3.8 KiB
TypeScript
Raw Normal View History

2022-07-09 16:03:26 -04:00
import { Item } from "../models/eft/common/tables/IItem";
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
import { MemberCategory } from "../models/enums/MemberCategory";
import { IQuestConfig } from "../models/spt/config/IQuestConfig";
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
2022-10-06 23:29:01 -04:00
import { ItemFilterService } from "../services/ItemFilterService";
2022-07-09 16:03:26 -04:00
import { LocaleService } from "../services/LocaleService";
2023-09-02 22:34:11 -04:00
import { MailSendService } from "../services/MailSendService";
2022-07-09 16:03:26 -04:00
import { HashUtil } from "../utils/HashUtil";
import { JsonUtil } from "../utils/JsonUtil";
import { RandomUtil } from "../utils/RandomUtil";
2023-09-02 22:34:11 -04:00
import { TimeUtil } from "../utils/TimeUtil";
2022-07-09 16:03:26 -04:00
import { DialogueHelper } from "./DialogueHelper";
import { ItemHelper } from "./ItemHelper";
import { ProfileHelper } from "./ProfileHelper";
2023-09-02 22:34:11 -04:00
import { TraderHelper } from "./TraderHelper";
2022-10-06 23:29:01 -04:00
/**
* Helper class for common ragfair server actions
*/
2022-07-09 16:03:26 -04:00
export declare class RagfairServerHelper {
protected randomUtil: RandomUtil;
protected hashUtil: HashUtil;
2023-09-02 22:34:11 -04:00
protected timeUtil: TimeUtil;
2022-07-09 16:03:26 -04:00
protected saveServer: SaveServer;
protected databaseServer: DatabaseServer;
protected profileHelper: ProfileHelper;
protected itemHelper: ItemHelper;
protected localeService: LocaleService;
protected dialogueHelper: DialogueHelper;
2023-09-02 22:34:11 -04:00
protected traderHelper: TraderHelper;
2022-07-09 16:03:26 -04:00
protected jsonUtil: JsonUtil;
2023-09-02 22:34:11 -04:00
protected mailSendService: MailSendService;
2022-10-06 23:29:01 -04:00
protected itemFilterService: ItemFilterService;
2022-07-09 16:03:26 -04:00
protected configServer: ConfigServer;
protected ragfairConfig: IRagfairConfig;
protected questConfig: IQuestConfig;
2022-10-06 23:29:01 -04:00
protected static goodsReturnedTemplate: string;
2023-09-02 22:34:11 -04:00
constructor(randomUtil: RandomUtil, hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, localeService: LocaleService, dialogueHelper: DialogueHelper, traderHelper: TraderHelper, jsonUtil: JsonUtil, mailSendService: MailSendService, itemFilterService: ItemFilterService, configServer: ConfigServer);
2022-07-09 16:03:26 -04:00
/**
* Is item valid / on blacklist / quest item
* @param itemDetails
* @returns boolean
*/
isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean;
2023-09-02 22:34:11 -04:00
/**
* Is supplied item tpl on the ragfair custom blacklist from configs/ragfair.json/dynamic
* @param itemTemplateId Item tpl to check is blacklisted
* @returns True if its blacklsited
*/
protected isItemOnCustomFleaBlacklist(itemTemplateId: string): boolean;
/**
* is supplied id a trader
* @param traderId
* @returns True if id was a trader
*/
isTrader(traderId: string): boolean;
/**
* Is this user id the logged in player
* @param userId Id to test
* @returns True is the current player
*/
isPlayer(userId: string): boolean;
/**
* Send items back to player
* @param sessionID Player to send items to
* @param returnedItems Items to send to player
*/
returnItems(sessionID: string, returnedItems: Item[]): void;
2022-07-09 16:03:26 -04:00
calculateDynamicStackCount(tplId: string, isWeaponPreset: boolean): number;
2022-11-20 14:59:15 -05:00
/**
* Choose a currency at random with bias
* @returns currency tpl
*/
2022-07-09 16:03:26 -04:00
getDynamicOfferCurrency(): string;
getMemberType(userID: string): MemberCategory;
getNickname(userID: string): string;
getPresetItems(item: any): Item[];
getPresetItemsByTpl(item: Item): Item[];
2022-11-20 14:59:15 -05:00
/**
* Generate new unique ids for the children while preserving hierarchy
* @param item base item
* @param preset
* @returns Item array with new IDs
*/
2022-07-09 16:03:26 -04:00
reparentPresets(item: Item, preset: Item[]): Item[];
}