merge upstream

This commit is contained in:
BanLanGen 2025-08-18 22:37:05 -07:00
commit 48112cae50
6 changed files with 71 additions and 18 deletions

View File

@ -1980,9 +1980,59 @@ const challengeRewardsInboxMessages: Record<string, IMessageCreationTemplate> =
msg: "/Lotus/Language/Inbox/EvolvingSekharaUnlockBDesc",
icon: "/Lotus/Interface/Icons/Npcs/Ordis.png",
att: ["/Lotus/Upgrades/Skins/Clan/ZarimanEvolvingSekharaBadgeItemC"]
},
// In theory, the following should only give what is owned, but based on the limited information I can find, DE may have simply taken the easy way: https://www.reddit.com/r/Warframe/comments/rzlnku/receiving_all_protovyre_armor_evolution_but_only/
SentEvoArmorRankOne: {
sub: "/Lotus/Language/Inbox/EvolvingArmorUnlockAName",
sndr: "/Lotus/Language/Bosses/Ordis",
msg: "/Lotus/Language/Inbox/EvolvingArmorUnlockADesc",
icon: "/Lotus/Interface/Icons/Npcs/Ordis.png",
att: [
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2A",
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2C",
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2L"
]
},
SentEvoArmorRankTwo: {
sub: "/Lotus/Language/Inbox/EvolvingArmorUnlockBName",
sndr: "/Lotus/Language/Bosses/Ordis",
msg: "/Lotus/Language/Inbox/EvolvingArmorUnlockBDesc",
icon: "/Lotus/Interface/Icons/Npcs/Ordis.png",
att: [
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor3A",
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor3C",
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor3L"
]
}
};
/*const evolvingWeaponSkins: Record<string, { challenge: keyof typeof challengeRewardsInboxMessages; reward: string }> = {
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor1A": {
challenge: "SentEvoArmorRankOne",
reward: "/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2A"
},
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor1C": {
challenge: "SentEvoArmorRankOne",
reward: "/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2C"
},
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor1L": {
challenge: "SentEvoArmorRankOne",
reward: "/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2L"
},
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2A": {
challenge: "SentEvoArmorRankTwo",
reward: "/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor3A"
},
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2C": {
challenge: "SentEvoArmorRankTwo",
reward: "/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor3C"
},
"/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor2L": {
challenge: "SentEvoArmorRankTwo",
reward: "/Lotus/Upgrades/Skins/Armor/SentEvoArmor/SentEvoArmor3L"
}
};*/
export const addChallenges = async (
account: TAccountDocument,
inventory: TInventoryDatabaseDocument,
@ -2014,6 +2064,7 @@ export const addChallenges = async (
continue;
}
logger.warn(`ignoring unknown challenge completion`, { challenge: Name, completion });
dbChallenge.Progress = 0;
dbChallenge.Completed = [];
}
}

View File

