add worldSate Event #2548
@ -81,6 +81,12 @@
 | 
				
			|||||||
    "darvoStockMultiplier": 1,
 | 
					    "darvoStockMultiplier": 1,
 | 
				
			||||||
    "varziaOverride": "",
 | 
					    "varziaOverride": "",
 | 
				
			||||||
    "varziaFullyStocked": false
 | 
					    "varziaFullyStocked": false
 | 
				
			||||||
 | 
					    "TennoCon": false,
 | 
				
			||||||
 | 
					    "Fomorian": false,
 | 
				
			||||||
 | 
					    "BellyoftheBeast": false,
 | 
				
			||||||
 | 
					    "RecurringGhoul": false,
 | 
				
			||||||
 | 
					    "HeatFissures": false,
 | 
				
			||||||
 | 
					    "BaroTennoCon": false
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "dev": {
 | 
					  "dev": {
 | 
				
			||||||
    "keepVendorsExpired": false
 | 
					    "keepVendorsExpired": false
 | 
				
			||||||
 | 
				
			|||||||
@ -92,6 +92,11 @@ export interface IConfig {
 | 
				
			|||||||
        darvoStockMultiplier?: number;
 | 
					        darvoStockMultiplier?: number;
 | 
				
			||||||
        varziaOverride?: string;
 | 
					        varziaOverride?: string;
 | 
				
			||||||
        varziaFullyStocked?: boolean;
 | 
					        varziaFullyStocked?: boolean;
 | 
				
			||||||
 | 
					        TennoCon?: boolean;
 | 
				
			||||||
 | 
					        Fomorian?: boolean;
 | 
				
			||||||
 | 
					        BellyoftheBeast?: boolean;
 | 
				
			||||||
 | 
					        RecurringGhoul?: boolean;
 | 
				
			||||||
 | 
					        HeatFissures?:boolean;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    dev?: {
 | 
					    dev?: {
 | 
				
			||||||
        keepVendorsExpired?: boolean;
 | 
					        keepVendorsExpired?: boolean;
 | 
				
			||||||
 | 
				
			|||||||
@ -1383,6 +1383,218 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
 | 
				
			|||||||
            Node: "SolarisUnitedHub1"
 | 
					            Node: "SolarisUnitedHub1"
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    if (config.worldState?.TennoCon) {
 | 
				
			||||||
 | 
					        worldState.Goals.push({
 | 
				
			||||||
 | 
					            _id: { $oid: "687bf9400000000000000000" },
 | 
				
			||||||
 | 
					            Activation: { $date: { $numberLong: "1752955200000" } },
 | 
				
			||||||
 | 
					            Expiry: { $date: { $numberLong: "2000000000000" } },
 | 
				
			||||||
 | 
					            Count: 0,
 | 
				
			||||||
 | 
					            Goal: 0,
 | 
				
			||||||
 | 
					            Success: 0,
 | 
				
			||||||
 | 
					            Personal: true,
 | 
				
			||||||
 | 
					            Desc: "/Lotus/Language/Locations/RelayStationTennoConB",
 | 
				
			||||||
 | 
					            ToolTip: "/Lotus/Language/Locations/RelayStationTennoConDescB",
 | 
				
			||||||
 | 
					            Icon: "/Lotus/Interface/Icons/Categories/IconTennoLive.png",
 | 
				
			||||||
 | 
					            Tag: "TennoConRelayB",
 | 
				
			||||||
 | 
					            Node: "TennoConBHUB6"
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (config.worldState?.Fomorian) {
 | 
				
			||||||
 | 
					        worldState.Goals.push({
 | 
				
			||||||
 | 
					            _id: { $oid: "67c8924faf8bb9628dc1c18d" },
 | 
				
			||||||
 | 
					            Fomorian: true,
 | 
				
			||||||
 | 
					            Activation: { $date: { $numberLong: "1741284514166" } },
 | 
				
			||||||
 | 
					            Expiry: { $date: { $numberLong: "2000000000000" } },
 | 
				
			||||||
 | 
					            Count: 0,
 | 
				
			||||||
 | 
					            Goal: 1000000,
 | 
				
			||||||
 | 
					            HealthPct: 0.980806,
 | 
				
			||||||
 | 
					            VictimNode: "PlutoHUB",
 | 
				
			||||||
 | 
					            Personal: true,
 | 
				
			||||||
 | 
					            Best: true,
 | 
				
			||||||
 | 
					            ScoreVar: "FomorianEventScore",
 | 
				
			||||||
 | 
					            ScoreMaxTag: "FomorianEventScore",
 | 
				
			||||||
 | 
					            ScoreTagBlocksGuildTierChanges: false,
 | 
				
			||||||
 | 
					            Success: 0,
 | 
				
			||||||
 | 
					            Node: "EventNode8",
 | 
				
			||||||
 | 
					            Faction: "FC_GRINEER",
 | 
				
			||||||
 | 
					            Desc: "/Lotus/Language/G1Quests/FomorianRevengeBattleName",
 | 
				
			||||||
 | 
					            Icon: "/Lotus/Materials/Emblems/SlingStone2_e.png",
 | 
				
			||||||
 | 
					            RegionDrops: ["/Lotus/Types/Items/MiscItems/OmegaIsotopePickup"],
 | 
				
			||||||
 | 
					            ArchwingDrops: [],
 | 
				
			||||||
 | 
					            ScoreLocTag: "/Lotus/Language/Menu/FomorianScoreHint",
 | 
				
			||||||
 | 
					            Tag: "",
 | 
				
			||||||
 | 
					            MissionInfo: {
 | 
				
			||||||
 | 
					                missionType: "MT_SABOTAGE",
 | 
				
			||||||
 | 
					                faction: "FC_GRINEER",
 | 
				
			||||||
 | 
					                location: "EventNode8",
 | 
				
			||||||
 | 
					                levelOverride: "/Lotus/Levels/Proc/Space/SpaceGrineerFomorianAssaultProcLevel",
 | 
				
			||||||
 | 
					                enemySpec: "/Lotus/Types/Game/EnemySpecs/FomorianAttackSpec",
 | 
				
			||||||
 | 
					                minEnemyLevel: 20,
 | 
				
			||||||
 | 
					                maxEnemyLevel: 30,
 | 
				
			||||||
 | 
					                difficulty: 1,
 | 
				
			||||||
 | 
					                archwingRequired: true,
 | 
				
			||||||
 | 
					                requiredItems: ["/Lotus/StoreItems/Types/Restoratives/Consumable/FomorianNegator"],
 | 
				
			||||||
 | 
					                consumeRequiredItems: false,
 | 
				
			||||||
 | 
					                missionReward: { randomizedItems: "fomorianRewardManifest" },
 | 
				
			||||||
 | 
					                vipAgent: "",
 | 
				
			||||||
 | 
					                leadersAlwaysAllowed: true,
 | 
				
			||||||
 | 
					                goalTag: "",
 | 
				
			||||||
 | 
					                levelAuras: [],
 | 
				
			||||||
 | 
					                icon: "/Lotus/Interface/Icons/Events/Fomorian.png"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ContinuousHubEvent: {
 | 
				
			||||||
 | 
					                Transmissions: ["/Lotus/Sounds/Dialog/HubAnnouncements/HekPropoganda"],
 | 
				
			||||||
 | 
					                Activation: { $date: { $numberLong: "1741284514166" } },
 | 
				
			||||||
 | 
					                Expiry: { $date: { $numberLong: "2000000000000" } },
 | 
				
			||||||
 | 
					                RepeatInterval: 1800
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            Reward: {
 | 
				
			||||||
 | 
					                credits: 200000,
 | 
				
			||||||
 | 
					                items: ["/Lotus/StoreItems/Types/Items/MiscItems/OrokinCatalyst"]
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (config.worldState?.BellyoftheBeast) {
 | 
				
			||||||
 | 
					        worldState.Goals.push({
 | 
				
			||||||
 | 
					            _id: { $oid: "67a5035c2a198564d62e165e" },
 | 
				
			||||||
 | 
					            Activation: { $date: { $numberLong: "1738868400000" } },
 | 
				
			||||||
 | 
					            Community: true,
 | 
				
			||||||
 | 
					            ClanGoal: [72, 216, 648, 1944, 5832],
 | 
				
			||||||
 | 
					            Count: 0,
 | 
				
			||||||
 | 
					            Desc: "/Lotus/Language/JadeShadows/JadeShadowsEventName",
 | 
				
			||||||
 | 
					            Expiry: { $date: { $numberLong: "2000000000000" } },
 | 
				
			||||||
 | 
					            Faction: "FC_MITW",
 | 
				
			||||||
 | 
					            Goal: 100,
 | 
				
			||||||
 | 
					            HealthPct: 1,
 | 
				
			||||||
 | 
					            Icon: "/Lotus/Interface/Icons/WorldStatePanel/JadeShadowsEventBadge.png",
 | 
				
			||||||
 | 
					            ScoreLocTag: "/Lotus/Language/JadeShadows/JadeShadowsEventScore",
 | 
				
			||||||
 | 
					            Tag: "JadeShadowsEvent",
 | 
				
			||||||
 | 
					            ToolTip: "/Lotus/Language/JadeShadows/JadeShadowsShortEventDesc",
 | 
				
			||||||
 | 
					            MissionKeyName: "/Lotus/Types/Keys/JadeShadowsEventMission",
 | 
				
			||||||
 | 
					            Node: "SolNode723",
 | 
				
			||||||
 | 
					            Personal: true,
 | 
				
			||||||
 | 
					            ItemType: "/Lotus/Types/Gameplay/JadeShadows/Resources/AscensionEventResourceItem"
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (config.worldState?.RecurringGhoul) {
 | 
				
			||||||
 | 
					        worldState.Goals.push({
 | 
				
			||||||
 | 
					            _id: { $oid: "687ebbe6d1d17841c9c59f38" },
 | 
				
			||||||
 | 
					            Activation: { $date: { $numberLong: "1753204900185" } },
 | 
				
			||||||
 | 
					            Expiry: { $date: { $numberLong: "1755019300185" } },
 | 
				
			||||||
 | 
					            HealthPct: 0.001108,
 | 
				
			||||||
 | 
					            VictimNode: "SolNode228",
 | 
				
			||||||
 | 
					            Regions: [2],
 | 
				
			||||||
 | 
					            Success: 0,
 | 
				
			||||||
 | 
					            Desc: "/Lotus/Language/GameModes/RecurringGhoulAlert",
 | 
				
			||||||
 | 
					            ToolTip: "/Lotus/Language/GameModes/RecurringGhoulAlertDesc",
 | 
				
			||||||
 | 
					            Icon: "/Lotus/Interface/Icons/Categories/IconGhouls256.png",
 | 
				
			||||||
 | 
					            Tag: "GhoulEmergence",
 | 
				
			||||||
 | 
					            JobAffiliationTag: "CetusSyndicate",
 | 
				
			||||||
 | 
					            JobCurrentVersion: { $oid: "688341880000000000000009" },
 | 
				
			||||||
 | 
					            Jobs: [
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyAss",
 | 
				
			||||||
 | 
					                    rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableARewards",
 | 
				
			||||||
 | 
					                    masteryReq: 1,
 | 
				
			||||||
 | 
					                    minEnemyLevel: 15,
 | 
				
			||||||
 | 
					                    maxEnemyLevel: 25,
 | 
				
			||||||
 | 
					                    xpAmounts: [260, 260, 260, 380]
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyHunt",
 | 
				
			||||||
 | 
					                    rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableBRewards",
 | 
				
			||||||
 | 
					                    masteryReq: 3,
 | 
				
			||||||
 | 
					                    minEnemyLevel: 40,
 | 
				
			||||||
 | 
					                    maxEnemyLevel: 50,
 | 
				
			||||||
 | 
					                    xpAmounts: [450, 450, 450, 670]
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					            JobPreviousVersion: { $oid: "68831e610000000000000009" },
 | 
				
			||||||
 | 
					            PreviousJobs: [
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyRes",
 | 
				
			||||||
 | 
					                    rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableARewards",
 | 
				
			||||||
 | 
					                    masteryReq: 1,
 | 
				
			||||||
 | 
					                    minEnemyLevel: 15,
 | 
				
			||||||
 | 
					                    maxEnemyLevel: 25,
 | 
				
			||||||
 | 
					                    xpAmounts: [270, 270, 270, 400]
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyHunt",
 | 
				
			||||||
 | 
					                    rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableBRewards",
 | 
				
			||||||
 | 
					                    masteryReq: 3,
 | 
				
			||||||
 | 
					                    minEnemyLevel: 40,
 | 
				
			||||||
 | 
					                    maxEnemyLevel: 50,
 | 
				
			||||||
 | 
					                    xpAmounts: [480, 480, 480, 710]
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					            Count: 0,
 | 
				
			||||||
 | 
					            Goal: 0,
 | 
				
			||||||
 | 
					            Personal: true
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (config.worldState?.HeatFissures) {
 | 
				
			||||||
 | 
					        worldState.Goals.push({
 | 
				
			||||||
 | 
					            _id: { $oid: "5c7cb0d00000000000000000" },
 | 
				
			||||||
 | 
					            Activation: { $date: { $numberLong: "1737392400000" } },
 | 
				
			||||||
 | 
					            Expiry: { $date: { $numberLong: "2000000000000" } },
 | 
				
			||||||
 | 
					            Node: "SolNode129",
 | 
				
			||||||
 | 
					            ScoreVar: "FissuresClosed",
 | 
				
			||||||
 | 
					            ScoreLocTag: "/Lotus/Language/G1Quests/HeatFissuresEventScore",
 | 
				
			||||||
 | 
					            Count: 2,
 | 
				
			||||||
 | 
					            HealthPct: 0.02,
 | 
				
			||||||
 | 
					            Regions: [1],
 | 
				
			||||||
 | 
					            Desc: "/Lotus/Language/G1Quests/HeatFissuresEventName",
 | 
				
			||||||
 | 
					            ToolTip: "/Lotus/Language/G1Quests/HeatFissuresEventDesc",
 | 
				
			||||||
 | 
					            OptionalInMission: true,
 | 
				
			||||||
 | 
					            Tag: "HeatFissure",
 | 
				
			||||||
 | 
					            UpgradeIds: [{ $oid: "678be06a422c69eb0ac1c18c" }, { $oid: "678be06a422c69eb0ac1c18d" }],
 | 
				
			||||||
 | 
					            Personal: true,
 | 
				
			||||||
 | 
					            Community: true,
 | 
				
			||||||
 | 
					            Goal: 100,
 | 
				
			||||||
 | 
					            Reward: {
 | 
				
			||||||
 | 
					                credits: 0,
 | 
				
			||||||
 | 
					                xp: 0,
 | 
				
			||||||
 | 
					                items: ["/Lotus/StoreItems/Weapons/Corpus/LongGuns/CrpBFG/Vandal/VandalCrpBFG"],
 | 
				
			||||||
 | 
					                countedItems: []
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            InterimGoals: [5, 25, 50, 75],
 | 
				
			||||||
 | 
					            InterimRewards: [
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    credits: 0,
 | 
				
			||||||
 | 
					                    xp: 0,
 | 
				
			||||||
 | 
					                    items: ["/Lotus/StoreItems/Upgrades/Skins/Clan/OrbBadgeItem"],
 | 
				
			||||||
 | 
					                    countedItems: []
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    credits: 0,
 | 
				
			||||||
 | 
					                    xp: 0,
 | 
				
			||||||
 | 
					                    items: [
 | 
				
			||||||
 | 
					                        "/Lotus/StoreItems/Upgrades/Mods/DualSource/Shotgun/ShotgunMedicMod",
 | 
				
			||||||
 | 
					                        "/Lotus/StoreItems/Upgrades/Mods/DualSource/Rifle/SerratedRushMod"
 | 
				
			||||||
 | 
					                    ],
 | 
				
			||||||
 | 
					                    countedItems: []
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    credits: 0,
 | 
				
			||||||
 | 
					                    xp: 0,
 | 
				
			||||||
 | 
					                    items: [
 | 
				
			||||||
 | 
					                        "/Lotus/StoreItems/Upgrades/Mods/DualSource/Pistol/MultishotDodgeMod",
 | 
				
			||||||
 | 
					                        "/Lotus/StoreItems/Upgrades/Mods/DualSource/Melee/CritDamageChargeSpeedMod"
 | 
				
			||||||
 | 
					                    ],
 | 
				
			||||||
 | 
					                    countedItems: []
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    credits: 0,
 | 
				
			||||||
 | 
					                    xp: 0,
 | 
				
			||||||
 | 
					                    items: ["/Lotus/StoreItems/Upgrades/Skins/Sigils/OrbSigil"],
 | 
				
			||||||
 | 
					                    countedItems: []
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					            Success: 0,
 | 
				
			||||||
 | 
					            Icon: ""
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    // The client gets kinda confused when multiple goals have the same tag, so considering these mutually exclusive.
 | 
					    // The client gets kinda confused when multiple goals have the same tag, so considering these mutually exclusive.
 | 
				
			||||||
    if (config.worldState?.galleonOfGhouls == 1) {
 | 
					    if (config.worldState?.galleonOfGhouls == 1) {
 | 
				
			||||||
        worldState.Goals.push({
 | 
					        worldState.Goals.push({
 | 
				
			||||||
@ -1637,6 +1849,57 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
 | 
				
			|||||||
                vt.Manifest.push(item);
 | 
					                vt.Manifest.push(item);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        if (config.worldState?.BaroTennoCon) {
 | 
				
			||||||
 | 
					            const vt: IVoidTrader = {
 | 
				
			||||||
 | 
					                _id: { $oid: ((baroStart / 1000) & 0xffffffff).toString(16).padStart(8, "0") + "493c96d6067610bc" },
 | 
				
			||||||
 | 
					                Activation: { $date: { $numberLong: baroActualStart.toString() } },
 | 
				
			||||||
 | 
					                Expiry: { $date: { $numberLong: baroEnd.toString() } },
 | 
				
			||||||
 | 
					                Character: "Baro'Ki Teel",
 | 
				
			||||||
 | 
					                Node: "TennoConHUB2",
 | 
				
			||||||
 | 
					                Manifest: []
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            worldState.VoidTraders.push(vt);
 | 
				
			||||||
 | 
					            for (const armorSet of baro.armorSets) {
 | 
				
			||||||
 | 
					                if (Array.isArray(armorSet[0])) {
 | 
				
			||||||
 | 
					                    for (const set of armorSet as IVoidTraderOffer[][]) {
 | 
				
			||||||
 | 
					                        for (const item of set) {
 | 
				
			||||||
 | 
					                            vt.Manifest.push(item);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    for (const item of armorSet as IVoidTraderOffer[]) {
 | 
				
			||||||
 | 
					                        vt.Manifest.push(item);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            for (const item of baro.rest) {
 | 
				
			||||||
 | 
					                vt.Manifest.push(item);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            worldState.Goals.push({
 | 
				
			||||||
 | 
					                _id: {
 | 
				
			||||||
 | 
					                    $oid: "687bb2f00000000000000000"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                Activation: {
 | 
				
			||||||
 | 
					                    $date: {
 | 
				
			||||||
 | 
					                        $numberLong: baroActualStart.toString()
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                Expiry: {
 | 
				
			||||||
 | 
					                    $date: {
 | 
				
			||||||
 | 
					                        $numberLong: baroEnd.toString()
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                Count: 0,
 | 
				
			||||||
 | 
					                Goal: 0,
 | 
				
			||||||
 | 
					                Success: 0,
 | 
				
			||||||
 | 
					                Personal: true,
 | 
				
			||||||
 | 
					                Desc: "/Lotus/Language/Locations/RelayStationTennoCon",
 | 
				
			||||||
 | 
					                ToolTip: "/Lotus/Language/Locations/RelayStationTennoConDesc",
 | 
				
			||||||
 | 
					                Icon: "/Lotus/Interface/Icons/Categories/IconTennoConSigil.png",
 | 
				
			||||||
 | 
					                Tag: "TennoConRelay",
 | 
				
			||||||
 | 
					                Node: "TennoConHUB2"
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Varzia
 | 
					    // Varzia
 | 
				
			||||||
 | 
				
			|||||||
@ -39,7 +39,7 @@ export interface IGoal {
 | 
				
			|||||||
    Expiry: IMongoDate;
 | 
					    Expiry: IMongoDate;
 | 
				
			||||||
    Count: number;
 | 
					    Count: number;
 | 
				
			||||||
    Goal: number;
 | 
					    Goal: number;
 | 
				
			||||||
    Success: number;
 | 
					    Success?: number;
 | 
				
			||||||
    Personal: boolean;
 | 
					    Personal: boolean;
 | 
				
			||||||
    Bounty?: boolean;
 | 
					    Bounty?: boolean;
 | 
				
			||||||
    ClampNodeScores?: boolean;
 | 
					    ClampNodeScores?: boolean;
 | 
				
			||||||
@ -47,9 +47,85 @@ export interface IGoal {
 | 
				
			|||||||
    ToolTip?: string;
 | 
					    ToolTip?: string;
 | 
				
			||||||
    Icon: string;
 | 
					    Icon: string;
 | 
				
			||||||
    Tag: string;
 | 
					    Tag: string;
 | 
				
			||||||
    Node: string;
 | 
					    Node?: string;
 | 
				
			||||||
    MissionKeyName?: string;
 | 
					    MissionKeyName?: string;
 | 
				
			||||||
    Reward?: IMissionReward;
 | 
					    Reward?: IMissionReward;
 | 
				
			||||||
 | 
					    ScoreVar?: string;
 | 
				
			||||||
 | 
					    ScoreLocTag?: string;
 | 
				
			||||||
 | 
					    HealthPct?: number;
 | 
				
			||||||
 | 
					    Regions?: number[];
 | 
				
			||||||
 | 
					    OptionalInMission?: boolean;
 | 
				
			||||||
 | 
					    UpgradeIds?: { $oid: string }[];
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 | 
				|||||||
 | 
					    Community?: boolean;
 | 
				
			||||||
 | 
					    InterimGoals?: number[];
 | 
				
			||||||
 | 
					    InterimRewards?: {
 | 
				
			||||||
 | 
					        credits: number;
 | 
				
			||||||
 | 
					        xp: number;
 | 
				
			||||||
 | 
					        items: string[];
 | 
				
			||||||
 | 
					        countedItems: never[];
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 
				
					
						AMelonInsideLemon
						commented  
			
		
 `countedItems?: ITypeCount[];` 
			
			
		 | 
				|||||||
 | 
					    }[];
 | 
				
			||||||
 | 
					    Fomorian?: boolean;
 | 
				
			||||||
 | 
					    VictimNode?: string;
 | 
				
			||||||
 | 
					    Best?: boolean;
 | 
				
			||||||
 | 
					    ScoreMaxTag?: string;
 | 
				
			||||||
 | 
					    ScoreTagBlocksGuildTierChanges?: boolean;
 | 
				
			||||||
 | 
					    Faction?: string;
 | 
				
			||||||
 | 
					    RegionDrops?: string[];
 | 
				
			||||||
 | 
					    ArchwingDrops?: never[];
 | 
				
			||||||
 | 
					    MissionInfo?: {
 | 
				
			||||||
 | 
					        missionType: string;
 | 
				
			||||||
 | 
					        faction: string;
 | 
				
			||||||
 | 
					        location: string;
 | 
				
			||||||
 | 
					        levelOverride: string;
 | 
				
			||||||
 | 
					        enemySpec: string;
 | 
				
			||||||
 | 
					        minEnemyLevel: number;
 | 
				
			||||||
 | 
					        maxEnemyLevel: number;
 | 
				
			||||||
 | 
					        difficulty: number;
 | 
				
			||||||
 | 
					        archwingRequired: boolean;
 | 
				
			||||||
 | 
					        icon: string;
 | 
				
			||||||
 | 
					        requiredItems: string[];
 | 
				
			||||||
 | 
					        consumeRequiredItems: boolean;
 | 
				
			||||||
 | 
					        missionReward: { randomizedItems: string };
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 
				
					
						AMelonInsideLemon
						commented  
			
		
 `missionReward` has the same structure as the objects in `InterimRewards` 
			
			
		 | 
				|||||||
 | 
					        vipAgent: string;
 | 
				
			||||||
 | 
					        leadersAlwaysAllowed: boolean;
 | 
				
			||||||
 | 
					        goalTag: string;
 | 
				
			||||||
 | 
					        levelAuras: never[];
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 
				
					
						AMelonInsideLemon
						commented  
			
		
 `levelAuras: string[];` 
			
			
		 | 
				|||||||
 | 
					    };
 | 
				
			||||||
 | 
					    ContinuousHubEvent?: {
 | 
				
			||||||
 | 
					        Transmissions: string[];
 | 
				
			||||||
 | 
					        Activation: {
 | 
				
			||||||
 | 
					            $date: {
 | 
				
			||||||
 | 
					                $numberLong: string;
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        Expiry: {
 | 
				
			||||||
 | 
					            $date: {
 | 
				
			||||||
 | 
					                $numberLong: string;
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        RepeatInterval: number;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    ClanGoal?: number[];
 | 
				
			||||||
 | 
					    ItemType?: string;
 | 
				
			||||||
 | 
					    JobAffiliationTag?: string;
 | 
				
			||||||
 | 
					    JobCurrentVersion?: { $oid: string };
 | 
				
			||||||
 | 
					    Jobs?: {
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 
				
					
						AMelonInsideLemon
						commented  
			
		
 `Jobs` and `PreviousJobs` here follows the same structure as `Jobs` in `ISyndicateMissionInfo` 
			
			
		 | 
				|||||||
 | 
					        jobType: string;
 | 
				
			||||||
 | 
					        rewards: string;
 | 
				
			||||||
 | 
					        masteryReq: number;
 | 
				
			||||||
 | 
					        minEnemyLevel: number;
 | 
				
			||||||
 | 
					        maxEnemyLevel: number;
 | 
				
			||||||
 | 
					        xpAmounts: number[];
 | 
				
			||||||
 | 
					    }[];
 | 
				
			||||||
 | 
					    JobPreviousVersion?: { $oid: string };
 | 
				
			||||||
 | 
					    PreviousJobs?: {
 | 
				
			||||||
 | 
					        jobType: string;
 | 
				
			||||||
 | 
					        rewards: string;
 | 
				
			||||||
 | 
					        masteryReq: number;
 | 
				
			||||||
 | 
					        minEnemyLevel: number;
 | 
				
			||||||
 | 
					        maxEnemyLevel: number;
 | 
				
			||||||
 | 
					        xpAmounts: number[];
 | 
				
			||||||
 | 
					    }[];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface ISyndicateMissionInfo {
 | 
					export interface ISyndicateMissionInfo {
 | 
				
			||||||
 | 
				
			|||||||
@ -401,7 +401,43 @@
 | 
				
			|||||||
    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/BaroKiTeerDecorationC", "PrimePrice": 100, "RegularPrice": 100000 },
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/BaroKiTeerDecorationC", "PrimePrice": 100, "RegularPrice": 100000 },
 | 
				
			||||||
    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/PedistalPrime", "PrimePrice": 0, "RegularPrice": 1000000 },
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/PedistalPrime", "PrimePrice": 0, "RegularPrice": 1000000 },
 | 
				
			||||||
    { "ItemType": "/Lotus/StoreItems/Types/Items/Emotes/BaroEmote", "PrimePrice": 0, "RegularPrice": 1000000 },
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/Emotes/BaroEmote", "PrimePrice": 0, "RegularPrice": 1000000 },
 | 
				
			||||||
    { "ItemType": "/Lotus/StoreItems/Upgrades/Mods/Rifle/EventSniperReloadDamageMod", "PrimePrice": 2995, "RegularPrice": 1000000 }
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Mods/Rifle/EventSniperReloadDamageMod", "PrimePrice": 2995, "RegularPrice": 1000000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageAvaClemCommunityGlyph", "PrimePrice": 20, "RegularPrice": 33333 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/TennoconConcert2025Display", "PrimePrice": 90, "RegularPrice": 125000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/SummerGameFestPoster", "PrimePrice": 90, "RegularPrice": 125000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/SummerGameFestPoster", "PrimePrice": 90, "RegularPrice": 125000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/RathuumEventPoster", "PrimePrice": 90, "RegularPrice": 125000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/StoreItems/AvatarImages/Factions/GlyphFactionCorpus", "PrimePrice": 70, "RegularPrice": 55000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/StoreItems/AvatarImages/Factions/GlyphFactionEntrati", "PrimePrice": 99, "RegularPrice": 1900 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/StoreItems/AvatarImages/Factions/GlyphFactionScaldra", "PrimePrice": 93, "RegularPrice": 1906 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/StoreItems/AvatarImages/Factions/GlyphFactionTechrot", "PrimePrice": 98, "RegularPrice": 1901 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/StoreItems/AvatarImages/Warframes/VorunaActionGlyph", "PrimePrice": 75, "RegularPrice": 60000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageVoidAngelBaro", "PrimePrice": 80, "RegularPrice": 50000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Skins/Sigils/1999DrippySigil", "PrimePrice": 50, "RegularPrice": 45000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Skins/Weapons/Rapier/CrpRapierSkin", "PrimePrice": 375, "RegularPrice": 400000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Skins/Events/OgrisOldSchool", "PrimePrice": 350, "RegularPrice": 325000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Skins/Sigils/PrismaLotusFlamesSigil", "PrimePrice": 55, "RegularPrice": 60000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Mods/Rifle/EventSniperReloadDamageMod", "PrimePrice": 2995, "RegularPrice": 1000000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageAvaClemCommunityGlyph", "PrimePrice": 20, "RegularPrice": 33333 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/TennoconConcert2025Display", "PrimePrice": 90, "RegularPrice": 125000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/SummerGameFestPoster", "PrimePrice": 90, "RegularPrice": 125000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Mods/Melee/Expert/WeaponMeleeFactionDamageMurmursExpert", "PrimePrice": 375, "RegularPrice": 130000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Mods/Pistol/Expert/WeaponRecoilReductionModExpert", "PrimePrice": 300, "RegularPrice": 220000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Mods/Rifle/Expert/WeaponRecoilReductionModExpert", "PrimePrice": 300, "RegularPrice": 220000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Upgrades/Mods/Shotgun/Expert/WeaponRecoilReductionModExpert", "PrimePrice": 300, "RegularPrice": 220000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/TenthAnniversaryLoginSongItem", "PrimePrice": 145, "RegularPrice": 165000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/AbyssofDagathSongItem", "PrimePrice": 150, "RegularPrice": 155000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/ZarimanLoginSongItem", "PrimePrice": 160, "RegularPrice": 180000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/DanteUnboundLoginSongItem", "PrimePrice": 150, "RegularPrice": 150000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/EmpyreanSongItem", "PrimePrice": 160, "RegularPrice": 155000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/DeimosLoginSongItem", "PrimePrice": 155, "RegularPrice": 160000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/JadeShadowsLoginSongItem", "PrimePrice": 150, "RegularPrice": 170000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/WhispersInTheWallLoginSongItem", "PrimePrice": 165, "RegularPrice": 170000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/CorpusRailjackLoginSongItem", "PrimePrice": 150, "RegularPrice": 165000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/LotusEatersSongItem", "PrimePrice": 165, "RegularPrice": 150000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/SongItems/KuvaLichLoginSongItem", "PrimePrice": 140, "RegularPrice": 170000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/Plushies/PlushyBaro", "PrimePrice": 100, "RegularPrice": 125000 },
 | 
				
			||||||
 | 
					    { "ItemType": "/Lotus/StoreItems/Types/Items/ShipDecos/Plushies/PlushyInaros", "PrimePrice": 120, "RegularPrice": 90000 }
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "allIfAny": [
 | 
					  "allIfAny": [
 | 
				
			||||||
    [
 | 
					    [
 | 
				
			||||||
 | 
				
			|||||||
@ -922,6 +922,30 @@
 | 
				
			|||||||
                                    <input class="form-check-input" type="checkbox" id="worldState.starDays" />
 | 
					                                    <input class="form-check-input" type="checkbox" id="worldState.starDays" />
 | 
				
			||||||
                                    <label class="form-check-label" for="worldState.starDays" data-loc="worldState_starDays"></label>
 | 
					                                    <label class="form-check-label" for="worldState.starDays" data-loc="worldState_starDays"></label>
 | 
				
			||||||
                                </div>
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                <div class="form-check">
 | 
				
			||||||
 | 
					                                    <input class="form-check-input" type="checkbox" id="worldState.TennoCon" />
 | 
				
			||||||
 | 
					                                    <label class="form-check-label" for="worldState.TennoCon" data-loc="worldState_TennoCon"></label>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                <div class="form-check">
 | 
				
			||||||
 | 
					                                    <input class="form-check-input" type="checkbox" id="worldState.BaroTennoCon" />
 | 
				
			||||||
 | 
					                                    <label class="form-check-label" for="worldState.BaroTennoCon" data-loc="worldState_BaroTennoCon"></label>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                <div class="form-check">
 | 
				
			||||||
 | 
					                                    <input class="form-check-input" type="checkbox" id="worldState.Fomorian" />
 | 
				
			||||||
 | 
					                                    <label class="form-check-label" for="worldState.Fomorian" data-loc="worldState_Fomorian"></label>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                <div class="form-check">
 | 
				
			||||||
 | 
					                                    <input class="form-check-input" type="checkbox" id="worldState.BellyoftheBeast" />
 | 
				
			||||||
 | 
					                                    <label class="form-check-label" for="worldState.BellyoftheBeast" data-loc="worldState_BellyoftheBeast"></label>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                <div class="form-check">
 | 
				
			||||||
 | 
					                                    <input class="form-check-input" type="checkbox" id="worldState.RecurringGhoul" />
 | 
				
			||||||
 | 
					                                    <label class="form-check-label" for="worldState.RecurringGhoul" data-loc="worldState_RecurringGhoul"></label>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
 | 
					                                <div class="form-check">
 | 
				
			||||||
 | 
					                                    <input class="form-check-input" type="checkbox" id="worldState.HeatFissures" />
 | 
				
			||||||
 | 
					                                    <label class="form-check-label" for="worldState.HeatFissures" data-loc="worldState_HeatFissures"></label>
 | 
				
			||||||
 | 
					                                </div>
 | 
				
			||||||
                                <div class="form-check">
 | 
					                                <div class="form-check">
 | 
				
			||||||
                                    <input class="form-check-input" type="checkbox" id="worldState.varziaFullyStocked" />
 | 
					                                    <input class="form-check-input" type="checkbox" id="worldState.varziaFullyStocked" />
 | 
				
			||||||
                                    <label class="form-check-label" for="worldState.varziaFullyStocked" data-loc="worldState_varziaFullyStocked"></label>
 | 
					                                    <label class="form-check-label" for="worldState.varziaFullyStocked" data-loc="worldState_varziaFullyStocked"></label>
 | 
				
			||||||
 | 
				
			|||||||
@ -239,7 +239,13 @@ dict = {
 | 
				
			|||||||
    worldState_affinityBoost: `经验加成`,
 | 
					    worldState_affinityBoost: `经验加成`,
 | 
				
			||||||
    worldState_resourceBoost: `资源加成`,
 | 
					    worldState_resourceBoost: `资源加成`,
 | 
				
			||||||
    worldState_starDays: `活动:星日`,
 | 
					    worldState_starDays: `活动:星日`,
 | 
				
			||||||
 | 
					    worldState_TennoCon: `TennoCon中继站`,
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 
				
					
						AMelonInsideLemon
						commented  
			
		where is English translations? where is English translations? 
			
			
		 | 
				|||||||
 | 
					    worldState_Fomorian: `破坏巨人战舰`,
 | 
				
			||||||
 | 
					    worldState_BellyoftheBeast: `行动代号: 兽之腹`,
 | 
				
			||||||
    worldState_galleonOfGhouls: `战术警报:尸鬼的帆船战舰`,
 | 
					    worldState_galleonOfGhouls: `战术警报:尸鬼的帆船战舰`,
 | 
				
			||||||
 | 
					    worldState_RecurringGhoul: `尸鬼净化`,
 | 
				
			||||||
 | 
					    worldState_HeatFissures: `热美亚裂缝`,
 | 
				
			||||||
 | 
					    worldState_BaroTennoCon: `虚空商人中继站`,
 | 
				
			||||||
    disabled: `关闭/取消配置`,
 | 
					    disabled: `关闭/取消配置`,
 | 
				
			||||||
    worldState_we1: `活动阶段:第一周`,
 | 
					    worldState_we1: `活动阶段:第一周`,
 | 
				
			||||||
    worldState_we2: `活动阶段:第二周`,
 | 
					    worldState_we2: `活动阶段:第二周`,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	
we have
IOidfor that