diff options
author | Stijn Buys <ingar@osirion.org> | 2013-01-06 15:26:56 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2013-01-06 15:26:56 +0000 |
commit | cafb6d40174459819b33ffc5e3d5e96762375619 (patch) | |
tree | f7df6dfc414e339ba466f9c151b759d921c9849a /src/game/base/savegame.cc | |
parent | 4701580b1d6d1ec71733096122ffa5979a1fe075 (diff) |
Set the item::Mountable flag where required,
removed the Weapon::stackable() attribute.
Diffstat (limited to 'src/game/base/savegame.cc')
-rw-r--r-- | src/game/base/savegame.cc | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/game/base/savegame.cc b/src/game/base/savegame.cc index 6d492d0..616b85f 100644 --- a/src/game/base/savegame.cc +++ b/src/game/base/savegame.cc @@ -212,12 +212,20 @@ void SaveGame::load_game(core::Player *player, filesystem::IniFile & inifile) if (item->info()->type() == Weapon::infotype()) { const Weapon *weapon = static_cast<const Weapon *>(item->info()); - + item->set_price(weapon->price()); item->set_flag(core::Item::Unrestricted); - if (weapon->stackable()) { - item->unset_flag(core::Item::Unique); - } else { - item->set_flag(core::Item::Unique); + + switch (weapon->subtype()) { + case Weapon::Cannon: + item->set_flag(core::Item::Unique); + item->set_flag(core::Item::Mountable); + break; + case Weapon::Turret: + item->set_flag(core::Item::Unique); + item->set_flag(core::Item::Mountable); + break; + default: + break; } } } |