Compare commits
2 Commits
9468768947
...
4660b6cce0
Author | SHA1 | Date | |
---|---|---|---|
4660b6cce0 | |||
fe11ee4663 |
@ -1688,9 +1688,9 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
|
|||||||
//Like BossAladV,BossCaptainVor come for you on missions % chance
|
//Like BossAladV,BossCaptainVor come for you on missions % chance
|
||||||
DeathMarks: { type: [String], default: [] },
|
DeathMarks: { type: [String], default: [] },
|
||||||
//Zanuka
|
//Zanuka
|
||||||
Harvestable: Boolean,
|
Harvestable: { type: Boolean, default: true },
|
||||||
//Grustag three
|
//Grustag three
|
||||||
DeathSquadable: Boolean,
|
DeathSquadable: { type: Boolean, default: true },
|
||||||
|
|
||||||
EndlessXP: { type: [endlessXpProgressSchema], default: undefined },
|
EndlessXP: { type: [endlessXpProgressSchema], default: undefined },
|
||||||
|
|
||||||
|
@ -143,38 +143,6 @@ export const addMissionInventoryUpdates = async (
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Somewhat heuristically detect G3 capture:
|
|
||||||
// - https://onlyg.it/OpenWF/SpaceNinjaServer/issues/1365
|
|
||||||
// - https://onlyg.it/OpenWF/SpaceNinjaServer/issues/1694
|
|
||||||
// - https://onlyg.it/OpenWF/SpaceNinjaServer/issues/1724
|
|
||||||
if (
|
|
||||||
inventoryUpdates.MissionFailed &&
|
|
||||||
inventoryUpdates.MissionStatus == "GS_FAILURE" &&
|
|
||||||
inventoryUpdates.ObjectiveReached &&
|
|
||||||
!inventoryUpdates.LockedWeaponGroup &&
|
|
||||||
!inventory.LockedWeaponGroup &&
|
|
||||||
!inventoryUpdates.LevelKeyName
|
|
||||||
) {
|
|
||||||
const loadout = (await Loadout.findById(inventory.LoadOutPresets, "NORMAL"))!;
|
|
||||||
const config = loadout.NORMAL.id(inventory.CurrentLoadOutIds[0].$oid)!;
|
|
||||||
const SuitId = new Types.ObjectId(config.s!.ItemId.$oid);
|
|
||||||
|
|
||||||
inventory.BrandedSuits ??= [];
|
|
||||||
if (!inventory.BrandedSuits.find(x => x.equals(SuitId))) {
|
|
||||||
inventory.BrandedSuits.push(SuitId);
|
|
||||||
|
|
||||||
await createMessage(inventory.accountOwnerId, [
|
|
||||||
{
|
|
||||||
sndr: "/Lotus/Language/Menu/Mailbox_WarframeSender",
|
|
||||||
msg: "/Lotus/Language/G1Quests/BrandedMessage",
|
|
||||||
sub: "/Lotus/Language/G1Quests/BrandedTitle",
|
|
||||||
att: ["/Lotus/Types/Recipes/Components/BrandRemovalBlueprint"],
|
|
||||||
highPriority: true // TOVERIFY: I cannot find any content of this within the last 10 years so I can only assume that highPriority is set (it certainly would make sense), but I just don't know for sure that it is so on live.
|
|
||||||
}
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (inventoryUpdates.RewardInfo) {
|
if (inventoryUpdates.RewardInfo) {
|
||||||
if (inventoryUpdates.RewardInfo.periodicMissionTag) {
|
if (inventoryUpdates.RewardInfo.periodicMissionTag) {
|
||||||
@ -537,6 +505,23 @@ export const addMissionInventoryUpdates = async (
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "BrandedSuits": {
|
||||||
|
inventory.BrandedSuits ??= [];
|
||||||
|
if (!inventory.BrandedSuits.find(x => x.equals(value.$oid))) {
|
||||||
|
inventory.BrandedSuits.push(new Types.ObjectId(value.$oid));
|
||||||
|
|
||||||
|
await createMessage(inventory.accountOwnerId, [
|
||||||
|
{
|
||||||
|
sndr: "/Lotus/Language/Menu/Mailbox_WarframeSender",
|
||||||
|
msg: "/Lotus/Language/G1Quests/BrandedMessage",
|
||||||
|
sub: "/Lotus/Language/G1Quests/BrandedTitle",
|
||||||
|
att: ["/Lotus/Types/Recipes/Components/BrandRemovalBlueprint"],
|
||||||
|
highPriority: true // TOVERIFY: I cannot find any content of this within the last 10 years so I can only assume that highPriority is set (it certainly would make sense), but I just don't know for sure that it is so on live.
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case "LockedWeaponGroup": {
|
case "LockedWeaponGroup": {
|
||||||
inventory.LockedWeaponGroup = {
|
inventory.LockedWeaponGroup = {
|
||||||
s: new Types.ObjectId(value.s.$oid),
|
s: new Types.ObjectId(value.s.$oid),
|
||||||
@ -545,12 +530,17 @@ export const addMissionInventoryUpdates = async (
|
|||||||
m: value.m ? new Types.ObjectId(value.m.$oid) : undefined,
|
m: value.m ? new Types.ObjectId(value.m.$oid) : undefined,
|
||||||
sn: value.sn ? new Types.ObjectId(value.sn.$oid) : undefined
|
sn: value.sn ? new Types.ObjectId(value.sn.$oid) : undefined
|
||||||
};
|
};
|
||||||
|
inventory.Harvestable = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "UnlockWeapons": {
|
case "UnlockWeapons": {
|
||||||
inventory.LockedWeaponGroup = undefined;
|
inventory.LockedWeaponGroup = undefined;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "IncHarvester": {
|
||||||
|
inventory.Harvestable = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case "CurrentLoadOutIds": {
|
case "CurrentLoadOutIds": {
|
||||||
if (value.LoadOuts) {
|
if (value.LoadOuts) {
|
||||||
const loadout = await Loadout.findOne({ loadoutOwnerId: inventory.accountOwnerId });
|
const loadout = await Loadout.findOne({ loadoutOwnerId: inventory.accountOwnerId });
|
||||||
|
@ -130,6 +130,7 @@ export type IMissionInventoryUpdateRequest = {
|
|||||||
}[];
|
}[];
|
||||||
KubrowPetEggs?: IKubrowPetEggClient[];
|
KubrowPetEggs?: IKubrowPetEggClient[];
|
||||||
DiscoveredMarkers?: IDiscoveredMarker[];
|
DiscoveredMarkers?: IDiscoveredMarker[];
|
||||||
|
BrandedSuits?: IOid; // sent when captured by g3
|
||||||
LockedWeaponGroup?: ILockedWeaponGroupClient; // sent when captured by zanuka
|
LockedWeaponGroup?: ILockedWeaponGroupClient; // sent when captured by zanuka
|
||||||
UnlockWeapons?: boolean; // sent when recovered weapons from zanuka capture
|
UnlockWeapons?: boolean; // sent when recovered weapons from zanuka capture
|
||||||
IncHarvester?: boolean; // sent when recovered weapons from zanuka capture
|
IncHarvester?: boolean; // sent when recovered weapons from zanuka capture
|
||||||
|
Loading…
x
Reference in New Issue
Block a user