From 75274ebd6ba90784f5aa837b7e5ea97fc6bfb720 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sat, 20 Oct 2012 16:35:26 +0000 Subject: Item id based inventory, support for weapon dealers. --- src/game/base/savegame.cc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/game/base/savegame.cc') diff --git a/src/game/base/savegame.cc b/src/game/base/savegame.cc index 0057a50..e70e143 100644 --- a/src/game/base/savegame.cc +++ b/src/game/base/savegame.cc @@ -177,6 +177,14 @@ void SaveGame::load_game(core::Player *player, filesystem::IniFile & inifile) item->unset_flag(core::Item::Tradeable); } } + } else if (inifile.got_key_bool("unique", b)) { + if (item) { + if (b) { + item->set_flag(core::Item::Unique); + } else { + item->unset_flag(core::Item::Unique); + } + } } else { inifile.unknown_key(); } @@ -291,7 +299,12 @@ void SaveGame::inventory_to_stream(core::Inventory *inventory, std::ostream & os os << "label=" << item->info()->label() << std::endl; os << "amount=" << item->amount() << std::endl; os << "price=" << item->price() << std::endl; - os << "tradeable=" << (item->has_flag(core::Item::Tradeable) ? "yes" : "no") << std::endl; + if (item->has_flag(core::Item::Tradeable)) { + os << "tradeable=" << (item->has_flag(core::Item::Tradeable) ? "yes" : "no") << std::endl; + } + if (item->has_flag(core::Item::Unique)) { + os << "unique=" << (item->has_flag(core::Item::Unique) ? "yes" : "no") << std::endl; + } } } -- cgit v1.2.3