From 3048b8a193bbaceeb5e172d3d9d589ca209b97f8 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jan 2024 11:57:43 +0800 Subject: [PATCH] 1 --- server/gameserver/hero_agent.cc | 3 --- server/gameserver/pbutils.cc | 6 ++++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/server/gameserver/hero_agent.cc b/server/gameserver/hero_agent.cc index a786cc4b..95d1b04c 100644 --- a/server/gameserver/hero_agent.cc +++ b/server/gameserver/hero_agent.cc @@ -1557,9 +1557,6 @@ behaviac::EBTStatus HeroAgent::ThrowItem(int slot) bomb_dir, fly_distance, 0); - if (owner_->IsHuman()) { - owner_->AsHuman()->stats->IncWeaponUseTimes(weapon.meta->id(), 1); - } last_throw_item_frameno_ = owner_->room->GetFrameNo(); return behaviac::BT_SUCCESS; } diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 7b91266f..d435f448 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -2551,7 +2551,7 @@ void SyncObject::FillSMSyncPosition(cs::SMSyncPosition& sync_msg) } int Creature::Throw(int slot, const glm::vec3& bomb_pos, const glm::vec3& bomb_dir, - float fly_distance, int estimated_time) + float fly_distance, int estimated_time) { if (!IsHuman()) { return 0; @@ -2559,11 +2559,13 @@ int Creature::Throw(int slot, const glm::vec3& bomb_pos, const glm::vec3& bomb_d if (slot < 0 || slot >= weapons.size()) { return 0; } - Weapon& weapon = weapons.at(slot); if (weapon.weapon_idx != 0 && weapon.meta && weapon.ammo > 0) { + if (IsHuman()) { + AsHuman()->stats->IncWeaponUseTimes(weapon.meta->id(), 1); + } if (HasBuffEffect(kBET_Hide)) { RemoveHideEffect(kShotReason); }