XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

SpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 1 Star 0
返回提交历史

XFEstudio/SpaceNinjaServer

fix: correctly handle Dull Button in getJournalRank (#3963)

Closes #3960 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3963 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

6806c59c
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +27 -25
Modified src/controllers/api/researchMushroomController.ts +27 -25
@@ -85,35 +85,37 @@ interface IResearchMushroom {
85 85 Convert: boolean;
86 86 }
87 87
88 const journalEntriesRank: Record<string, number> = {
89 "/Lotus/Types/Items/MushroomJournal/PlainMushroomJournalItem": 1,
90 "/Lotus/Types/Items/MushroomJournal/GasMushroomJournalItem": 4,
91 "/Lotus/Types/Items/MushroomJournal/ToxinMushroomJournalItem": 3,
92 "/Lotus/Types/Items/MushroomJournal/ViralMushroomJournalItem": 4,
93 "/Lotus/Types/Items/MushroomJournal/MagneticMushroomJournalItem": 4,
94 "/Lotus/Types/Items/MushroomJournal/ElectricMushroomJournalItem": 3,
95 "/Lotus/Types/Items/MushroomJournal/TauMushroomJournalItem": 5,
96 "/Lotus/Types/Items/MushroomJournal/SlashMushroomJournalItem": 3,
97 "/Lotus/Types/Items/MushroomJournal/BlastMushroomJournalItem": 4,
98 "/Lotus/Types/Items/MushroomJournal/ImpactMushroomJournalItem": 3,
99 "/Lotus/Types/Items/MushroomJournal/ColdMushroomJournalItem": 3,
100 "/Lotus/Types/Items/MushroomJournal/CorrosiveMushroomJournalItem": 4,
101 "/Lotus/Types/Items/MushroomJournal/PunctureMushroomJournalItem": 3,
102 "/Lotus/Types/Items/MushroomJournal/HeatMushroomJournalItem": 3,
103 "/Lotus/Types/Items/MushroomJournal/RadiationMushroomJournalItem": 4,
104 "/Lotus/Types/Items/MushroomJournal/VoidMushroomJournalItem": 5
88 const journalEntryRankUpRequirements: Record<string, [number, number, number]> = {
89 "/Lotus/Types/Items/MushroomJournal/HeatMushroomJournalItem": [3, 6, 9],
90 "/Lotus/Types/Items/MushroomJournal/CorrosiveMushroomJournalItem": [4, 8, 12],
91 "/Lotus/Types/Items/MushroomJournal/SlashMushroomJournalItem": [3, 6, 9],
92 "/Lotus/Types/Items/MushroomJournal/PlainMushroomJournalItem": [1, 1, 2], // Stinky
93 "/Lotus/Types/Items/MushroomJournal/MagneticMushroomJournalItem": [4, 8, 12],
94 "/Lotus/Types/Items/MushroomJournal/RadiationMushroomJournalItem": [4, 8, 12],
95 "/Lotus/Types/Items/MushroomJournal/ImpactMushroomJournalItem": [3, 6, 9],
96 "/Lotus/Types/Items/MushroomJournal/ToxinMushroomJournalItem": [3, 6, 9],
97 "/Lotus/Types/Items/MushroomJournal/VoidMushroomJournalItem": [5, 10, 15],
98 "/Lotus/Types/Items/MushroomJournal/GasMushroomJournalItem": [4, 8, 12],
99 "/Lotus/Types/Items/MushroomJournal/BlastMushroomJournalItem": [4, 8, 12],
100 "/Lotus/Types/Items/MushroomJournal/PunctureMushroomJournalItem": [3, 6, 9],
101 "/Lotus/Types/Items/MushroomJournal/ElectricMushroomJournalItem": [3, 6, 9],
102 "/Lotus/Types/Items/MushroomJournal/ViralMushroomJournalItem": [4, 8, 12],
103 "/Lotus/Types/Items/MushroomJournal/TauMushroomJournalItem": [5, 10, 15],
104 "/Lotus/Types/Items/MushroomJournal/ColdMushroomJournalItem": [3, 6, 9]
105 105 };
106 106
107 107 const syndicateTitleThresholds = [0, 1, 2, 6, 12, 16];
108 108
109 109 const getJournalRank = (journalEntry: IJournalEntry): number => {
110 const k = journalEntriesRank[journalEntry.EntryType];
111 if (!k) return 0;
112
113 const thresholds = [k * 1, k * 3, k * 6];
114
115 if (journalEntry.Progress >= thresholds[2]) return 3;
116 if (journalEntry.Progress >= thresholds[1]) return 2;
117 if (journalEntry.Progress >= thresholds[0]) return 1;
110 const requirements = journalEntryRankUpRequirements[journalEntry.EntryType] as [number, number, number] | undefined;
111 if (requirements) {
112 const rankOneThreshold = requirements[0];
113 const rankTwoThreshold = rankOneThreshold + requirements[1];
114 const rankThreeThreshold = rankTwoThreshold + requirements[2];
115
116 if (journalEntry.Progress >= rankThreeThreshold) return 3;
117 if (journalEntry.Progress >= rankTwoThreshold) return 2;
118 if (journalEntry.Progress >= rankOneThreshold) return 1;
119 }
118 120 return 0;
119 121 };