ScavXpCounts/types/services/RagfairOfferService.d.ts

88 lines
3.8 KiB
TypeScript
Raw Normal View History

2024-02-23 15:06:00 -07:00
import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper";
import { RagfairServerHelper } from "@spt-aki/helpers/RagfairServerHelper";
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer";
import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { SaveServer } from "@spt-aki/servers/SaveServer";
import { LocalisationService } from "@spt-aki/services/LocalisationService";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { RagfairOfferHolder } from "@spt-aki/utils/RagfairOfferHolder";
import { TimeUtil } from "@spt-aki/utils/TimeUtil";
2023-08-17 19:49:16 -06:00
export declare class RagfairOfferService {
protected logger: ILogger;
protected timeUtil: TimeUtil;
protected databaseServer: DatabaseServer;
protected saveServer: SaveServer;
protected ragfairServerHelper: RagfairServerHelper;
protected profileHelper: ProfileHelper;
protected eventOutputHolder: EventOutputHolder;
protected httpResponse: HttpResponseUtil;
protected localisationService: LocalisationService;
protected configServer: ConfigServer;
protected playerOffersLoaded: boolean;
2024-04-19 21:23:52 -06:00
/** Offer id + offer object */
2023-08-17 19:49:16 -06:00
protected expiredOffers: Record<string, IRagfairOffer>;
protected ragfairConfig: IRagfairConfig;
protected ragfairOfferHandler: RagfairOfferHolder;
2024-02-23 15:06:00 -07:00
constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, eventOutputHolder: EventOutputHolder, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer);
2023-08-17 19:49:16 -06:00
/**
* Get all offers
* @returns IRagfairOffer array
*/
getOffers(): IRagfairOffer[];
getOfferByOfferId(offerId: string): IRagfairOffer;
getOffersOfType(templateId: string): IRagfairOffer[];
addOffer(offer: IRagfairOffer): void;
addOfferToExpired(staleOffer: IRagfairOffer): void;
2024-04-19 21:23:52 -06:00
/**
* Get total count of current expired offers
* @returns Number of expired offers
*/
2023-08-17 19:49:16 -06:00
getExpiredOfferCount(): number;
/**
2024-04-19 21:23:52 -06:00
* Get an array of arrays of expired offer items + children
* @returns Expired offer assorts
*/
getExpiredOfferAssorts(): Item[][];
/**
* Clear out internal expiredOffers dictionary of all items
2023-08-17 19:49:16 -06:00
*/
resetExpiredOffers(): void;
/**
* Does the offer exist on the ragfair
* @param offerId offer id to check for
* @returns offer exists - true
*/
doesOfferExist(offerId: string): boolean;
/**
* Remove an offer from ragfair by offer id
* @param offerId Offer id to remove
*/
removeOfferById(offerId: string): void;
/**
* Reduce size of an offer stack by specified amount
* @param offerId Offer to adjust stack size of
* @param amount How much to deduct from offers stack size
*/
removeOfferStack(offerId: string, amount: number): void;
removeAllOffersByTrader(traderId: string): void;
/**
* Do the trader offers on flea need to be refreshed
* @param traderID Trader to check
* @returns true if they do
*/
traderOffersNeedRefreshing(traderID: string): boolean;
addPlayerOffers(): void;
expireStaleOffers(): void;
/**
* Remove stale offer from flea
* @param staleOffer Stale offer to process
*/
protected processStaleOffer(staleOffer: IRagfairOffer): void;
2024-04-19 21:23:52 -06:00
protected returnPlayerOffer(playerOffer: IRagfairOffer): void;
2023-08-17 19:49:16 -06:00
}