feat: implement unbinding of focus upgrades (#352)
This commit is contained in:
parent
ae3fe49d95
commit
53dab12555
@ -65,9 +65,6 @@ export const focusController: RequestHandler = async (req, res) => {
|
||||
cost += focusUpgrade.FocusXpCost;
|
||||
const focusUpgradeDb = inventory.FocusUpgrades.find(entry => entry.ItemType == focusUpgrade.ItemType)!;
|
||||
focusUpgradeDb.Level = focusUpgrade.Level;
|
||||
if (focusUpgrade.IsUniversal) {
|
||||
focusUpgradeDb.IsUniversal = true;
|
||||
}
|
||||
}
|
||||
inventory.FocusXP[focusPolarity] -= cost;
|
||||
await inventory.save();
|
||||
@ -77,6 +74,36 @@ export const focusController: RequestHandler = async (req, res) => {
|
||||
});
|
||||
break;
|
||||
}
|
||||
case FocusOperation.UnbindUpgrade: {
|
||||
const request = JSON.parse(req.body.toString()) as IUnbindUpgradeRequest;
|
||||
const focusPolarity = focusTypeToPolarity(request.FocusTypes[0]);
|
||||
const inventory = await getInventory(accountId);
|
||||
inventory.FocusXP[focusPolarity] -= 750_000;
|
||||
addMiscItems(inventory, [
|
||||
{
|
||||
ItemType: "/Lotus/Types/Gameplay/Eidolon/Resources/SentientShards/SentientShardBrilliantItem",
|
||||
ItemCount: request.FocusTypes.length * -1
|
||||
}
|
||||
]);
|
||||
request.FocusTypes.forEach(type => {
|
||||
const focusUpgradeDb = inventory.FocusUpgrades.find(entry => entry.ItemType == type)!;
|
||||
focusUpgradeDb.IsUniversal = true;
|
||||
});
|
||||
await inventory.save();
|
||||
res.json({
|
||||
FocusTypes: request.FocusTypes,
|
||||
FocusPointCosts: {
|
||||
[focusPolarity]: 750_000
|
||||
},
|
||||
MiscItemCosts: [
|
||||
{
|
||||
ItemType: "/Lotus/Types/Gameplay/Eidolon/Resources/SentientShards/SentientShardBrilliantItem",
|
||||
ItemCount: request.FocusTypes.length
|
||||
}
|
||||
]
|
||||
});
|
||||
break;
|
||||
}
|
||||
case FocusOperation.ConvertShard: {
|
||||
const request = JSON.parse(req.body.toString()) as IConvertShardRequest;
|
||||
// Tally XP
|
||||
@ -110,6 +137,7 @@ enum FocusOperation {
|
||||
UnlockUpgrade = "3",
|
||||
LevelUpUpgrade = "4",
|
||||
ActivateWay = "5",
|
||||
UnbindUpgrade = "8",
|
||||
ConvertShard = "9"
|
||||
}
|
||||
|
||||
@ -132,6 +160,11 @@ interface ILevelUpUpgradeRequest {
|
||||
}[];
|
||||
}
|
||||
|
||||
interface IUnbindUpgradeRequest {
|
||||
ShardTypes: string[];
|
||||
FocusTypes: string[];
|
||||
}
|
||||
|
||||
interface IConvertShardRequest {
|
||||
Shards: IMiscItem[];
|
||||
Polarity: TFocusPolarity;
|
||||
|
Loading…
x
Reference in New Issue
Block a user