Zuletzt aktiv 2 weeks ago

gistfile1.txt Originalformat
1 resetWeek(): void {
2 const now = new Date();
3 const newWeekKey = WRank.weekKey(now);
4 const prevWeekKey = WRank.weekKey(new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000));
5
6 // Access internal data via WRank
7 const prevWeek = WRank.weekFromKey(prevWeekKey);
8 const newWeek = WRank.currentWeek(); // ensures new week exists
9
10 if (prevWeek) {
11 const goal = Config.get({ section: "wrank", key: "goal" });
12 for (const nation of [Nation.Capella, Nation.Procyon]) {
13 const entries = prevWeek.entries[nation];
14 const rank1 = entries.find((e) => e.currentRank === 1);
15
16 // Rank 1 with >= goal TGs becomes Bringer — no exceptions
17 // Officers use Bringer.override() for manual adjustments
18 if (rank1 && rank1.tgCount >= goal) {
19 newWeek.bringer[nation] = rank1.characterName;
20 } else {
21 newWeek.bringer[nation] = null;
22 }
23
24 // Overrides do NOT carry forward — each week starts clean
25 delete (newWeek.bringer as any)[`${nation}Override`];
26 }
27 }
28
29 WRank.save();
30 console.log(`[TG] Week reset to ${newWeekKey}. Bringer:`, newWeek.bringer);
31 },