merge dev2
This commit is contained in:
commit
7f9514643b
@ -2177,25 +2177,27 @@ 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 (drop_meta) {
|
||||
std::vector<std::tuple<int, int, int>> drop_items;
|
||||
drop_meta->RandItems(drop_items);
|
||||
for (auto& item : drop_items) {
|
||||
int item_id = std::get<0>(item);
|
||||
int item_num = std::get<1>(item);
|
||||
stats.items.push_back(std::make_pair(
|
||||
item_id,
|
||||
item_num
|
||||
));
|
||||
items_str += a8::Format("%d:%d|", {item_id, item_num});
|
||||
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);
|
||||
for (auto& item : drop_items) {
|
||||
int item_id = std::get<0>(item);
|
||||
int item_num = std::get<1>(item);
|
||||
stats.items.push_back(std::make_pair(
|
||||
item_id,
|
||||
item_num
|
||||
));
|
||||
items_str += a8::Format("%d:%d|", {item_id, item_num});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}//end if rank_reward_meta
|
||||
params->SetVal("items", items_str);
|
||||
}
|
||||
{
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user