Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2012-10-20 16:35:26 +0000
committerStijn Buys <ingar@osirion.org>2012-10-20 16:35:26 +0000
commit75274ebd6ba90784f5aa837b7e5ea97fc6bfb720 (patch)
treea5d51a87bf3f20833df18bc40a3254b946716afb /src/game/base/savegame.cc
parentf01629dc14b1ee05b44d2e38b3dffbc1441fd85f (diff)
Item id based inventory, support for weapon dealers.
Diffstat (limited to 'src/game/base/savegame.cc')
-rw-r--r--src/game/base/savegame.cc15
1 files changed, 14 insertions, 1 deletions
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;
+ }
}
}