merge dev2
This commit is contained in:
commit
7f9514643b
@ -2177,25 +2177,27 @@ void Human::GenBattleReportData(a8::MutableXObject* params)
|
|||||||
{
|
{
|
||||||
std::string items_str;
|
std::string items_str;
|
||||||
MetaData::RankReward* rank_reward_meta = MetaMgr::Instance()->GetRankReward(rank);
|
MetaData::RankReward* rank_reward_meta = MetaMgr::Instance()->GetRankReward(rank);
|
||||||
if (rank_reward_meta) {
|
if (rank_reward_meta && rank_reward_meta->i->drop() > 0) {
|
||||||
int drop_id = rank_reward_meta->RandDrop();
|
if (rand() % 100 < rank_reward_meta->i->drop()) {
|
||||||
if (drop_id != 0) {
|
MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(grow_weapon.weapon_id);
|
||||||
MetaData::Drop* drop_meta = MetaMgr::Instance()->GetDrop(drop_id);
|
if (item_meta) {
|
||||||
if (drop_meta) {
|
MetaData::Drop* drop_meta = MetaMgr::Instance()->GetDrop(item_meta->i->drop_id());
|
||||||
std::vector<std::tuple<int, int, int>> drop_items;
|
if (drop_meta) {
|
||||||
drop_meta->RandItems(drop_items);
|
std::vector<std::tuple<int, int, int>> drop_items;
|
||||||
for (auto& item : drop_items) {
|
drop_meta->RandItems(drop_items);
|
||||||
int item_id = std::get<0>(item);
|
for (auto& item : drop_items) {
|
||||||
int item_num = std::get<1>(item);
|
int item_id = std::get<0>(item);
|
||||||
stats.items.push_back(std::make_pair(
|
int item_num = std::get<1>(item);
|
||||||
item_id,
|
stats.items.push_back(std::make_pair(
|
||||||
item_num
|
item_id,
|
||||||
));
|
item_num
|
||||||
items_str += a8::Format("%d:%d|", {item_id, item_num});
|
));
|
||||||
|
items_str += a8::Format("%d:%d|", {item_id, item_num});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}//end if rank_reward_meta
|
||||||
params->SetVal("items", items_str);
|
params->SetVal("items", items_str);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -126,6 +126,7 @@ class Human : public MoveableEntity
|
|||||||
long long send_msg_times = 0;
|
long long send_msg_times = 0;
|
||||||
|
|
||||||
Weapon spec_weapon;
|
Weapon spec_weapon;
|
||||||
|
Weapon grow_weapon;
|
||||||
std::map<int, int> weapon_configs;
|
std::map<int, int> weapon_configs;
|
||||||
std::map<int, int> skin_configs;
|
std::map<int, int> skin_configs;
|
||||||
|
|
||||||
|
@ -489,26 +489,6 @@ namespace MetaData
|
|||||||
|
|
||||||
void RankReward::Init()
|
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;
|
const metatable::RankReward* i = nullptr;
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
int RandDrop();
|
|
||||||
private:
|
|
||||||
std::vector<std::tuple<int, int>> drop;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct KillReward
|
struct KillReward
|
||||||
|
@ -79,6 +79,13 @@ Player* PlayerMgr::CreatePlayerByCMJoin(long ip_saddr, int socket, const cs::CMJ
|
|||||||
hum->spec_weapon.ammo = weapon.ammo();
|
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()) {
|
for (auto& skin : msg.skins()) {
|
||||||
if (skin.skin_id() != 0 && skin.skin_lv() > 0) {
|
if (skin.skin_id() != 0 && skin.skin_lv() > 0) {
|
||||||
hum->skin_configs[skin.skin_id()] = skin.skin_lv();
|
hum->skin_configs[skin.skin_id()] = skin.skin_lv();
|
||||||
|
@ -89,6 +89,7 @@ message Equip
|
|||||||
optional float rad = 36; //半径
|
optional float rad = 36; //半径
|
||||||
optional float rad2 = 37;
|
optional float rad2 = 37;
|
||||||
optional int32 buffid = 38;
|
optional int32 buffid = 38;
|
||||||
|
optional int32 drop_id = 40;
|
||||||
|
|
||||||
optional string inventory_slot = 31; //库存槽位
|
optional string inventory_slot = 31; //库存槽位
|
||||||
optional int32 _inventory_slot = 32; //库存槽位
|
optional int32 _inventory_slot = 32; //库存槽位
|
||||||
@ -210,7 +211,7 @@ message RankReward
|
|||||||
{
|
{
|
||||||
optional int32 rank = 1;
|
optional int32 rank = 1;
|
||||||
optional float parameter = 2;
|
optional float parameter = 2;
|
||||||
optional string drop = 3;
|
optional int32 drop = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RankPoint
|
message RankPoint
|
||||||
|
Loading…
x
Reference in New Issue
Block a user