feat: claimLibraryDailyTaskReward
All checks were successful
Build / build (22) (push) Successful in 48s
Build / build (18) (push) Successful in 1m6s
Build / build (20) (push) Successful in 1m3s
Build / build (18) (pull_request) Successful in 41s
Build / build (20) (pull_request) Successful in 1m3s
Build / build (22) (pull_request) Successful in 1m5s

This commit is contained in:
Sainan 2025-02-25 08:53:54 +01:00
parent 496ac35c17
commit c1266b0f04
4 changed files with 36 additions and 1 deletions

View File

@ -0,0 +1,31 @@
import { getInventory } from "@/src/services/inventoryService";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { RequestHandler } from "express";
export const claimLibraryDailyTaskRewardController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const inventory = await getInventory(accountId);
const rewardQuantity = inventory.LibraryActiveDailyTaskInfo!.RewardQuantity;
const rewardStanding = inventory.LibraryActiveDailyTaskInfo!.RewardStanding;
inventory.LibraryActiveDailyTaskInfo = undefined;
inventory.LibraryAvailableDailyTaskInfo = undefined;
let syndicate = inventory.Affiliations.find(x => x.Tag == "LibrarySyndicate");
if (!syndicate) {
syndicate = inventory.Affiliations[inventory.Affiliations.push({ Tag: "LibrarySyndicate", Standing: 0 }) - 1];
}
syndicate.Standing += rewardStanding;
inventory.FusionPoints += 80 * rewardQuantity;
await inventory.save();
res.json({
RewardItem: "/Lotus/StoreItems/Upgrades/Mods/FusionBundles/RareFusionBundle",
RewardQuantity: rewardQuantity,
StandingAwarded: rewardStanding,
InventoryChanges: {
FusionPoints: 80 * rewardQuantity
}
});
};

View File

@ -955,6 +955,7 @@ const libraryDailyTaskInfoSchema = new Schema<ILibraryDailyTaskInfo>(
EnemyTypes: [String],
EnemyLocTag: String,
EnemyIcon: String,
Scans: Number,
ScansRequired: Number,
RewardStoreItem: String,
RewardQuantity: Number,

View File

@ -8,6 +8,7 @@ import { artifactsController } from "@/src/controllers/api/artifactsController";
import { changeDojoRootController } from "@/src/controllers/api/changeDojoRootController";
import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
import { claimCompletedRecipeController } from "@/src/controllers/api/claimCompletedRecipeController";
import { claimLibraryDailyTaskRewardController } from "@/src/controllers/api/claimLibraryDailyTaskRewardController";
import { clearDialogueHistoryController } from "@/src/controllers/api/clearDialogueHistoryController";
import { completeRandomModChallengeController } from "@/src/controllers/api/completeRandomModChallengeController";
import { createGuildController } from "@/src/controllers/api/createGuildController";
@ -97,6 +98,7 @@ const apiRouter = express.Router();
// get
apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
apiRouter.get("/checkDailyMissionBonus.php", checkDailyMissionBonusController);
apiRouter.get("/claimLibraryDailyTaskReward.php", claimLibraryDailyTaskRewardController);
apiRouter.get("/credits.php", creditsController);
apiRouter.get("/deleteSession.php", deleteSessionController);
apiRouter.get("/dojo", dojoController);

View File

@ -320,7 +320,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu
LibraryPersonalTarget: string;
LibraryPersonalProgress: ILibraryPersonalProgress[];
CollectibleSeries: ICollectibleSery[];
LibraryAvailableDailyTaskInfo: ILibraryDailyTaskInfo;
LibraryAvailableDailyTaskInfo?: ILibraryDailyTaskInfo;
LibraryActiveDailyTaskInfo?: ILibraryDailyTaskInfo;
HasResetAccount: boolean;
PendingCoupon?: IPendingCouponClient;
@ -663,6 +663,7 @@ export interface ILibraryDailyTaskInfo {
EnemyTypes: string[];
EnemyLocTag: string;
EnemyIcon: string;
Scans?: number;
ScansRequired: number;
RewardStoreItem: string;
RewardQuantity: number;