From 6646097e0402e7c9c874e17ef46db8cc62bee69f Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Thu, 24 Sep 2015 17:21:54 -0400 Subject: [PATCH] Fix gold/food with custom charges not working/displaying right --- src/boe.newgraph.cpp | 12 +++++++----- src/boe.town.cpp | 4 +++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/boe.newgraph.cpp b/src/boe.newgraph.cpp index 1e3cfa33..919919e7 100644 --- a/src/boe.newgraph.cpp +++ b/src/boe.newgraph.cpp @@ -886,6 +886,7 @@ std::string get_item_interesting_string(cItem item) { if(item.cursed) { return "Cursed item."; } + bool got_string = true; std::ostringstream sout; switch(item.variety) { case eItemType::ONE_HANDED: @@ -924,12 +925,13 @@ std::string get_item_interesting_string(cItem item) { sout << "Poison: " << item.item_level << '-' << item.item_level * 6 << " damage"; break; default: - if(item.charges > 0) - sout << "Uses: " << item.charges << '.'; - return sout.str(); + got_string = false; + break; + } + if(item.charges > 0) { + if(got_string) sout << "; "; + sout << "Uses: " << item.charges; } - if(item.charges > 0) - sout << "; Uses: " << item.charges; sout << '.'; return sout.str(); } diff --git a/src/boe.town.cpp b/src/boe.town.cpp index 10dec770..ba0ebb1d 100644 --- a/src/boe.town.cpp +++ b/src/boe.town.cpp @@ -408,8 +408,10 @@ void start_town_mode(short which_town, short entry_dir) { if(univ.town->preset_items[i].charges > 0) { eItemType variety = univ.town.items[j].variety; - if(univ.town.items[j].charges > 0 || variety == eItemType::GOLD || variety == eItemType::FOOD) + if(univ.town.items[j].charges > 0) univ.town.items[j].charges = univ.town->preset_items[i].charges; + else if(variety == eItemType::GOLD || variety == eItemType::FOOD) + univ.town.items[j].item_level = univ.town->preset_items[i].charges; } if(town_toast)