Skip to content

Commit 87377cc

Browse files
committed
Added a commendation for the original 8
1 parent b5207c9 commit 87377cc

6 files changed

Lines changed: 39 additions & 11 deletions

File tree

bin/data/Resources/Commendations/medal_100.png

100755100644
790 Bytes
Loading
-993 Bytes
Binary file not shown.

bin/data/Ruleset/Commendations.rul

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,8 @@ extraStrings:
337337
STR_MEDAL_NIGHTOPS_DESCRIPTION: "Given to a soldier who as been part of several night missions."
338338
STR_MEDAL_ALLRANKS_NAME: "Taking Names"
339339
STR_MEDAL_ALLRANKS_DESCRIPTION: "Given to a soldier who as killed aliens of all ranks."
340+
STR_MEDAL_ORIGINAL8_NAME: "First to Serve"
341+
STR_MEDAL_ORIGINAL8_DESCRIPTION: "Given to a soldier who was first in line to combat the enemy unknown."
340342
STR_AWARD_0: "First award"
341343
STR_AWARD_1: "Second award"
342344
STR_AWARD_2: "Third award"
@@ -505,6 +507,8 @@ extraStrings:
505507
STR_MEDAL_NIGHTOPS_DESCRIPTION: "Given to a soldier who as been part of several night missions."
506508
STR_MEDAL_ALLRANKS_NAME: "Taking Names"
507509
STR_MEDAL_ALLRANKS_DESCRIPTION: "Given to a soldier who as killed aliens of all ranks."
510+
STR_MEDAL_ORIGINAL8_NAME: "First to Serve"
511+
STR_MEDAL_ORIGINAL8_DESCRIPTION: "Given to a soldier who was first in line to combat the enemy unknown."
508512
STR_AWARD_0: "First award"
509513
STR_AWARD_1: "Second award"
510514
STR_AWARD_2: "Third award"
@@ -1043,7 +1047,7 @@ extraStrings:
10431047
commendations:
10441048
- type: STR_MEDAL_MERIT_STAR_NAME
10451049
description: STR_MEDAL_MERIT_STAR_DESCRIPTION
1046-
sprite: 0
1050+
sprite: 36
10471051
criteria:
10481052
killsWithCriteriaCareer: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
10491053
killCriteria:
@@ -1263,23 +1267,23 @@ commendations:
12631267
totalAllAliensStunned: [1, 1, 2, 2, 2, 2, 3, 3, 3, 3]
12641268
- type: STR_MEDAL_HEADSHOT_NAME
12651269
description: STR_MEDAL_HEADSHOT_DESCRIPTION
1266-
sprite: 99
1270+
sprite: 00
12671271
criteria:
12681272
killsWithCriteriaCareer: [3, 6, 9, 9, 9, 9, 12, 12, 12, 12]
12691273
killCriteria:
12701274
-
12711275
1: ["BODYPART_HEAD", "FACTION_HOSTILE", "STATUS_DEAD"]
12721276
- type: STR_MEDAL_REARSHOT_NAME
12731277
description: STR_MEDAL_REARSHOT_DESCRIPTION
1274-
sprite: 99
1278+
sprite: 00
12751279
criteria:
12761280
killsWithCriteriaCareer: [3, 6, 9, 9, 9, 9, 12, 12, 12, 12]
12771281
killCriteria:
12781282
-
12791283
1: ["SIDE_REAR", "FACTION_HOSTILE", "STATUS_DEAD"]
12801284
- type: STR_MEDAL_FLANKSHOT_NAME
12811285
description: STR_MEDAL_FLANKSHOT_DESCRIPTION
1282-
sprite: 99
1286+
sprite: 00
12831287
criteria:
12841288
killsWithCriteriaCareer: [3, 6, 9, 9, 9, 9, 12, 12, 12, 12]
12851289
killCriteria:
@@ -1289,22 +1293,22 @@ commendations:
12891293
1: ["SIDE_RIGHT", "FACTION_HOSTILE", "STATUS_DEAD"]
12901294
- type: STR_MEDAL_HEALER_NAME
12911295
description: STR_MEDAL_HEALER_DESCRIPTION
1292-
sprite: 99
1296+
sprite: 00
12931297
criteria:
12941298
totalWoundsHealed: [3, 6, 9, 9, 9, 9, 12, 12, 12, 12]
12951299
- type: STR_MEDAL_ALLUFOS_NAME
12961300
description: STR_MEDAL_ALLUFOS_DESCRIPTION
1297-
sprite: 99
1301+
sprite: 00
12981302
criteria:
12991303
totalAllUFOs: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
13001304
- type: STR_MEDAL_ALLMISSIONS_NAME
13011305
description: STR_MEDAL_ALLMISSIONS_DESCRIPTION
1302-
sprite: 99
1306+
sprite: 00
13031307
criteria:
13041308
totalAllMissionTypes: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
13051309
- type: STR_MEDAL_ANTITERROR_NAME
13061310
description: STR_MEDAL_ANTITERROR_DESCRIPTION
1307-
sprite: 99
1311+
sprite: 00
13081312
criteria:
13091313
killsWithCriteriaCareer: [3, 6, 9, 9, 9, 9, 12, 12, 12, 12]
13101314
killCriteria:
@@ -1318,7 +1322,7 @@ commendations:
13181322
1: ["STR_ZOMBIE", "STR_LIVE_TERRORIST", "FACTION_HOSTILE", "STATUS_DEAD"]
13191323
- type: STR_MEDAL_ALLBATTLETYPES_NAME
13201324
description: STR_MEDAL_ALLBATTLETYPES_DESCRIPTION
1321-
sprite: 99
1325+
sprite: 00
13221326
criteria:
13231327
killsWithCriteriaCareer: [3, 6, 9, 9, 9, 9, 12, 12, 12, 12]
13241328
killCriteria:
@@ -1329,12 +1333,12 @@ commendations:
13291333
1: ["BT_GRENADE", "FACTION_HOSTILE", "STATUS_DEAD"]
13301334
- type: STR_MEDAL_NIGHTOPS_NAME
13311335
description: STR_MEDAL_NIGHTOPS_DESCRIPTION
1332-
sprite: 99
1336+
sprite: 00
13331337
criteria:
13341338
totalNightMissions: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
13351339
- type: STR_MEDAL_ALLRANKS_NAME
13361340
description: STR_MEDAL_ALLRANKS_DESCRIPTION
1337-
sprite: 99
1341+
sprite: 00
13381342
criteria:
13391343
killsWithCriteriaCareer: [3, 6, 9, 9, 9, 9, 12, 12, 12, 12]
13401344
killCriteria:
@@ -1346,6 +1350,12 @@ commendations:
13461350
1: ["STR_LIVE_LEADER", "FACTION_HOSTILE", "STATUS_DEAD"]
13471351
1: ["STR_LIVE_COMMANDER", "FACTION_HOSTILE", "STATUS_DEAD"]
13481352
1: ["STR_LIVE_TERRORIST", "FACTION_HOSTILE", "STATUS_DEAD"]
1353+
- type: STR_MEDAL_ORIGINAL8_NAME
1354+
description: STR_MEDAL_ORIGINAL8_DESCRIPTION
1355+
sprite: 00
1356+
criteria:
1357+
totalLongDistanceHits: [999]
1358+
# Dummy criteria so the game doesn't enter an infinite loop .
13491359
ufopaedia:
13501360
- id: STR_MEDAL_MILITARY_CROSS_NAME
13511361
type_id: 7
@@ -1669,6 +1679,13 @@ ufopaedia:
16691679
text: STR_MEDAL_ALLRANKS_MEDAL_UFOPEDIA
16701680
text_width: 164
16711681
listOrder: 6046
1682+
- id: STR_MEDAL_ORIGINAL8_NAME
1683+
type_id: 7
1684+
section: STR_HEAVY_WEAPONS_PLATFORMS
1685+
image_id: PLACEHOLDER #ORIGINAL8
1686+
text: STR_MEDAL_ORIGINAL8_MEDAL_UFOPEDIA
1687+
text_width: 164
1688+
listOrder: 6046
16721689
# entries below move the HWPs to the Craft Section of the UFOPedia
16731690
- id: STR_TANK_CANNON
16741691
section: STR_XCOM_CRAFT_ARMAMENT

