feat: give kahl standing when completing the new war

This commit is contained in:
Sainan 2025-03-26 12:52:12 +01:00 committed by Sainan
parent fd93f34538
commit 6a1530f746
3 changed files with 42 additions and 1 deletions

View File

@ -82,7 +82,8 @@ import {
INemesisDatabase,
INemesisClient,
IInfNode,
IDiscoveredMarker
IDiscoveredMarker,
IWeeklyMission
} from "../../types/inventoryTypes/inventoryTypes";
import { IOid } from "../../types/commonTypes";
import {
@ -445,6 +446,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,
@ -452,6 +465,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;