This commit is contained in:
aozhiwei 2024-10-12 11:12:19 +08:00
parent 4ca93f2f97
commit 6a64ee20c6
4 changed files with 10 additions and 6 deletions

View File

@ -20,9 +20,11 @@ int BagItem::GetCdTime(Human* hum)
(potion_meta->cooldown() * SERVER_FRAME_RATE - (hum->room->GetFrameNo() - last_use_tick)) * FRAME_RATE_MS);
}
void Bag::Parse(const std::list<int>& items)
void Bag::Parse(const std::list<std::tuple<int, int>>& items)
{
for (auto item_id : items) {
for (auto tuple : items) {
auto item_id = std::get<0>(tuple);
auto item_num = std::get<1>(tuple);
auto item_meta = mt::Item::GetById(item_id);
if (item_meta) {
auto potion_meta = mt::BattlePotion::GetById(item_id);
@ -30,7 +32,7 @@ void Bag::Parse(const std::list<int>& items)
if (potion_meta && equip_meta) {
auto p = std::make_shared<BagItem>();
p->equip_id = equip_meta->id();
p->equip_num = 10;
p->equip_num = item_num;
p->item_meta = item_meta;
p->potion_meta = potion_meta;
p->equip_meta = equip_meta;

View File

@ -26,7 +26,7 @@ class Bag
Bag(Human* owner) { owner_ = owner; };
void UseItem(int equip_id);
void PushBagInfo();
void Parse(const std::list<int>& items);
void Parse(const std::list<std::tuple<int, int>>& items);
std::shared_ptr<BagItem> GetItemById(int equip_id);
private:

View File

@ -546,11 +546,13 @@ void BattleDataContext::ParseResult(a8::XObject& obj)
avatars_.push_back(290001);
}
}
#if 0
if (hero_dto->HasKey("items") && hero_dto->At("items")->IsArray()) {
for (int i = 0; i < hero_dto->At("items")->Size(); ++i) {
items_.push_back(hero_dto->At("items")->At(i)->AsXValue());
}
}
#endif
}
if (obj.HasKey("honor_info") && obj.At("honor_info")->IsArray()) {
auto honor_info = obj.At("honor_info");

View File

@ -100,7 +100,7 @@ struct BattleDataContext
int GetHonor();
int GetElo() { return elo_; }
const std::list<int>& GetAvatars() { return avatars_; }
const std::list<int>& GetItems() { return items_; }
const std::list<std::tuple<int, int>>& GetItems() { return items_; }
std::shared_ptr<HeroAbility> GetHeroAbility() { return hero_ability_; }
private:
@ -131,7 +131,7 @@ private:
int battle_times_ = 0;
std::list<int> avatars_;
std::list<int> items_;
std::list<std::tuple<int, int>> items_;
int skill1_lv = 1;
int skill2_lv = 1;