feat: give kahl standing when completing the new war
All checks were successful
Build / build (18) (push) Successful in 47s
Build / build (22) (push) Successful in 1m12s
Build / build (20) (push) Successful in 1m15s
Build / build (22) (pull_request) Successful in 47s
Build / build (20) (pull_request) Successful in 1m11s
Build / build (18) (pull_request) Successful in 1m21s

This commit is contained in:
Sainan 2025-03-26 12:52:12 +01:00
parent aea1787908
commit f3c69a43a5
3 changed files with 42 additions and 1 deletions

View File

@ -81,7 +81,8 @@ import {
IVendorPurchaseHistoryEntryClient,
INemesisDatabase,
INemesisClient,
IInfNode
IInfNode,
IWeeklyMission
} from "../../types/inventoryTypes/inventoryTypes";
import { IOid } from "../../types/commonTypes";
import {
@ -436,6 +437,18 @@ kubrowPetEggSchema.set("toJSON", {
}
});
const weeklyMissionSchema = new Schema<IWeeklyMission>(
{
MissionIndex: Number,
CompletedMission: Boolean,
JobManifest: String,
Challenges: [String],
ChallengesReset: Boolean,
WeekCount: Number
},
{ _id: false }
);
const affiliationsSchema = new Schema<IAffiliation>(
{
Initiated: Boolean,
@ -443,6 +456,7 @@ const affiliationsSchema = new Schema<IAffiliation>(
Title: Number,
FreeFavorsEarned: { type: [Number], default: undefined },
FreeFavorsUsed: { type: [Number], default: undefined },
WeeklyMissions: { type: [weeklyMissionSchema], default: undefined },
Tag: String
},
{ _id: false }

View File

@ -60,6 +60,23 @@ export const updateQuestKey = async (
inventoryChanges = await addItems(inventory as TInventoryDatabaseDocument, questCompletionItems);
}
inventory.ActiveQuest = "";
if (questKeyUpdate[0].ItemType == "/Lotus/Types/Keys/NewWarQuest/NewWarQuestKeyChain") {
inventory.Affiliations.push({
Title: 1,
Standing: 1,
WeeklyMissions: [
{
MissionIndex: 0,
CompletedMission: false,
JobManifest: "/Lotus/Syndicates/Kahl/KahlJobManifestVersionThree",
WeekCount: 0,
Challenges: []
}
],
Tag: "KahlSyndicate"
});
}
}
return inventoryChanges;
};

View File

@ -354,9 +354,19 @@ export interface IAffiliation {
Title?: number;
FreeFavorsEarned?: number[];
FreeFavorsUsed?: number[];
WeeklyMissions?: IWeeklyMission[]; // Kahl
Tag: string;
}
export interface IWeeklyMission {
MissionIndex: number;
CompletedMission: boolean;
JobManifest: string;
Challenges: string[];
ChallengesReset?: boolean;
WeekCount: number;
}
export interface IAlignment {
Wisdom: number;
Alignment: number;