src/Ruleset/Ruleset.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
#include "RuleGlobe.h"
7171
#include "../Resource/ResourcePack.h"
7272
#include "RuleVideo.h"
73+
#include "../Savegame/SoldierDiary.h"
7374

7475
namespace OpenXcom
7576
{
@@ -790,6 +791,7 @@ SavedGame *Ruleset::newSave() const
790791
Soldier *soldier = genSoldier(save);
791792
soldier->setCraft(base->getCrafts()->front());
792793
base->getSoldiers()->push_back(soldier);
794+
soldier->getDiary()->awardOriginalEightCommendation();
793795
}
794796

795797
save->getBases()->push_back(base);

src/Savegame/SoldierDiary.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,13 @@ void SoldierDiary::addMonthlyService()
718718
{
719719
_monthsService++;
720720
}
721+
/**
722+
* Award special commendation to the original 8 soldiers.
723+
*/
724+
void SoldierDiary::awardOriginalEightCommendation()
725+
{
726+
_commendations.push_back(new SoldierCommendations("STR_MEDAL_ORIGINAL8_NAME", "NoNoun"));
727+
}
721728
/**
722729
* Initializes a new commendation entry from YAML.
723730
* @param node YAML node.

src/Savegame/SoldierDiary.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ class SoldierDiary
130130
std::vector<int> &getMissionIdList();
131131
/// Get the kill list.
132132
std::vector<BattleUnitKills*> &getKills();
133+
/// Award special commendation to the original 8 soldiers.
134+
void awardOriginalEightCommendation();
133135
};
134136
}
135137
#endif

0 commit comments

Comments
 (0)