Emergency 20 Dokumentation  4.2.0
Achievements.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
13 #include "em5/game/achievement/Achievement.h" // Not actually needed, but whoever includes this header will most probably need the EM5 achievement definition as well
14 
15 #include <qsf_game/achievement/AchievementSystem.h> // Not actually needed, but whoever includes this header will most probably need the achievement system as well
16 
17 
18 //[-------------------------------------------------------]
19 //[ Namespace ]
20 //[-------------------------------------------------------]
21 namespace em5
22 {
23 
24 
25  //[-------------------------------------------------------]
26  //[ Classes ]
27  //[-------------------------------------------------------]
33  {
34 
35 
36  //[-------------------------------------------------------]
37  //[ Public definitions ]
38  //[-------------------------------------------------------]
39  public:
40  // General achievements
41  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_01; // "Erste Schritte"
42  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_02; // "Brandmeister"
43  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_03; // "Lebensretter"
44  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_04; // "Panzerknacker-Knacker"
45 
46  // Mainevent specific achievements
47  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_05; // ME01 achievement
48  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_06; // ME02 achievement
49  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_07; // ME04 achievement
50  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_08; // ME05 achievement
51  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_09; // ME06 achievement
52  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_10; // ME07 achievement
53  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_11; // ME08 achievement
54  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_12; // ME10 achievement
55  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_14; // ME12 achievement
56  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_15; // ME14 achievement
57  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_16; // ME15 achievement
58  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_17; // All silver medals
59  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_18; // All gold medals
60 
61  // Campaign
68 
69  // World achievements
70  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_28; // Won all kinds of world events in Munich (4)
71  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_29; // Won all kinds of world events in Hamburg (3)
72  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_30; // Won all kinds of world events in Berlin (3)
73  static const qsf::NamedIdentifier EM5_ACHIEVEMENT_31; // Won all kinds of world events in all maps (4 + 3 + 3 = 10)
74 
75  // Freeplay achievements
82 
83  // Challenge achievements
90 
91  // Multiplayer together specific achievements
95 
96  // Multiplayer against each other specific achievements
100 
101  // EMERGENCY 2016 achievements
115 
116  // EMERGENCY 2017 achievements
130 
131  // EMERGENCY 20 Years achievements
133 
134  // General ranks
135  static const qsf::NamedIdentifier R1_TITLE; // EMERGENCY 5 Rookie
136  static const qsf::NamedIdentifier R2_TITLE; // EMERGENCY 5 DELUXE-Einsatzleiter
167 
168  // Medals
180 
181  // Achievements needed progress
182  static const float NEEDED_TIME_ACHIEVEMENT_05;
183  static const float NEEDED_TIME_ACHIEVEMENT_08;
184  static const float NEEDED_PROGRESS_ACHIEVEMENT_09;
185  static const float NEEDED_MEDALS_ACHIEVEMENT_17;
186  static const float NEEDED_MEDALS_ACHIEVEMENT_18;
187 
188 
189  //[-------------------------------------------------------]
190  //[ Public static methods ]
191  //[-------------------------------------------------------]
192  public:
197  static void registerAchievements(qsf::game::AchievementSystem& achievementSystem);
198 
203  static const qsf::NamedIdentifier& getMedalNameByMainEventNumber(uint16 mainEventNumber);
204 
209  static bool isMainGameMedal(uint16 medalNumber);
210 
211 
212  //[-------------------------------------------------------]
213  //[ Private static data ]
214  //[-------------------------------------------------------]
215  private:
216  static std::vector<qsf::NamedIdentifier> mTitleList;
217  static boost::container::flat_map<uint16, qsf::NamedIdentifier> mMainGameMedals;
218 
219 
220  };
221 
222 
223 //[-------------------------------------------------------]
224 //[ Namespace ]
225 //[-------------------------------------------------------]
226 } // em5
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_12
Definition: Achievements.h:54
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_17
Definition: Achievements.h:58
Definition: ActionPriority.h:13
static const qsf::NamedIdentifier R20_TITLE
Definition: Achievements.h:154
static const qsf::NamedIdentifier R7_TITLE
Definition: Achievements.h:141
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_45
Definition: Achievements.h:93
static const qsf::NamedIdentifier EM5_MEDAL_GE04
Munich "em5::MainEvent04".
Definition: Achievements.h:171
static const qsf::NamedIdentifier R32_TITLE
Definition: Achievements.h:166
static const qsf::NamedIdentifier R19_TITLE
Definition: Achievements.h:153
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_39
Definition: Achievements.h:85
static const qsf::NamedIdentifier R2_TITLE
Definition: Achievements.h:136
static const qsf::NamedIdentifier EM5_MEDAL_GE01
Munich "em5::MainEvent01".
Definition: Achievements.h:169
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_MINI04
Definition: Achievements.h:125
static const qsf::NamedIdentifier R14_TITLE
Definition: Achievements.h:148
static const qsf::NamedIdentifier EM5X_ACHIEVEMENT_MINI08
Definition: Achievements.h:114
static const qsf::NamedIdentifier EM5X_ACHIEVEMENT_MINI06
Definition: Achievements.h:112
static const qsf::NamedIdentifier R21_TITLE
Definition: Achievements.h:155
static const qsf::NamedIdentifier EM5_MEDAL_GE05
Munich "em5::MainEvent05".
Definition: Achievements.h:172
static const qsf::NamedIdentifier R28_TITLE
Definition: Achievements.h:162
static const float NEEDED_MEDALS_ACHIEVEMENT_17
Needed number of silver medals, (equals number all mainevents, no included mainevents from addons or ...
Definition: Achievements.h:185
static const qsf::NamedIdentifier R31_TITLE
Definition: Achievements.h:165
static const qsf::NamedIdentifier EM5_MEDAL_GE07
Hamburg "em5::MainEvent07".
Definition: Achievements.h:174
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_38
Definition: Achievements.h:84
static const qsf::NamedIdentifier R4_TITLE
Definition: Achievements.h:138
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_28
Definition: Achievements.h:70
static const qsf::NamedIdentifier R3_TITLE
Definition: Achievements.h:137
static const qsf::NamedIdentifier R23_TITLE
Definition: Achievements.h:157
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_ME201
Definition: Achievements.h:118
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_05
Definition: Achievements.h:47
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_31
Definition: Achievements.h:73
Achievement system implementation.
Definition: AchievementSystem.h:53
#define EM5_API_EXPORT
Definition: Export.h:28
static const float NEEDED_PROGRESS_ACHIEVEMENT_09
Needed number of extinguished fires.
Definition: Achievements.h:184
static const qsf::NamedIdentifier EM5_MEDAL_GE08
Hamburg "em5::MainEvent08".
Definition: Achievements.h:175
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_32
Definition: Achievements.h:76
static const qsf::NamedIdentifier R9_TITLE
Definition: Achievements.h:143
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_42
Definition: Achievements.h:88
static const qsf::NamedIdentifier EM5X_ACHIEVEMENT_MINI04
Definition: Achievements.h:110
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_19
Definition: Achievements.h:62
static const qsf::NamedIdentifier R15_TITLE
Definition: Achievements.h:149
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_33
Definition: Achievements.h:77
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_ME100
Definition: Achievements.h:102
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_20
Definition: Achievements.h:63
static const qsf::NamedIdentifier R10_TITLE
Definition: Achievements.h:144
static const qsf::NamedIdentifier R13_TITLE
Definition: Achievements.h:147
static const qsf::NamedIdentifier R5_TITLE
Definition: Achievements.h:139
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_15
Definition: Achievements.h:56
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_02
Definition: Achievements.h:42
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_29
Definition: Achievements.h:71
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_46
Definition: Achievements.h:94
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_MINI07
Definition: Achievements.h:128
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_14
Definition: Achievements.h:55
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_22
Definition: Achievements.h:65
static const qsf::NamedIdentifier R8_TITLE
Definition: Achievements.h:142
static const qsf::NamedIdentifier EM5X_ACHIEVEMENT_MINI03
Definition: Achievements.h:109
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_ME202
Definition: Achievements.h:119
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_47
Definition: Achievements.h:97
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_MINI05
Definition: Achievements.h:126
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_ME104
Definition: Achievements.h:106
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_10
Definition: Achievements.h:52
static const qsf::NamedIdentifier EM5X_ACHIEVEMENT_MINI05
Definition: Achievements.h:111
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_ME200
Definition: Achievements.h:117
static const qsf::NamedIdentifier EM5X_ACHIEVEMENT_MINI02
Definition: Achievements.h:108
static const qsf::NamedIdentifier EM20_ACHIEVEMENT_ME310
Definition: Achievements.h:132
static const float NEEDED_TIME_ACHIEVEMENT_05
Maximum time to rescue all original injured persons: 480 sec / 8 min.
Definition: Achievements.h:182
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_35
Definition: Achievements.h:79
static const qsf::NamedIdentifier R30_TITLE
Definition: Achievements.h:164
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_36
Definition: Achievements.h:80
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_ME203
Definition: Achievements.h:120
static const qsf::NamedIdentifier EM5X_ACHIEVEMENT_MINI01
Definition: Achievements.h:107
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_23
Definition: Achievements.h:66
static const qsf::NamedIdentifier R18_TITLE
Definition: Achievements.h:152
static const qsf::NamedIdentifier R26_TITLE
Definition: Achievements.h:160
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_09
Definition: Achievements.h:51
static const qsf::NamedIdentifier R24_TITLE
Definition: Achievements.h:158
static const qsf::NamedIdentifier EM5_MEDAL_GE10
Hamburg "em5::MainEvent10".
Definition: Achievements.h:176
static const qsf::NamedIdentifier EM5_MEDAL_GE14
Berlin "em5::MainEvent14".
Definition: Achievements.h:178
static const qsf::NamedIdentifier EM5X_ACHIEVEMENT_MINI07
Definition: Achievements.h:113
unsigned short uint16
Definition: PlatformTypes.h:178
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_49
Definition: Achievements.h:99
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_34
Definition: Achievements.h:78
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_MINI06
Definition: Achievements.h:127
static const qsf::NamedIdentifier EM5_MEDAL_GE15
Berlin "em5::MainEvent15".
Definition: Achievements.h:179
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_ME103
Definition: Achievements.h:105
static const qsf::NamedIdentifier R6_TITLE
Definition: Achievements.h:140
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_21
Definition: Achievements.h:64
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_48
Definition: Achievements.h:98
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_24
Definition: Achievements.h:67
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_06
Definition: Achievements.h:48
static const float NEEDED_MEDALS_ACHIEVEMENT_18
Needed number of gold medals, (equals number all mainevents, no included mainevents from addons or dl...
Definition: Achievements.h:186
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_MINI01
Definition: Achievements.h:122
Class combining strings with their hashes.
Definition: NamedIdentifier.h:34
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_08
Definition: Achievements.h:50
static const qsf::NamedIdentifier EM5_MEDAL_GE06
Hamburg "em5::MainEvent06".
Definition: Achievements.h:173
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_ME204
Definition: Achievements.h:121
static const qsf::NamedIdentifier R25_TITLE
Definition: Achievements.h:159
static const qsf::NamedIdentifier R17_TITLE
Definition: Achievements.h:151
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_16
Definition: Achievements.h:57
static const qsf::NamedIdentifier R11_TITLE
Definition: Achievements.h:145
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_40
Definition: Achievements.h:86
static const qsf::NamedIdentifier R1_TITLE
Definition: Achievements.h:135
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_11
Definition: Achievements.h:53
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_43
Definition: Achievements.h:89
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_01
Definition: Achievements.h:41
static const qsf::NamedIdentifier R12_TITLE
Definition: Achievements.h:146
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_30
Definition: Achievements.h:72
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_44
Definition: Achievements.h:92
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_MINI03
Definition: Achievements.h:124
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_04
Definition: Achievements.h:44
static const qsf::NamedIdentifier EM5_MEDAL_GE02
Munich "em5::MainEvent02".
Definition: Achievements.h:170
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_37
Definition: Achievements.h:81
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_ME101
Definition: Achievements.h:103
static const qsf::NamedIdentifier EM5_MEDAL_GE12
Berlin "em5::MainEvent12".
Definition: Achievements.h:177
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_07
Definition: Achievements.h:49
static const qsf::NamedIdentifier R22_TITLE
Definition: Achievements.h:156
static const qsf::NamedIdentifier R29_TITLE
Definition: Achievements.h:163
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_41
Definition: Achievements.h:87
static const qsf::NamedIdentifier R16_TITLE
Definition: Achievements.h:150
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_MINI08
Definition: Achievements.h:129
static const float NEEDED_TIME_ACHIEVEMENT_08
Maximum time to unhide the buried persons: 480 sec / 8 min.
Definition: Achievements.h:183
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_03
Definition: Achievements.h:43
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_ME102
Definition: Achievements.h:104
static const qsf::NamedIdentifier R27_TITLE
Definition: Achievements.h:161
Static EMERGENCY 5 achievements collection class.
Definition: Achievements.h:32
static const qsf::NamedIdentifier EM2017_ACHIEVEMENT_MINI02
Definition: Achievements.h:123
static const qsf::NamedIdentifier EM5_ACHIEVEMENT_18
Definition: Achievements.h:59