feat: gain abilities as helminth levels up
This commit is contained in:
parent
714ec45222
commit
0291b56592
@ -91,19 +91,21 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
||||
}
|
||||
}
|
||||
|
||||
addInfestedFoundryXP(inventory.InfestedFoundry, 666 * totalPercentagePointsGained);
|
||||
const recipeChanges = addInfestedFoundryXP(inventory.InfestedFoundry, 666 * totalPercentagePointsGained);
|
||||
addRecipes(inventory, recipeChanges);
|
||||
addMiscItems(inventory, miscItemChanges);
|
||||
await inventory.save();
|
||||
|
||||
res.json({
|
||||
InventoryChanges: {
|
||||
Recipes: recipeChanges,
|
||||
InfestedFoundry: {
|
||||
XP: inventory.InfestedFoundry.XP,
|
||||
Resources: inventory.InfestedFoundry.Resources,
|
||||
Slots: inventory.InfestedFoundry.Slots
|
||||
}
|
||||
},
|
||||
MiscItems: miscItemChanges
|
||||
},
|
||||
MiscItems: miscItemChanges
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
@ -153,11 +155,12 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
||||
inventory.InfestedFoundry!.AbilityOverrideUnlockCooldown = new Date(
|
||||
new Date().getTime() + 24 * 60 * 60 * 1000
|
||||
);
|
||||
addInfestedFoundryXP(inventory.InfestedFoundry!, 1600_00);
|
||||
const recipeChanges = addInfestedFoundryXP(inventory.InfestedFoundry!, 1600_00);
|
||||
addRecipes(inventory, recipeChanges);
|
||||
await inventory.save();
|
||||
console.log(inventory.toJSON().InfestedFoundry);
|
||||
res.json({
|
||||
InventoryChanges: {
|
||||
Recipes: recipeChanges,
|
||||
RemovedIdItems: [
|
||||
{
|
||||
ItemId: request.SuitId
|
||||
@ -198,7 +201,8 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
||||
suit.OffensiveUpgrade = request.OffensiveUpgradeType;
|
||||
suit.DefensiveUpgrade = request.DefensiveUpgradeType;
|
||||
suit.UpgradesExpiry = upgradesExpiry;
|
||||
addInfestedFoundryXP(inventory.InfestedFoundry!, 4800_00);
|
||||
const recipeChanges = addInfestedFoundryXP(inventory.InfestedFoundry!, 4800_00);
|
||||
addRecipes(inventory, recipeChanges);
|
||||
for (let i = 0; i != request.ResourceTypes.length; ++i) {
|
||||
inventory.InfestedFoundry!.Resources!.find(x => x.ItemType == request.ResourceTypes[i])!.Count -=
|
||||
request.ResourceCosts[i];
|
||||
@ -212,6 +216,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
||||
DefensiveUpgrade: request.DefensiveUpgradeType,
|
||||
UpgradesExpiry: toMongoDate(upgradesExpiry),
|
||||
InventoryChanges: {
|
||||
Recipes: recipeChanges,
|
||||
InfestedFoundry: inventory.toJSON().InfestedFoundry
|
||||
}
|
||||
});
|
||||
@ -256,7 +261,8 @@ const colorToShard: Record<string, string> = {
|
||||
ACC_PURPLE_MYTHIC: "/Lotus/Types/Gameplay/NarmerSorties/ArchonCrystalVioletMythic"
|
||||
};
|
||||
|
||||
const addInfestedFoundryXP = (infestedFoundry: IInfestedFoundry, delta: number): void => {
|
||||
const addInfestedFoundryXP = (infestedFoundry: IInfestedFoundry, delta: number): ITypeCount[] => {
|
||||
const recipeChanges: ITypeCount[] = [];
|
||||
infestedFoundry.XP ??= 0;
|
||||
const prevXP = infestedFoundry.XP;
|
||||
infestedFoundry.XP += delta;
|
||||
@ -264,17 +270,69 @@ const addInfestedFoundryXP = (infestedFoundry: IInfestedFoundry, delta: number):
|
||||
infestedFoundry.Slots ??= 0;
|
||||
infestedFoundry.Slots += 3;
|
||||
}
|
||||
if (prevXP < 5625_00 && infestedFoundry.XP >= 5625_00) {
|
||||
recipeChanges.push({
|
||||
ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthShieldsBlueprint",
|
||||
ItemCount: 1
|
||||
});
|
||||
}
|
||||
if (prevXP < 10125_00 && infestedFoundry.XP >= 10125_00) {
|
||||
recipeChanges.push({ ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthHackBlueprint", ItemCount: 1 });
|
||||
}
|
||||
if (prevXP < 15750_00 && infestedFoundry.XP >= 15750_00) {
|
||||
infestedFoundry.Slots ??= 0;
|
||||
infestedFoundry.Slots += 10;
|
||||
}
|
||||
if (prevXP < 22500_00 && infestedFoundry.XP >= 22500_00) {
|
||||
recipeChanges.push({
|
||||
ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthAmmoEfficiencyBlueprint",
|
||||
ItemCount: 1
|
||||
});
|
||||
}
|
||||
if (prevXP < 30375_00 && infestedFoundry.XP >= 30375_00) {
|
||||
recipeChanges.push({ ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthStunBlueprint", ItemCount: 1 });
|
||||
}
|
||||
if (prevXP < 39375_00 && infestedFoundry.XP >= 39375_00) {
|
||||
infestedFoundry.Slots ??= 0;
|
||||
infestedFoundry.Slots += 20;
|
||||
}
|
||||
if (prevXP < 60750_00 && infestedFoundry.XP >= 60750_00) {
|
||||
recipeChanges.push({ ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthStatusBlueprint", ItemCount: 1 });
|
||||
}
|
||||
if (prevXP < 73125_00 && infestedFoundry.XP >= 73125) {
|
||||
infestedFoundry.Slots = 1;
|
||||
}
|
||||
if (prevXP < 86625_00 && infestedFoundry.XP >= 86625_00) {
|
||||
recipeChanges.push({
|
||||
ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthShieldArmorBlueprint",
|
||||
ItemCount: 1
|
||||
});
|
||||
}
|
||||
if (prevXP < 101250_00 && infestedFoundry.XP >= 101250_00) {
|
||||
recipeChanges.push({
|
||||
ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthProcBlockBlueprint",
|
||||
ItemCount: 1
|
||||
});
|
||||
}
|
||||
if (prevXP < 117000_00 && infestedFoundry.XP >= 117000_00) {
|
||||
recipeChanges.push({
|
||||
ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthEnergyShareBlueprint",
|
||||
ItemCount: 1
|
||||
});
|
||||
}
|
||||
if (prevXP < 133875_00 && infestedFoundry.XP >= 133875_00) {
|
||||
recipeChanges.push({
|
||||
ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthMaxStatusBlueprint",
|
||||
ItemCount: 1
|
||||
});
|
||||
}
|
||||
if (prevXP < 151875_00 && infestedFoundry.XP >= 151875_00) {
|
||||
recipeChanges.push({
|
||||
ItemType: "/Lotus/Types/Recipes/AbilityOverrides/HelminthTreasureBlueprint",
|
||||
ItemCount: 1
|
||||
});
|
||||
}
|
||||
return recipeChanges;
|
||||
};
|
||||
|
||||
interface IHelminthSubsumeRequest {
|
||||
|
Loading…
x
Reference in New Issue
Block a user