From 620db5ae5bc0f4ad0acf11eac4ea23b794993284 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 27 May 2020 10:32:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=AD=A6=E5=99=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/human.cc | 11 +++++++++++ server/gameserver/metadata.cc | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index aadc738..e14f69a 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2072,8 +2072,16 @@ void Human::GenBattleReportData(a8::MutableXObject* params) { std::string items_str; MetaData::RankReward* rank_reward_meta = MetaMgr::Instance()->GetRankReward(rank); +#ifdef DEBUG + { if (rank_reward_meta && rank_reward_meta->i->drop() > 0) { +#else +#endif +#ifdef DEBUG + { +#else if (rand() % 100 < rank_reward_meta->i->drop()) { +#endif MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(grow_weapon.weapon_id); if (item_meta) { MetaData::Drop* drop_meta = MetaMgr::Instance()->GetDrop(item_meta->i->drop_id()); @@ -2093,6 +2101,9 @@ void Human::GenBattleReportData(a8::MutableXObject* params) } } }//end if rank_reward_meta + if (!items_str.empty() && items_str[items_str.size() - 1] == '|') { + items_str.erase(items_str.begin() + items_str.size() - 1); + } params->SetVal("items", items_str); } { diff --git a/server/gameserver/metadata.cc b/server/gameserver/metadata.cc index fb39525..9f78842 100644 --- a/server/gameserver/metadata.cc +++ b/server/gameserver/metadata.cc @@ -230,7 +230,7 @@ namespace MetaData } } } else if (total_weight > 0) { - int rnd = rand() % total_weight; + int rnd = rand() % (total_weight + 1); for (auto& item : items) { if (std::get<3>(item) >= rnd) { for (size_t i = 0; i < std::get<0>(item).size(); ++i) {