From 45d64b6ced0497a4342de95ca4136cf5673a9618 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 23 Aug 2021 13:05:41 +0800 Subject: [PATCH] 1 --- server/gameserver/bullet.cc | 2 +- server/gameserver/creature.cc | 4 +++- server/gameserver/explosion.cc | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index c2084f7..3d506d6 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -592,5 +592,5 @@ void Bullet::AddGunBuff() bool Bullet::IsPreBattleBullet() { - return create_frameno_ <= room->GetBattleStartFrameNo(); + return create_frameno_ <= room->GetBattleStartFrameNo() || room->GetBattleStartFrameNo() == 0; } diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index a25b5bb..3f62d38 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -2764,7 +2764,9 @@ void Creature::OnBattleStart(Room* room) del_buffs.reserve(buff_list_.size()); for (auto& buff : buff_list_) { if (!buff.meta->i->post_battle_valid()) { - del_buffs.push_back(buff.buff_uniid); + if (!buff.skill_meta || buff.skill_meta->i->skill_type() != kPassiveSkill) { + del_buffs.push_back(buff.buff_uniid); + } } } for (auto itr = del_buffs.rbegin(); itr != del_buffs.rend(); ++itr) { diff --git a/server/gameserver/explosion.cc b/server/gameserver/explosion.cc index ae259d0..9693ba3 100644 --- a/server/gameserver/explosion.cc +++ b/server/gameserver/explosion.cc @@ -127,5 +127,5 @@ void Explosion::InternalAttack() bool Explosion::IsPreBattleExplosion() { - return create_frameno_ <= room_->GetBattleStartFrameNo(); + return create_frameno_ <= room_->GetBattleStartFrameNo() || room_->GetBattleStartFrameNo() == 0; }