merge dev2

This commit is contained in:
aozhiwei 2020-05-26 15:47:29 +08:00
commit 7f9514643b
6 changed files with 28 additions and 40 deletions

View File

@ -2177,10 +2177,11 @@ void Human::GenBattleReportData(a8::MutableXObject* params)
{
std::string items_str;
MetaData::RankReward* rank_reward_meta = MetaMgr::Instance()->GetRankReward(rank);
if (rank_reward_meta) {
int drop_id = rank_reward_meta->RandDrop();
if (drop_id != 0) {
MetaData::Drop* drop_meta = MetaMgr::Instance()->GetDrop(drop_id);
if (rank_reward_meta && rank_reward_meta->i->drop() > 0) {
if (rand() % 100 < rank_reward_meta->i->drop()) {
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());
if (drop_meta) {
std::vector<std::tuple<int, int, int>> drop_items;
drop_meta->RandItems(drop_items);
@ -2196,6 +2197,7 @@ void Human::GenBattleReportData(a8::MutableXObject* params)
}
}
}
}//end if rank_reward_meta
params->SetVal("items", items_str);
}
{

View File

@ -126,6 +126,7 @@ class Human : public MoveableEntity
long long send_msg_times = 0;
Weapon spec_weapon;
Weapon grow_weapon;
std::map<int, int> weapon_configs;
std::map<int, int> skin_configs;

View File

@ -489,26 +489,6 @@ namespace MetaData
void RankReward::Init()
{
std::vector<std::string> strings;
a8::Split(i->drop(), strings, ':');
if (strings.size() >= 2) {
drop.push_back(std::make_tuple(
a8::XValue(strings[0]),
a8::XValue(strings[1])
));
}
}
int RankReward::RandDrop()
{
for (auto& tuple : drop) {
int drop_id = std::get<0>(tuple);
int rnd = std::get<1>(tuple);
if (rand() % 100 < rnd) {
return drop_id;
}
}
return 0;
}
}

View File

@ -198,9 +198,6 @@ namespace MetaData
const metatable::RankReward* i = nullptr;
void Init();
int RandDrop();
private:
std::vector<std::tuple<int, int>> drop;
};
struct KillReward

View File

@ -79,6 +79,13 @@ Player* PlayerMgr::CreatePlayerByCMJoin(long ip_saddr, int socket, const cs::CMJ
hum->spec_weapon.ammo = weapon.ammo();
}
}
for (auto& weapon : msg.grow_weapons()) {
if (weapon.weapon_id() != 0) {
hum->grow_weapon.weapon_id = weapon.weapon_id();
hum->grow_weapon.weapon_lv = weapon.weapon_lv();
hum->grow_weapon.ammo = weapon.ammo();
}
}
for (auto& skin : msg.skins()) {
if (skin.skin_id() != 0 && skin.skin_lv() > 0) {
hum->skin_configs[skin.skin_id()] = skin.skin_lv();

View File

@ -89,6 +89,7 @@ message Equip
optional float rad = 36; //
optional float rad2 = 37;
optional int32 buffid = 38;
optional int32 drop_id = 40;
optional string inventory_slot = 31; //
optional int32 _inventory_slot = 32; //
@ -210,7 +211,7 @@ message RankReward
{
optional int32 rank = 1;
optional float parameter = 2;
optional string drop = 3;
optional int32 drop = 3;
}
message RankPoint