61
Army::Army(XML_Helper* helper, bool prototype)
62
:d_pixmap(0), d_mask(0), d_name("Untitled"), d_description(""),
63
d_production(0), d_production_cost(0), d_upkeep(0), d_strength(0),
64
d_max_hp(0), d_max_moves(0), d_sight(0), d_gender(NONE), d_level(1),
65
d_defends_ruins(false), d_awardable(false), d_hero(false), d_image("")
69
Army::Army(XML_Helper* helper, enum ArmyContents contents)
62
70
:d_pixmap(0), d_mask(0), d_name(""), d_description(""), d_ship(false),
63
71
d_gender(NONE), d_player(0),
64
72
d_id(0), d_xp(0), d_level(1), d_grouped(true),
371
bool Army::save(XML_Helper* helper) const
385
bool Army::save(XML_Helper* helper, enum ArmyContents contents) const
373
387
bool retval = true;
375
389
retval &= helper->openTag("army");
376
retval &= saveData(helper);
390
retval &= saveData(helper, contents);
377
391
retval &= helper->closeTag();
382
bool Army::saveData(XML_Helper* helper) const
396
bool Army::saveData(XML_Helper* helper, enum ArmyContents contents) const
384
398
bool retval = true;
386
retval &= helper->saveData("id", d_id);
387
retval &= helper->saveData("armyset", d_armyset);
388
retval &= helper->saveData("type", d_type);
400
if (contents == TYPE || contents == PRODUCTION_BASE)
402
retval &= helper->saveData("name", d_name);
403
retval &= helper->saveData("description", d_description);
404
retval &= helper->saveData("image", d_image);
405
retval &= helper->saveData("production", d_production);
406
retval &= helper->saveData("production_cost", d_production_cost);
407
retval &= helper->saveData("upkeep", d_upkeep);
408
retval &= helper->saveData("gender", d_gender);
409
retval &= helper->saveData("awardable", d_awardable);
410
retval &= helper->saveData("defends_ruins", d_defends_ruins);
411
retval &= helper->saveData("move_bonus", d_move_bonus);
412
retval &= helper->saveData("army_bonus", d_army_bonus);
414
else if (contents == INSTANCE)
416
retval &= helper->saveData("id", d_id);
417
retval &= helper->saveData("armyset", d_armyset);
418
retval &= helper->saveData("type", d_type);
419
retval &= helper->saveData("hp", d_hp);
420
retval &= helper->saveData("ship", d_ship);
421
retval &= helper->saveData("moves", d_moves);
422
retval &= helper->saveData("xp", d_xp);
425
if (contents == PRODUCTION_BASE)
427
retval &= helper->saveData("type", d_type);
428
retval &= helper->saveData("armyset", d_armyset);
431
retval &= helper->saveData("max_moves", d_max_moves);
389
432
retval &= helper->saveData("hero", d_hero);
390
retval &= helper->saveData("hp", d_hp);
391
433
retval &= helper->saveData("strength", d_strength);
392
434
retval &= helper->saveData("sight", d_sight);
393
retval &= helper->saveData("moves", d_moves);
394
retval &= helper->saveData("ship", d_ship);
395
retval &= helper->saveData("max_moves", d_max_moves);
396
retval &= helper->saveData("xp", d_xp);
397
435
retval &= helper->saveData("expvalue", getXpReward());
398
436
retval &= helper->saveData("level", d_level);
438
if (contents == PRODUCTION_BASE || contents == TYPE)
400
441
std::stringstream medals;
401
442
for (int i=0;i<3;i++)