From 39d4631e025cd02ff916ac38ce1943552bba364c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 27 Sep 2023 14:11:11 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 6 ++++++ server/gameserver/netdata.cc | 5 +++++ server/gameserver/netdata.h | 3 +++ 3 files changed, 14 insertions(+) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index d396fb19..06f58630 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -2245,6 +2245,12 @@ void Creature::OnBattleStart(Room* room) A8_ABORT(); } #endif + for (int item_id : GetBattleContext()->GetAvatars()) { + if (item_id == 290001) { + TryAddBuff(this, 1029000101); + break; + } + } } bool Creature::CanFollow(Creature* follower) diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index 078fafb8..3dc81d9b 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -544,6 +544,11 @@ void BattleDataContext::ParseResult(a8::XObject& obj) } } #endif + if (obj.HasKey("avatar_info") && obj.At("avatar_info")->IsArray()) { + if (obj.At("avatar_info")->Size() > 0) { + avatars_.push_back(290001); + } + } parse_ok = hero_ability_->hero_meta != nullptr; } diff --git a/server/gameserver/netdata.h b/server/gameserver/netdata.h index 2b841667..264337b5 100644 --- a/server/gameserver/netdata.h +++ b/server/gameserver/netdata.h @@ -88,6 +88,7 @@ struct BattleDataContext int GetHonor(); int GetElo() { return elo_; } + const std::list& GetAvatars() { return avatars_; } private: void Clear(); @@ -122,6 +123,8 @@ private: int current_get_star_ = 0; int battle_times_ = 0; + std::list avatars_; + int skill1_lv = 1; int skill2_lv = 1; int skill3_lv = 1;