MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / genName

Method genName

src/Ruleset/SoldierNamePool.cpp:93–120  ·  view source on GitHub ↗

* Returns a new random name (first + last) from the * lists of names contained within. * @param gender Returned gender of the name. * @return The soldier's name. */

Source from the content-addressed store, hash-verified

91 * @return The soldier's name.
92 */
93std::wstring SoldierNamePool::genName(SoldierGender *gender) const
94{
95 std::wostringstream name;
96 int gen = RNG::generate(1, 10);
97 if (gen <= 5)
98 {
99 *gender = GENDER_MALE;
100 size_t first = RNG::generate(0, _maleFirst.size() - 1);
101 name << _maleFirst[first];
102 if (!_maleLast.empty())
103 {
104 size_t last = RNG::generate(0, _maleLast.size() - 1);
105 name << " " << _maleLast[last];
106 }
107 }
108 else
109 {
110 *gender = GENDER_FEMALE;
111 size_t first = RNG::generate(0, _femaleFirst.size() - 1);
112 name << _femaleFirst[first];
113 if (!_femaleLast.empty())
114 {
115 size_t last = RNG::generate(0, _femaleLast.size() - 1);
116 name << " " << _femaleLast[last];
117 }
118 }
119 return name.str();
120}
121
122/**
123 * Generates an int representing the index of the soldier's look, when passed the maximum index value.

Callers 1

SoldierMethod · 0.80

Calls 2

generateFunction · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected