rename file

This commit is contained in:
2024-06-09 14:50:21 +08:00
parent 138a16c289
commit 0e22d8dbce
376 changed files with 3 additions and 3 deletions
@@ -0,0 +1,140 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const ConfigTypes_1 = require("/snapshot/project/obj/models/enums/ConfigTypes");
const Traders_1 = require("/snapshot/project/obj/models/enums/Traders");
class Mod {
questConfig;
preAkiLoad(container) {
const logger = container.resolve("WinstonLogger");
const dynamicRouterModService = container.resolve("DynamicRouterModService");
const staticRouterModService = container.resolve("StaticRouterModService");
const profileHelper = container.resolve("ProfileHelper");
const questHelper = container.resolve("QuestHelper");
const configServer = container.resolve("ConfigServer");
this.questConfig = configServer.getConfig(ConfigTypes_1.ConfigTypes.QUEST);
//const questConditionHelper = container.resolve<QuestConditionHelper>("QuestConditionHelper");
const traderHelper = container.resolve("TraderHelper");
const databaseServer = container.resolve("DatabaseServer");
const fenceService = container.resolve("FenceService");
// Hook up a new static route
staticRouterModService.registerStaticRouter("MoreCheckmarksRoutes", [
{
url: "/MoreCheckmarksRoutes/quests",
action: (url, info, sessionID, output) => {
logger.info("MoreCheckmarks making quest data request");
const quests = [];
const allQuests = questHelper.getQuestsFromDb();
//const allQuests = databaseServer.getTables().templates.quests;
const profile = profileHelper.getPmcProfile(sessionID);
if (profile && profile.Quests) {
for (const quest of allQuests) {
// Skip if not a quest we can have
if (profile.Info && this.questIsForOtherSide(profile.Info.Side, quest._id)) {
continue;
}
// Skip if already complete or can't complete
const questStatus = questHelper.getQuestStatus(profile, quest._id);
/*
Locked = 0,
AvailableForStart = 1,
Started = 2,
AvailableForFinish = 3,
Success = 4,
Fail = 5,
FailRestartable = 6,
MarkedAsFailed = 7,
Expired = 8,
AvailableAfter = 9
*/
if (questStatus >= 3 && questStatus <= 8) {
continue;
}
quests.push(quest);
}
logger.info("Got quests");
}
else {
logger.info("Unable to fetch quests for MoreCheckmarks");
}
return JSON.stringify(quests);
}
},
{
url: "/MoreCheckmarksRoutes/assorts",
action: (url, info, sessionID, output) => {
logger.info("MoreCheckmarks making trader assort data request");
const assorts = [];
if (databaseServer && databaseServer.getTables()) {
if (Traders_1.Traders && traderHelper) {
for (const value of Object.values(Traders_1.Traders)) {
if (value == "579dc571d53a0658a154fbec" && fenceService.getRawFenceAssorts()) {
assorts.push(fenceService.getRawFenceAssorts());
}
else if (databaseServer.getTables().traders[value] && databaseServer.getTables().traders[value].assort) {
assorts.push(databaseServer.getTables().traders[value].assort);
}
}
}
else {
logger.info("Unable to fetch assorts for MoreCheckmarks");
}
}
return JSON.stringify(assorts);
}
},
{
url: "/MoreCheckmarksRoutes/items",
action: (url, info, sessionID, output) => {
logger.info("MoreCheckmarks making item data request");
const items = {};
if (databaseServer && databaseServer.getTables() && databaseServer.getTables().templates && databaseServer.getTables().templates.items) {
return JSON.stringify(databaseServer.getTables().templates.items);
}
else {
return JSON.stringify(items);
}
}
},
{
url: "/MoreCheckmarksRoutes/locales",
action: (url, info, sessionID, output) => {
logger.info("MoreCheckmarks making locale request");
const locales = {};
if (databaseServer && databaseServer.getTables() && databaseServer.getTables().locales) {
return JSON.stringify(databaseServer.getTables().locales);
}
else {
return JSON.stringify(locales);
}
}
},
{
url: "/MoreCheckmarksRoutes/productions",
action: (url, info, sessionID, output) => {
logger.info("MoreCheckmarks making productions request");
const production = {};
if (databaseServer && databaseServer.getTables() && databaseServer.getTables().hideout && databaseServer.getTables().hideout.production) {
return JSON.stringify(databaseServer.getTables().hideout.production);
}
else {
return JSON.stringify(production);
}
}
}
], "custom-static-MoreCheckmarksRoutes");
}
questIsForOtherSide(playerSide, questId) {
const isUsec = playerSide.toLowerCase() === "usec";
if (isUsec && this.questConfig.bearOnlyQuests.includes(questId)) {
// player is usec and quest is bear only, skip
return true;
}
if (!isUsec && this.questConfig.usecOnlyQuests.includes(questId)) {
// player is bear and quest is usec only, skip
return true;
}
return false;
}
}
module.exports = { mod: new Mod() };
//# sourceMappingURL=MoreCheckmarksStaticRouter.js.map
@@ -0,0 +1 @@
{"version":3,"file":"MoreCheckmarksStaticRouter.js","sourceRoot":"","sources":["MoreCheckmarksStaticRouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
import { DependencyContainer } from "tsyringe";
import type { IPreAkiLoadMod } from "@spt-aki/models/external/IPreAkiLoadMod";
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import type {DynamicRouterModService} from "@spt-aki/services/mod/dynamicRouter/DynamicRouterModService";
import type {StaticRouterModService} from "@spt-aki/services/mod/staticRouter/StaticRouterModService";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper";
//import { QuestConditionHelper } from "@spt-aki/helpers/QuestConditionHelper";
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig";
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { Traders } from "@spt-aki/models/enums/Traders";
import { TraderHelper } from "@spt-aki/helpers/TraderHelper";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { FenceService } from "@spt-aki/services/FenceService";
import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem";
import { ILocaleBase } from "@spt-aki/models/spt/server/ILocaleBase";
class Mod implements IPreAkiLoadMod
{
protected questConfig: IQuestConfig;
public preAkiLoad(container: DependencyContainer): void {
const logger = container.resolve<ILogger>("WinstonLogger");
const dynamicRouterModService = container.resolve<DynamicRouterModService>("DynamicRouterModService");
const staticRouterModService = container.resolve<StaticRouterModService>("StaticRouterModService");
const profileHelper = container.resolve<ProfileHelper>("ProfileHelper");
const questHelper = container.resolve<QuestHelper>("QuestHelper");
const configServer = container.resolve<ConfigServer>("ConfigServer");
this.questConfig = configServer.getConfig(ConfigTypes.QUEST);
//const questConditionHelper = container.resolve<QuestConditionHelper>("QuestConditionHelper");
const traderHelper = container.resolve<TraderHelper>("TraderHelper");
const databaseServer = container.resolve<DatabaseServer>("DatabaseServer");
const fenceService = container.resolve<FenceService>("FenceService");
// Hook up a new static route
staticRouterModService.registerStaticRouter(
"MoreCheckmarksRoutes",
[
{
url: "/MoreCheckmarksRoutes/quests",
action: (url, info, sessionID, output) =>
{
logger.info("MoreCheckmarks making quest data request");
const quests: IQuest[] = [];
const allQuests = questHelper.getQuestsFromDb();
//const allQuests = databaseServer.getTables().templates.quests;
const profile: IPmcData = profileHelper.getPmcProfile(sessionID);
if(profile && profile.Quests)
{
for (const quest of allQuests)
{
// Skip if not a quest we can have
if (profile.Info && this.questIsForOtherSide(profile.Info.Side, quest._id))
{
continue;
}
// Skip if already complete or can't complete
const questStatus = questHelper.getQuestStatus(profile, quest._id);
/*
Locked = 0,
AvailableForStart = 1,
Started = 2,
AvailableForFinish = 3,
Success = 4,
Fail = 5,
FailRestartable = 6,
MarkedAsFailed = 7,
Expired = 8,
AvailableAfter = 9
*/
if (questStatus >= 3 && questStatus <= 8)
{
continue;
}
quests.push(quest);
}
logger.info("Got quests");
}
else
{
logger.info("Unable to fetch quests for MoreCheckmarks");
}
return JSON.stringify(quests);
}
},
{
url: "/MoreCheckmarksRoutes/assorts",
action: (url, info, sessionID, output) =>
{
logger.info("MoreCheckmarks making trader assort data request");
const assorts: ITraderAssort[] = [];
if(databaseServer && databaseServer.getTables())
{
if(Traders && traderHelper)
{
for (const value of Object.values(Traders))
{
if(value == "579dc571d53a0658a154fbec" && fenceService.getRawFenceAssorts())
{
assorts.push(fenceService.getRawFenceAssorts());
}
else if(databaseServer.getTables().traders[value] && databaseServer.getTables().traders[value].assort)
{
assorts.push(databaseServer.getTables().traders[value].assort);
}
}
}
else
{
logger.info("Unable to fetch assorts for MoreCheckmarks");
}
}
return JSON.stringify(assorts);
}
},
{
url: "/MoreCheckmarksRoutes/items",
action: (url, info, sessionID, output) =>
{
logger.info("MoreCheckmarks making item data request");
const items: Record<string, ITemplateItem> = {};
if(databaseServer && databaseServer.getTables() && databaseServer.getTables().templates && databaseServer.getTables().templates.items)
{
return JSON.stringify(databaseServer.getTables().templates.items);
}
else
{
return JSON.stringify(items);
}
}
},
{
url: "/MoreCheckmarksRoutes/locales",
action: (url, info, sessionID, output) =>
{
logger.info("MoreCheckmarks making locale request");
const locales: ILocaleBase = {};
if(databaseServer && databaseServer.getTables() && databaseServer.getTables().locales)
{
return JSON.stringify(databaseServer.getTables().locales);
}
else
{
return JSON.stringify(locales);
}
}
},
{
url: "/MoreCheckmarksRoutes/productions",
action: (url, info, sessionID, output) =>
{
logger.info("MoreCheckmarks making productions request");
const production: IHideoutProduction = {};
if(databaseServer && databaseServer.getTables() && databaseServer.getTables().hideout && databaseServer.getTables().hideout.production)
{
return JSON.stringify(databaseServer.getTables().hideout.production);
}
else
{
return JSON.stringify(production);
}
}
}
],
"custom-static-MoreCheckmarksRoutes"
);
}
protected questIsForOtherSide(playerSide: string, questId: string): boolean
{
const isUsec = playerSide.toLowerCase() === "usec";
if (isUsec && this.questConfig.bearOnlyQuests.includes(questId))
{
// player is usec and quest is bear only, skip
return true;
}
if (!isUsec && this.questConfig.usecOnlyQuests.includes(questId))
{
// player is bear and quest is usec only, skip
return true;
}
return false;
}
}
module.exports = {mod: new Mod()}