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

Method save

src/Savegame/Soldier.cpp:134–166  ·  view source on GitHub ↗

* Saves the soldier to a YAML file. * @return YAML node. */

Source from the content-addressed store, hash-verified

132 * @return YAML node.
133 */
134YAML::Node Soldier::save() const
135{
136 YAML::Node node;
137 node["id"] = _id;
138 node["name"] = Language::wstrToUtf8(_name);
139 node["initialStats"] = _initialStats;
140 node["currentStats"] = _currentStats;
141 node["rank"] = (int)_rank;
142 if (_craft != 0)
143 {
144 node["craft"] = _craft->saveId();
145 }
146 node["gender"] = (int)_gender;
147 node["look"] = (int)_look;
148 node["missions"] = _missions;
149 node["kills"] = _kills;
150 if (_recovery > 0)
151 node["recovery"] = _recovery;
152 node["armor"] = _armor->getType();
153 if (_psiTraining)
154 node["psiTraining"] = _psiTraining;
155 node["improvement"] = _improvement;
156 if (!_equipmentLayout.empty())
157 {
158 for (std::vector<EquipmentLayoutItem*>::const_iterator i = _equipmentLayout.begin(); i != _equipmentLayout.end(); ++i)
159 node["equipmentLayout"].push_back((*i)->save());
160 }
161 if (_death != 0)
162 {
163 node["death"] = _death->save();
164 }
165 return node;
166}
167
168/**
169 * Returns the soldier's full name (and, optionally, statString).

Callers

nothing calls this directly

Calls 3

saveIdMethod · 0.45
getTypeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected