Skip to content

Commit f48caa2

Browse files
committed
More achievements
1 parent f3f78d7 commit f48caa2

File tree

2 files changed

+57
-13
lines changed

2 files changed

+57
-13
lines changed

src/gameserver/achievement.service.ts

+56-12
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export class AchievementService {
3737
) =>
3838
(
3939
key: AchievementKey,
40-
peopleOnly: boolean,
40+
modes: MatchmakingMode[],
4141
maxProgress: number,
4242
progress: (pim: PlayerInMatchEntity, m: FinishedMatchEntity) => number,
4343
) => {
@@ -46,9 +46,7 @@ export class AchievementService {
4646
maxProgress = maxProgress;
4747

4848
supportsLobbyType(type: MatchmakingMode): boolean {
49-
return peopleOnly
50-
? BaseAchievement.REAL_LOBBY_TYPES.includes(type)
51-
: true;
49+
return modes.includes(type);
5250
}
5351

5452
async getProgress(
@@ -74,30 +72,76 @@ export class AchievementService {
7472
const runningAchievement = createRunningAchievement(map, p, f);
7573

7674
runningAchievement(
77-
AchievementKey.HARDCORE, true,
75+
AchievementKey.HARDCORE,
76+
BaseAchievement.REAL_LOBBY_TYPES,
7877
1,
7978
(t, m) => +(t.level === 25 && t.team === m.winner && t.deaths === 0),
8079
);
81-
runningAchievement(AchievementKey.GPM_1000, true, 1000, (t) => t.gpm);
80+
runningAchievement(
81+
AchievementKey.GPM_1000,
82+
BaseAchievement.REAL_LOBBY_TYPES,
83+
1000,
84+
(t) => t.gpm,
85+
);
8286

83-
runningAchievement(AchievementKey.XPM_1000, true, 1000, (t) => t.xpm);
84-
runningAchievement(AchievementKey.LAST_HITS_1000, true, 1000, (t) => t.last_hits);
85-
runningAchievement(AchievementKey.DENIES_50, true, 50, (t) => t.denies);
87+
runningAchievement(
88+
AchievementKey.XPM_1000,
89+
BaseAchievement.REAL_LOBBY_TYPES,
90+
1000,
91+
(t) => t.xpm,
92+
);
93+
runningAchievement(
94+
AchievementKey.LAST_HITS_1000,
95+
BaseAchievement.REAL_LOBBY_TYPES,
96+
1000,
97+
(t) => t.last_hits,
98+
);
99+
runningAchievement(
100+
AchievementKey.DENIES_50,
101+
BaseAchievement.REAL_LOBBY_TYPES,
102+
50,
103+
(t) => t.denies,
104+
);
86105

87106
runningAchievement(
88-
AchievementKey.GPM_XPM_1000, true,
107+
AchievementKey.GPM_XPM_1000,
108+
BaseAchievement.REAL_LOBBY_TYPES,
89109
1,
90110
(t) => +(t.gpm >= 1000 && t.xpm >= 1000),
91111
);
92112

93113
runningAchievement(
94-
AchievementKey.WIN_1HR_GAME, true,
114+
AchievementKey.WIN_1HR_GAME,
115+
BaseAchievement.REAL_LOBBY_TYPES,
95116
1,
96117
(t, m) => +(t.team === m.winner && m.duration >= 3600),
97118
);
98119

99120
runningAchievement(
100-
AchievementKey.WIN_1HR_GAME_AGAINST_TECHIES, true,
121+
AchievementKey.WIN_BOT_GAME,
122+
[MatchmakingMode.BOTS],
123+
1,
124+
(t, m) => +(t.team === m.winner),
125+
);
126+
127+
128+
runningAchievement(
129+
AchievementKey.WIN_BOT_GAME,
130+
[MatchmakingMode.BOTS],
131+
1,
132+
(t, m) => +(t.team === m.winner),
133+
);
134+
135+
runningAchievement(
136+
AchievementKey.WIN_SOLOMID_GAME,
137+
[MatchmakingMode.SOLOMID],
138+
1,
139+
(t, m) => +(t.team === m.winner),
140+
);
141+
142+
runningAchievement(
143+
AchievementKey.WIN_1HR_GAME_AGAINST_TECHIES,
144+
BaseAchievement.REAL_LOBBY_TYPES,
101145
1,
102146
(t, m) =>
103147
+(

src/gateway

0 commit comments

Comments
 (0)