Added ability to flag a profile as flea banned via config
Updated tournament profiles to use new system Added `getTimeStampFromNowDays()` helper to `TimeUtil` Improved accuracy of `Bans` property in profile
This commit is contained in:
parent
eba65cdd83
commit
ca737d2f62
@ -36321,11 +36321,7 @@
|
||||
"AccountType": 0,
|
||||
"BannedState": false,
|
||||
"BannedUntil": 0,
|
||||
"Bans": [{
|
||||
"banType": "RagFair",
|
||||
"dateTime": 1746651600
|
||||
}
|
||||
],
|
||||
"Bans": [],
|
||||
"Experience": 0,
|
||||
"GameVersion": "tournament_live",
|
||||
"IsStreamerModeAvailable": false,
|
||||
@ -36760,7 +36756,8 @@
|
||||
},
|
||||
"initialSalesSum": 0,
|
||||
"initialStanding": 0.2,
|
||||
"jaegerUnlocked": false
|
||||
"jaegerUnlocked": false,
|
||||
"fleaBlockedDays": 365
|
||||
},
|
||||
"weaponbuilds": {}
|
||||
},
|
||||
@ -37263,11 +37260,7 @@
|
||||
"AccountType": 0,
|
||||
"BannedState": false,
|
||||
"BannedUntil": 0,
|
||||
"Bans": [{
|
||||
"banType": "RagFair",
|
||||
"dateTime": 1746651600
|
||||
}
|
||||
],
|
||||
"Bans": [],
|
||||
"Experience": 0,
|
||||
"GameVersion": "tournament_live",
|
||||
"IsStreamerModeAvailable": false,
|
||||
@ -37700,7 +37693,8 @@
|
||||
},
|
||||
"initialSalesSum": 0,
|
||||
"initialStanding": 0.2,
|
||||
"jaegerUnlocked": false
|
||||
"jaegerUnlocked": false,
|
||||
"fleaBlockedDays": 365
|
||||
},
|
||||
"weaponbuilds": {}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ import { HandbookHelper } from "@spt/helpers/HandbookHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { BanType } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { Item } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ProfileTraderTemplate } from "@spt/models/eft/common/tables/IProfileTemplate";
|
||||
import { ITraderAssort, ITraderBase, LoyaltyLevel } from "@spt/models/eft/common/tables/ITrader";
|
||||
@ -142,6 +143,15 @@ export class TraderHelper
|
||||
unlocked: this.databaseServer.getTables().traders[traderID].base.unlockedByDefault,
|
||||
};
|
||||
|
||||
if (rawProfileTemplate.fleaBlockedDays > 0)
|
||||
{
|
||||
pmcData.Info.Bans.push(
|
||||
{
|
||||
banType: BanType.RAGFAIR,
|
||||
dateTime: this.timeUtil.getTimeStampFromNowDays(rawProfileTemplate.fleaBlockedDays),
|
||||
});
|
||||
}
|
||||
|
||||
if (traderID === Traders.JAEGER)
|
||||
{
|
||||
pmcData.TradersInfo[traderID].unlocked = rawProfileTemplate.jaegerUnlocked;
|
||||
|
@ -95,7 +95,7 @@ export interface Settings
|
||||
|
||||
export interface IBan
|
||||
{
|
||||
type: BanType
|
||||
banType: BanType
|
||||
dateTime: number
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,8 @@ export interface IProfileTemplates
|
||||
"Left Behind": IProfileSides
|
||||
"Prepare To Escape": IProfileSides
|
||||
"Edge Of Darkness": IProfileSides
|
||||
"Unheard": IProfileSides
|
||||
"Tournament": IProfileSides
|
||||
"SPT Developer": IProfileSides
|
||||
"SPT Easy start": IProfileSides
|
||||
"SPT Zero to hero": IProfileSides
|
||||
@ -38,4 +40,5 @@ export interface ProfileTraderTemplate
|
||||
initialStanding: number
|
||||
initialSalesSum: number
|
||||
jaegerUnlocked: boolean
|
||||
fleaBlockedDays?: number
|
||||
}
|
||||
|
@ -78,6 +78,18 @@ export class TimeUtil
|
||||
return Math.floor(new Date().getTime() / 1000);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get timestamp of today + passed in day count
|
||||
* @param daysFromNow Days from now
|
||||
*/
|
||||
public getTimeStampFromNowDays(daysFromNow: number): number
|
||||
{
|
||||
const currentTimeStamp = this.getTimestamp();
|
||||
const desiredDaysAsSeconds = this.getHoursAsSeconds(daysFromNow * 24);
|
||||
|
||||
return currentTimeStamp + desiredDaysAsSeconds;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the current time in UTC in a format suitable for mail in EFT.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user