Compare commits

...

2 Commits
main ... main

Author SHA1 Message Date
ffb3c01c80 add world Event add RecurringGhoul misson
All checks were successful
Build / build (pull_request) Successful in 1m19s
2025-07-27 12:00:45 +08:00
d02fba869d add world Event add RecurringGhoul misson
Some checks failed
Build / build (pull_request) Failing after 1m25s
2025-07-27 04:06:38 +08:00
12 changed files with 557 additions and 65 deletions

View File

@ -81,8 +81,14 @@
"darvoStockMultiplier": 1, "darvoStockMultiplier": 1,
"varziaOverride": "", "varziaOverride": "",
"varziaFullyStocked": false "varziaFullyStocked": false
"TennoCon": false,
"RecurringGhoul": false,
"Fomorian": false,
"BaroTennoCon": false,
"BellyoftheBeast": false,
"HeatFissures": false
}, },
"dev": { "dev": {
"keepVendorsExpired": false "keepVendorsExpired": false
} }
} }

View File

@ -92,6 +92,12 @@ export interface IConfig {
darvoStockMultiplier?: number; darvoStockMultiplier?: number;
varziaOverride?: string; varziaOverride?: string;
varziaFullyStocked?: boolean; varziaFullyStocked?: boolean;
TennoCon?: boolean;
BaroTennoCon?: boolean;
Fomorian?: boolean;
BellyoftheBeast?: boolean;
RecurringGhoul?: boolean;
HeatFissures?: boolean;
}; };
dev?: { dev?: {
keepVendorsExpired?: boolean; keepVendorsExpired?: boolean;

View File

@ -498,6 +498,93 @@ export const pushClassicBounties = (syndicateMissions: ISyndicateMissionInfo[],
{ {
const rng = new SRng(seed); const rng = new SRng(seed);
const pool = [...eidolonJobs]; const pool = [...eidolonJobs];
const JobsArray = [
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierATable${table}Rewards`,
masteryReq: 0,
minEnemyLevel: 5,
maxEnemyLevel: 15,
xpAmounts: generateXpAmounts(rng, 3, 1000, 1500)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierBTable${table}Rewards`,
masteryReq: 1,
minEnemyLevel: 10,
maxEnemyLevel: 30,
xpAmounts: generateXpAmounts(rng, 3, 1750, 2250)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierCTable${table}Rewards`,
masteryReq: 2,
minEnemyLevel: 20,
maxEnemyLevel: 40,
xpAmounts: generateXpAmounts(rng, 4, 2500, 3000)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierDTable${table}Rewards`,
masteryReq: 3,
minEnemyLevel: 30,
maxEnemyLevel: 50,
xpAmounts: generateXpAmounts(rng, 5, 3250, 3750)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierETable${table}Rewards`,
masteryReq: 5,
minEnemyLevel: 40,
maxEnemyLevel: 60,
xpAmounts: generateXpAmounts(rng, 5, 4000, 4500)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierETable${table}Rewards`,
masteryReq: 10,
minEnemyLevel: 100,
maxEnemyLevel: 100,
xpAmounts: [840, 840, 840, 840, 1660]
},
{
jobType: rng.randomElement(eidolonNarmerJobs),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/NarmerTable${table}Rewards`,
masteryReq: 0,
minEnemyLevel: 50,
maxEnemyLevel: 70,
xpAmounts: generateXpAmounts(rng, 5, 4500, 5000)
}
];
if (config.worldState?.RecurringGhoul) {
JobsArray.shift();
JobsArray.shift();
JobsArray.shift();
JobsArray.unshift({
jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyAss",
rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableARewards",
masteryReq: 1,
minEnemyLevel: 20,
maxEnemyLevel: 30,
xpAmounts: [260, 260, 260, 380]
});
JobsArray.unshift({
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]
});
JobsArray.unshift({
jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyExt",
rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableBRewards",
masteryReq: 3,
minEnemyLevel: 60,
maxEnemyLevel: 70,
xpAmounts: [450, 450, 450, 670]
});
}
syndicateMissions.push({ syndicateMissions.push({
_id: { _id: {
$oid: ((bountyCycleStart / 1000) & 0xffffffff).toString(16).padStart(8, "0") + "0000000000000008" $oid: ((bountyCycleStart / 1000) & 0xffffffff).toString(16).padStart(8, "0") + "0000000000000008"
@ -507,67 +594,9 @@ export const pushClassicBounties = (syndicateMissions: ISyndicateMissionInfo[],
Tag: "CetusSyndicate", Tag: "CetusSyndicate",
Seed: seed, Seed: seed,
Nodes: [], Nodes: [],
Jobs: [ Jobs: JobsArray
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierATable${table}Rewards`,
masteryReq: 0,
minEnemyLevel: 5,
maxEnemyLevel: 15,
xpAmounts: generateXpAmounts(rng, 3, 1000, 1500)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierBTable${table}Rewards`,
masteryReq: 1,
minEnemyLevel: 10,
maxEnemyLevel: 30,
xpAmounts: generateXpAmounts(rng, 3, 1750, 2250)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierCTable${table}Rewards`,
masteryReq: 2,
minEnemyLevel: 20,
maxEnemyLevel: 40,
xpAmounts: generateXpAmounts(rng, 4, 2500, 3000)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierDTable${table}Rewards`,
masteryReq: 3,
minEnemyLevel: 30,
maxEnemyLevel: 50,
xpAmounts: generateXpAmounts(rng, 5, 3250, 3750)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierETable${table}Rewards`,
masteryReq: 5,
minEnemyLevel: 40,
maxEnemyLevel: 60,
xpAmounts: generateXpAmounts(rng, 5, 4000, 4500)
},
{
jobType: rng.randomElementPop(pool),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/TierETable${table}Rewards`,
masteryReq: 10,
minEnemyLevel: 100,
maxEnemyLevel: 100,
xpAmounts: [840, 840, 840, 840, 1660]
},
{
jobType: rng.randomElement(eidolonNarmerJobs),
rewards: `/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/NarmerTable${table}Rewards`,
masteryReq: 0,
minEnemyLevel: 50,
maxEnemyLevel: 70,
xpAmounts: generateXpAmounts(rng, 5, 4500, 5000)
}
]
}); });
} }
{ {
const rng = new SRng(seed); const rng = new SRng(seed);
const pool = [...venusJobs]; const pool = [...venusJobs];
@ -1383,6 +1412,241 @@ 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: [
{
credits: 0,
xp: 0,
items: [],
countedItems: [],
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: "2000000000000" } },
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: 20,
maxEnemyLevel: 30,
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]
},
{
jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyExt",
rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableBRewards",
masteryReq: 3,
minEnemyLevel: 60,
maxEnemyLevel: 70,
xpAmounts: [450, 450, 450, 670]
}
],
JobPreviousVersion: { $oid: "68831e610000000000000009" },
PreviousJobs: [
{
jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyAss",
rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableARewards",
masteryReq: 1,
minEnemyLevel: 20,
maxEnemyLevel: 30,
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]
},
{
jobType: "/Lotus/Types/Gameplay/Eidolon/Jobs/Events/GhoulAlertBountyExt",
rewards: "/Lotus/Types/Game/MissionDecks/EidolonJobMissionRewards/GhoulBountyTableBRewards",
masteryReq: 3,
minEnemyLevel: 60,
maxEnemyLevel: 70,
xpAmounts: [450, 450, 450, 670]
}
],
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,
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({
@ -1584,6 +1848,68 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
Manifest: [] Manifest: []
}; };
worldState.VoidTraders.push(vt); worldState.VoidTraders.push(vt);
// add Baro TennoCon Relay
if (config.worldState?.BaroTennoCon) {
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"
});
const _Manifest = [];
for (const armorSet of baro.armorSets) {
if (Array.isArray(armorSet[0])) {
for (const set of armorSet as IVoidTraderOffer[][]) {
for (const item of set) {
_Manifest.push(item);
}
}
} else {
for (const item of armorSet as IVoidTraderOffer[]) {
_Manifest.push(item);
}
}
}
for (const item of baro.rest) {
_Manifest.push(item);
}
worldState.VoidTraders.push({
_id: {
$oid: "687809030379266d790495c6"
},
Activation: {
$date: {
$numberLong: baroActualStart.toString()
}
},
Expiry: {
$date: {
$numberLong: baroEnd.toString()
}
},
Character: "Baro'Ki Teel",
Node: "TennoConHUB2",
Manifest: _Manifest
});
}
if (isBeforeNextExpectedWorldStateRefresh(timeMs, baroActualStart)) { if (isBeforeNextExpectedWorldStateRefresh(timeMs, baroActualStart)) {
vt.Manifest = []; vt.Manifest = [];
if (config.baroFullyStocked) { if (config.baroFullyStocked) {

View File

@ -1,5 +1,5 @@
import { IMissionReward } from "warframe-public-export-plus"; import { IMissionReward } from "warframe-public-export-plus";
import { IMongoDate, IOid } from "@/src/types/commonTypes"; import { IMongoDate, IOid, ITypeCount } from "@/src/types/commonTypes";
export interface IWorldState { export interface IWorldState {
Version: number; // for goals Version: number; // for goals
@ -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,72 @@ 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?: IOid[];
Community?: boolean;
InterimGoals?: number[];
InterimRewards?: {
credits: number;
xp: number;
items: string[];
countedItems: ITypeCount[];
randomizedItems?: string;
}[];
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: IGoal["InterimRewards"];
vipAgent: string;
leadersAlwaysAllowed: boolean;
goalTag: string;
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?: ISyndicateMissionInfo["Jobs"];
JobPreviousVersion?: { $oid: string };
PreviousJobs?: ISyndicateMissionInfo["Jobs"];
} }
export interface ISyndicateMissionInfo { export interface ISyndicateMissionInfo {
@ -57,7 +120,7 @@ export interface ISyndicateMissionInfo {
Activation: IMongoDate; Activation: IMongoDate;
Expiry: IMongoDate; Expiry: IMongoDate;
Tag: string; Tag: string;
Seed: number; Seed?: number;
Nodes: string[]; Nodes: string[];
Jobs?: { Jobs?: {
jobType?: string; jobType?: string;

View File

@ -401,7 +401,38 @@
{ "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/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/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": [
[ [

View File

@ -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.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">
<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"> <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>

View File

@ -239,6 +239,12 @@ dict = {
worldState_affinityBoost: `Event Booster: Erfahrung`, worldState_affinityBoost: `Event Booster: Erfahrung`,
worldState_resourceBoost: `Event Booster: Ressourcen`, worldState_resourceBoost: `Event Booster: Ressourcen`,
worldState_starDays: `Sternen-Tage`, worldState_starDays: `Sternen-Tage`,
worldState_TennoCon: `[UNTRANSLATED] TennoCon Relay`,
worldState_BaroTennoCon: `[UNTRANSLATED] Baro TennoCon Relay`,
worldState_Fomorian: `[UNTRANSLATED] Fomorian`,
worldState_BellyoftheBeast: `[UNTRANSLATED] BellyoftheBeast`,
worldState_RecurringGhoul: `[UNTRANSLATED] RecurringGhoul`,
worldState_HeatFissures: `[UNTRANSLATED] HeatFissures`,
worldState_galleonOfGhouls: `Galeone der Ghule`, worldState_galleonOfGhouls: `Galeone der Ghule`,
disabled: `Deaktiviert`, disabled: `Deaktiviert`,
worldState_we1: `Wochenende 1`, worldState_we1: `Wochenende 1`,

View File

@ -238,6 +238,12 @@ dict = {
worldState_affinityBoost: `Affinity Boost`, worldState_affinityBoost: `Affinity Boost`,
worldState_resourceBoost: `Resource Boost`, worldState_resourceBoost: `Resource Boost`,
worldState_starDays: `Star Days`, worldState_starDays: `Star Days`,
worldState_TennoCon: `TennoCon Relay`,
worldState_BaroTennoCon: `Baro TennoCon Relay`,
worldState_Fomorian: `Fomorian`,
worldState_BellyoftheBeast: `BellyoftheBeast`,
worldState_RecurringGhoul: `RecurringGhoul`,
worldState_HeatFissures: `HeatFissures`,
worldState_galleonOfGhouls: `Galleon of Ghouls`, worldState_galleonOfGhouls: `Galleon of Ghouls`,
disabled: `Disabled`, disabled: `Disabled`,
worldState_we1: `Weekend 1`, worldState_we1: `Weekend 1`,

View File

@ -239,6 +239,12 @@ dict = {
worldState_affinityBoost: `Potenciador de Afinidad`, worldState_affinityBoost: `Potenciador de Afinidad`,
worldState_resourceBoost: `Potenciador de Recursos`, worldState_resourceBoost: `Potenciador de Recursos`,
worldState_starDays: `Días estelares`, worldState_starDays: `Días estelares`,
worldState_TennoCon: `[UNTRANSLATED] TennoCon Relay`,
worldState_BaroTennoCon: `[UNTRANSLATED] Baro TennoCon Relay`,
worldState_Fomorian: `[UNTRANSLATED] Fomorian`,
worldState_BellyoftheBeast: `[UNTRANSLATED] BellyoftheBeast`,
worldState_RecurringGhoul: `[UNTRANSLATED] RecurringGhoul`,
worldState_HeatFissures: `[UNTRANSLATED] HeatFissures`,
worldState_galleonOfGhouls: `Galeón de Gules`, worldState_galleonOfGhouls: `Galeón de Gules`,
disabled: `Desactivado`, disabled: `Desactivado`,
worldState_we1: `Semana 1`, worldState_we1: `Semana 1`,

View File

@ -239,6 +239,12 @@ dict = {
worldState_affinityBoost: `Booster d'Affinité`, worldState_affinityBoost: `Booster d'Affinité`,
worldState_resourceBoost: `Booster de Ressource`, worldState_resourceBoost: `Booster de Ressource`,
worldState_starDays: `Jours Stellaires`, worldState_starDays: `Jours Stellaires`,
worldState_TennoCon: `[UNTRANSLATED] TennoCon Relay`,
worldState_BaroTennoCon: `[UNTRANSLATED] Baro TennoCon Relay`,
worldState_Fomorian: `[UNTRANSLATED] Fomorian`,
worldState_BellyoftheBeast: `[UNTRANSLATED] BellyoftheBeast`,
worldState_RecurringGhoul: `[UNTRANSLATED] RecurringGhoul`,
worldState_HeatFissures: `[UNTRANSLATED] HeatFissures`,
worldState_galleonOfGhouls: `Galion des Goules`, worldState_galleonOfGhouls: `Galion des Goules`,
disabled: `Désactivé`, disabled: `Désactivé`,
worldState_we1: `Weekend 1`, worldState_we1: `Weekend 1`,

View File

@ -239,6 +239,12 @@ dict = {
worldState_affinityBoost: `[UNTRANSLATED] Affinity Boost`, worldState_affinityBoost: `[UNTRANSLATED] Affinity Boost`,
worldState_resourceBoost: `[UNTRANSLATED] Resource Boost`, worldState_resourceBoost: `[UNTRANSLATED] Resource Boost`,
worldState_starDays: `[UNTRANSLATED] Star Days`, worldState_starDays: `[UNTRANSLATED] Star Days`,
worldState_TennoCon: `[UNTRANSLATED] TennoCon Relay`,
worldState_BaroTennoCon: `[UNTRANSLATED] Baro TennoCon Relay`,
worldState_Fomorian: `[UNTRANSLATED] Fomorian`,
worldState_BellyoftheBeast: `[UNTRANSLATED] BellyoftheBeast`,
worldState_RecurringGhoul: `[UNTRANSLATED] RecurringGhoul`,
worldState_HeatFissures: `[UNTRANSLATED] HeatFissures`,
worldState_galleonOfGhouls: `[UNTRANSLATED] Galleon of Ghouls`, worldState_galleonOfGhouls: `[UNTRANSLATED] Galleon of Ghouls`,
disabled: `[UNTRANSLATED] Disabled`, disabled: `[UNTRANSLATED] Disabled`,
worldState_we1: `[UNTRANSLATED] Weekend 1`, worldState_we1: `[UNTRANSLATED] Weekend 1`,

View File

@ -239,6 +239,12 @@ dict = {
worldState_affinityBoost: `经验加成`, worldState_affinityBoost: `经验加成`,
worldState_resourceBoost: `资源加成`, worldState_resourceBoost: `资源加成`,
worldState_starDays: `活动:星日`, worldState_starDays: `活动:星日`,
worldState_TennoCon: `TennoCon中继站`,
worldState_BaroTennoCon: `BaroTennoCon中继站`,
worldState_Fomorian: `破坏巨人战舰`,
worldState_BellyoftheBeast: `行动代号: 兽之腹`,
worldState_RecurringGhoul: `尸鬼净化`,
worldState_HeatFissures: `热美亚裂缝`,
worldState_galleonOfGhouls: `战术警报:尸鬼的帆船战舰`, worldState_galleonOfGhouls: `战术警报:尸鬼的帆船战舰`,
disabled: `关闭/取消配置`, disabled: `关闭/取消配置`,
worldState_we1: `活动阶段:第一周`, worldState_we1: `活动阶段:第一周`,