feat: daily synthesis #1014
31
src/controllers/api/claimLibraryDailyTaskRewardController.ts
Normal file
31
src/controllers/api/claimLibraryDailyTaskRewardController.ts
Normal 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
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
@ -955,6 +955,7 @@ const libraryDailyTaskInfoSchema = new Schema<ILibraryDailyTaskInfo>(
|
|||||||
EnemyTypes: [String],
|
EnemyTypes: [String],
|
||||||
EnemyLocTag: String,
|
EnemyLocTag: String,
|
||||||
EnemyIcon: String,
|
EnemyIcon: String,
|
||||||
|
Scans: Number,
|
||||||
ScansRequired: Number,
|
ScansRequired: Number,
|
||||||
RewardStoreItem: String,
|
RewardStoreItem: String,
|
||||||
RewardQuantity: Number,
|
RewardQuantity: Number,
|
||||||
|
@ -8,6 +8,7 @@ import { artifactsController } from "@/src/controllers/api/artifactsController";
|
|||||||
import { changeDojoRootController } from "@/src/controllers/api/changeDojoRootController";
|
import { changeDojoRootController } from "@/src/controllers/api/changeDojoRootController";
|
||||||
import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
|
import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
|
||||||
import { claimCompletedRecipeController } from "@/src/controllers/api/claimCompletedRecipeController";
|
import { claimCompletedRecipeController } from "@/src/controllers/api/claimCompletedRecipeController";
|
||||||
|
import { claimLibraryDailyTaskRewardController } from "@/src/controllers/api/claimLibraryDailyTaskRewardController";
|
||||||
import { clearDialogueHistoryController } from "@/src/controllers/api/clearDialogueHistoryController";
|
import { clearDialogueHistoryController } from "@/src/controllers/api/clearDialogueHistoryController";
|
||||||
import { completeRandomModChallengeController } from "@/src/controllers/api/completeRandomModChallengeController";
|
import { completeRandomModChallengeController } from "@/src/controllers/api/completeRandomModChallengeController";
|
||||||
import { createGuildController } from "@/src/controllers/api/createGuildController";
|
import { createGuildController } from "@/src/controllers/api/createGuildController";
|
||||||
@ -97,6 +98,7 @@ const apiRouter = express.Router();
|
|||||||
// get
|
// get
|
||||||
apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
|
apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
|
||||||
apiRouter.get("/checkDailyMissionBonus.php", checkDailyMissionBonusController);
|
apiRouter.get("/checkDailyMissionBonus.php", checkDailyMissionBonusController);
|
||||||
|
apiRouter.get("/claimLibraryDailyTaskReward.php", claimLibraryDailyTaskRewardController);
|
||||||
apiRouter.get("/credits.php", creditsController);
|
apiRouter.get("/credits.php", creditsController);
|
||||||
apiRouter.get("/deleteSession.php", deleteSessionController);
|
apiRouter.get("/deleteSession.php", deleteSessionController);
|
||||||
apiRouter.get("/dojo", dojoController);
|
apiRouter.get("/dojo", dojoController);
|
||||||
|
@ -320,7 +320,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu
|
|||||||
LibraryPersonalTarget: string;
|
LibraryPersonalTarget: string;
|
||||||
LibraryPersonalProgress: ILibraryPersonalProgress[];
|
LibraryPersonalProgress: ILibraryPersonalProgress[];
|
||||||
CollectibleSeries: ICollectibleSery[];
|
CollectibleSeries: ICollectibleSery[];
|
||||||
LibraryAvailableDailyTaskInfo: ILibraryDailyTaskInfo;
|
LibraryAvailableDailyTaskInfo?: ILibraryDailyTaskInfo;
|
||||||
LibraryActiveDailyTaskInfo?: ILibraryDailyTaskInfo;
|
LibraryActiveDailyTaskInfo?: ILibraryDailyTaskInfo;
|
||||||
HasResetAccount: boolean;
|
HasResetAccount: boolean;
|
||||||
PendingCoupon?: IPendingCouponClient;
|
PendingCoupon?: IPendingCouponClient;
|
||||||
@ -663,6 +663,7 @@ export interface ILibraryDailyTaskInfo {
|
|||||||
EnemyTypes: string[];
|
EnemyTypes: string[];
|
||||||
EnemyLocTag: string;
|
EnemyLocTag: string;
|
||||||
EnemyIcon: string;
|
EnemyIcon: string;
|
||||||
|
Scans?: number;
|
||||||
ScansRequired: number;
|
ScansRequired: number;
|
||||||
RewardStoreItem: string;
|
RewardStoreItem: string;
|
||||||
RewardQuantity: number;
|
RewardQuantity: number;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user