@ -29,11 +29,13 @@ import {
ExportWeapons,
IDefaultUpgrade,
IInboxMessage,
IKey,
IMissionReward,
IRecipe,
TReward
} from "warframe-public-export-plus";
import { IMessage } from "@/src/models/inboxModel";
import { logger } from "@/src/utils/logger";
export type WeaponTypeInternal =
| "LongGuns"
@ -210,15 +212,15 @@ export const getKeyChainItems = ({ KeyChain, ChainStage }: IKeyChainRequest): st
export const getLevelKeyRewards = (
levelKey: string
): { levelKeyRewards?: IMissionReward; levelKeyRewards2?: TReward[] } => {
if (!(levelKey in ExportKeys)) {
throw new Error(`LevelKey ${levelKey} not found`);
}
const key = ExportKeys[levelKey] as IKey | undefined;
const levelKeyRewards = ExportKeys[levelKey].missionReward;
const levelKeyRewards2 = ExportKeys[levelKey].rewards;
const levelKeyRewards = key?.missionReward;
const levelKeyRewards2 = key?.rewards;
if (!levelKeyRewards && !levelKeyRewards2) {
throw new Error(`LevelKey ${levelKey} does not contain either rewards1 or rewards2`);
logger.warn(
`Could not find any reward information for ${levelKey}, gonna have to potentially short-change you`
);
}
return {

View File

@ -1785,20 +1785,20 @@ function getRandomMissionDrops(
if (mission?.Tier == 1) {
logger.warn(`non-steel path duviri murmur tier used on steel path?!`);
}
/*if (operation eight claw is active) {
if (config.worldState?.eightClaw) {
drops.push({
StoreItem: "/Lotus/StoreItems/Types/Gameplay/DuviriMITW/Resources/DuviriMurmurItemEvent",
ItemCount: 10
});
}*/
}
rewardManifests = ["/Lotus/Types/Game/MissionDecks/DuviriEncounterRewards/DuviriMurmurFinalChestRewards"];
} else if (RewardInfo.T == 19) {
/*if (operation eight claw is active) {
if (config.worldState?.eightClaw) {
drops.push({
StoreItem: "/Lotus/StoreItems/Types/Gameplay/DuviriMITW/Resources/DuviriMurmurItemEvent",
ItemCount: 15
});
}*/
}
rewardManifests = [
"/Lotus/Types/Game/MissionDecks/DuviriEncounterRewards/DuviriMurmurFinalSteelChestRewards"
];

View File

@ -262,9 +262,9 @@ dict = {
worldState_proxyRebellion: `Rebelión Proxy`,
worldState_proxyRebellionRewards: `Recompensas de Rebelión Proxy`,
worldState_bellyOfTheBeast: `Vientre de la Bestia`,
worldState_bellyOfTheBeastProgressOverride: `[UNTRANSLATED] Belly of the Beast Progress`,
worldState_bellyOfTheBeastProgressOverride: `Progreso del Vientre de la Bestia`,
worldState_eightClaw: `Octava Garra`,
worldState_eightClawProgressOverride: `[UNTRANSLATED] Eight Claw Progress`,
worldState_eightClawProgressOverride: `Progreso de Octava Garra`,
worldState_from_year: `de |VAL|`,
worldState_pre_year: `antes de |VAL|`,
worldState_week: `[UNTRANSLATED] Week |VAL|`,
@ -312,7 +312,7 @@ dict = {
worldState_varziaFullyStocked: `Varzia con stock completo`,
worldState_varziaOverride: `Cambio en rotación de Varzia`,
import_importNote: `[UNTRANSLATED] You can provide a full or partial <code>inventory.php</code> or <code>getShip.php</code> response (client representation) here.`,
import_importNote: `Puedes proporcionar una respuesta de <code>inventory.php</code> o <code>getShip.php</code> completa o parcial (representación del cliente) aquí.`,
import_importNote2: `Todos los campos compatibles con el importador <b>serán sobrescritos</b> en tu cuenta.`,
import_submit: `Enviar`,
import_samples: `Muestras:`,

View File

@ -10,7 +10,7 @@ dict = {
code_loginFail: `Не удалось войти. Проверьте адрес электронной почты и пароль.`,
code_regFail: `Не удалось зарегистрироваться. Учетная запись уже существует?`,
code_changeNameConfirm: `Какое имя вы хотите установить для своей учетной записи?`,
code_changeNameRetry: `[UNTRANSLATED] |NAME| is already taken.`,
code_changeNameRetry: `|NAME| уже занято.`,
code_deleteAccountConfirm: `Вы уверены, что хотите удалить аккаунт |DISPLAYNAME| (|EMAIL|)? Это действие нельзя отменить.`,
code_archgun: `Арч-Пушка`,
code_melee: `Ближний бой`,

View File

@ -10,7 +10,7 @@ dict = {
code_loginFail: `Не вдалося увійти. Перевірте адресу електронної пошти та пароль.`,
code_regFail: `Не вдалося зареєструватися. Обліковий запис вже існує?`,
code_changeNameConfirm: `Яке ім'я ви хочете встановити для свого облікового запису?`,
code_changeNameRetry: `[UNTRANSLATED] |NAME| is already taken.`,
code_changeNameRetry: `|NAME| вже зайнято.`,
code_deleteAccountConfirm: `Ви впевнені, що хочете видалити обліковий запис |DISPLAYNAME| (|EMAIL|)? Цю дію не можна скасувати.`,
code_archgun: `Арк-гармата`,
code_melee: `Холодна зброя`,
@ -247,8 +247,8 @@ dict = {
worldState_baroTennoConRelay: `Реле Баро TennoCon`,
worldState_starDays: `Зоряні дні`,
worldState_galleonOfGhouls: `Гульський галеон`,
worldState_anniversary: `[UNTRANSLATED] Warframe Anniversary`,
worldState_useAnniversaryTagForOldGoals: `[UNTRANSLATED] Use <code>Tag</code> from Warframe Anniversary for old Events`,
worldState_anniversary: `Річниця Warframe`,
worldState_useAnniversaryTagForOldGoals: `Використати <code>Tag</code> з річниці Warframe для старих подій`,
worldState_ghoulEmergence: `Зачищення від гулів`,
worldState_plagueStar: `Морова зірка`,
worldState_dogDays: `Спекотні дні`,
@ -267,7 +267,7 @@ dict = {
worldState_eightClawProgressOverride: `Прогрес Восьми кігтів`,
worldState_from_year: `з |VAL|`,
worldState_pre_year: `до |VAL|`,
worldState_week: `[UNTRANSLATED] Week |VAL|`,
worldState_week: `Тиждень |VAL|`,
worldState_incompatibleWith: `Несумісне з:`,
enabled: `Увімкнено`,
disabled: `Вимкнено`,