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

Method advance

src/Savegame/Transfer.cpp:285–314  ·  view source on GitHub ↗

* Advances the transfer and takes care of * the delivery once it's arrived. * @param base Pointer to destination base. */

Source from the content-addressed store, hash-verified

283 * @param base Pointer to destination base.
284 */
285void Transfer::advance(Base *base)
286{
287 _hours--;
288 if (_hours == 0)
289 {
290 if (_soldier != 0)
291 {
292 base->getSoldiers()->push_back(_soldier);
293 }
294 else if (_craft != 0)
295 {
296 base->getCrafts()->push_back(_craft);
297 _craft->setBase(base);
298 _craft->checkup();
299 }
300 else if (_itemQty != 0)
301 {
302 base->getItems()->addItem(_itemId, _itemQty);
303 }
304 else if (_scientists != 0)
305 {
306 base->setScientists(base->getScientists() + _scientists);
307 }
308 else if (_engineers != 0)
309 {
310 base->setEngineers(base->getEngineers() + _engineers);
311 }
312 _delivered = true;
313 }
314}
315
316/**
317 * Get a pointer to the soldier being transferred.

Callers

nothing calls this directly

Calls 10

checkupMethod · 0.80
getScientistsMethod · 0.80
getEngineersMethod · 0.80
getSoldiersMethod · 0.45
getCraftsMethod · 0.45
setBaseMethod · 0.45
addItemMethod · 0.45
getItemsMethod · 0.45
setScientistsMethod · 0.45
setEngineersMethod · 0.45

Tested by

no test coverage detected