feat: credit boosters (+ daily first win) #2324
@ -23,9 +23,9 @@ export const setBoosterController: RequestHandler = async (req, res) => {
|
|||||||
res.status(400).send("Invalid ItemType provided.");
|
res.status(400).send("Invalid ItemType provided.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const now = Math.floor(Date.now() / 1000);
|
const now = Math.trunc(Date.now() / 1000);
|
||||||
for (const { ItemType, ExpiryDate } of requests) {
|
for (const { ItemType, ExpiryDate } of requests) {
|
||||||
if (ExpiryDate < now) {
|
if (ExpiryDate <= now) {
|
||||||
// remove expired boosters
|
// remove expired boosters
|
||||||
const index = boosters.findIndex(item => item.ItemType === ItemType);
|
const index = boosters.findIndex(item => item.ItemType === ItemType);
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
|
@ -1426,6 +1426,20 @@ export const addCredits = async (
|
|||||||
const totalCredits = finalCredits.MissionCredits[1] + finalCredits.CreditsBonus[1] + rngRewardCredits;
|
const totalCredits = finalCredits.MissionCredits[1] + finalCredits.CreditsBonus[1] + rngRewardCredits;
|
||||||
finalCredits.TotalCredits = [totalCredits, totalCredits];
|
finalCredits.TotalCredits = [totalCredits, totalCredits];
|
||||||
|
|
||||||
|
if (config.worldState?.creditBoost) {
|
||||||
|
inventory.RegularCredits += finalCredits.TotalCredits[1];
|
||||||
|
finalCredits.TotalCredits[1] += finalCredits.TotalCredits[1];
|
||||||
|
}
|
||||||
|
const now = Math.trunc(Date.now() / 1000);
|
||||||
|
if ((inventory.Boosters.find(x => x.ItemType == "/Lotus/Types/Boosters/CreditBooster")?.ExpiryDate ?? 0) > now) {
|
||||||
|
inventory.RegularCredits += finalCredits.TotalCredits[1];
|
||||||
|
finalCredits.TotalCredits[1] += finalCredits.TotalCredits[1];
|
||||||
|
}
|
||||||
|
if ((inventory.Boosters.find(x => x.ItemType == "/Lotus/Types/Boosters/CreditBlessing")?.ExpiryDate ?? 0) > now) {
|
||||||
|
inventory.RegularCredits += finalCredits.TotalCredits[1];
|
||||||
|
finalCredits.TotalCredits[1] += finalCredits.TotalCredits[1];
|
||||||
|
}
|
||||||
|
|
||||||
return finalCredits;
|
return finalCredits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2275,14 +2275,13 @@ function doAcquireBoosters() {
|
|||||||
const ExpiryDate = Date.now() / 1000 + 3 * 24 * 60 * 60; // default 3 days
|
const ExpiryDate = Date.now() / 1000 + 3 * 24 * 60 * 60; // default 3 days
|
||||||
setBooster(uniqueName, ExpiryDate, () => {
|
setBooster(uniqueName, ExpiryDate, () => {
|
||||||
$("#acquire-type-Boosters").val("");
|
$("#acquire-type-Boosters").val("");
|
||||||
updateInventory();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function doChangeBoosterExpiry(ItemType, ExpiryDateInput) {
|
function doChangeBoosterExpiry(ItemType, ExpiryDateInput) {
|
||||||
console.log("Changing booster expiry for", ItemType, "to", ExpiryDateInput.value);
|
console.log("Changing booster expiry for", ItemType, "to", ExpiryDateInput.value);
|
||||||
// cast local datetime string to unix timestamp
|
// cast local datetime string to unix timestamp
|
||||||
const ExpiryDate = new Date(ExpiryDateInput.value).getTime() / 1000;
|
const ExpiryDate = Math.trunc(new Date(ExpiryDateInput.value).getTime() / 1000);
|
||||||
if (isNaN(ExpiryDate)) {
|
if (isNaN(ExpiryDate)) {
|
||||||
ExpiryDateInput.addClass("is-invalid").focus();
|
ExpiryDateInput.addClass("is-invalid").focus();
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user