From 2e643306900752814190fcbf8484f070d51b3060 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 5 Jul 2024 11:57:00 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 3 +++ server/gameserver/netdata.cc | 14 ++++++++++++++ server/gameserver/netdata.h | 1 + 3 files changed, 18 insertions(+) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index bb4ccbbb..9f3a8ce5 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -2454,6 +2454,9 @@ void Creature::OnBattleStart(Room* room) A8_ABORT(); } #endif + if (GetNetData()->HasWing()) { + TryAddBuff(this, 1029000101); + } for (int item_id : GetNetData()->GetAvatars()) { if (item_id == 290001) { TryAddBuff(this, 1029000101); diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index 8c614224..8cd69239 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -1356,3 +1356,17 @@ void BattleDataContext::RecalcCrit() { hero_ability_->RecalcCrit(); } + +bool BattleDataContext::HasWing() +{ + if (hero_dto) { + long long token_id = hero_dto->Get("token_id", ""); + if (token_id >= 6240619010000001 && token_id <= 6240619010000100) { + return true; + } + if (token_id == 6240603010001523) { + return true; + } + } + return false; +} diff --git a/server/gameserver/netdata.h b/server/gameserver/netdata.h index 0cd08f50..83c5815f 100644 --- a/server/gameserver/netdata.h +++ b/server/gameserver/netdata.h @@ -93,6 +93,7 @@ struct BattleDataContext bool IsMainSkill(Skill* skill); int GetCurrentGetStar(); int GetBattleTimes(); + bool HasWing(); int GetHonor(); int GetElo() { return elo_; }