From bfb6d6a5dfcfbb3620a58baaf6d45c1b6d621eca Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 14 Nov 2022 16:44:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=80=E8=83=BD=E5=89=AF?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/skill.cc | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 48ce3264..3ea3bf50 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -204,7 +204,24 @@ void Skill::AddMinorMode( skill->minor_mode_timer_ = nullptr; } ); - owner->MarkSyncActivePlayer(__FILE__, __LINE__, __func__); + if (owner->IsHuman()) { + Human* hum = owner->AsHuman(); + if (hum->proto_version >= cs::Constant_e::ProtoVersion) { + owner->room->frame_event.AddPropChgEx + ( + owner->GetWeakPtrRef(), + kPropSkillMinor, + minor_type_, + minor_cd_time_, + minor_cd_time_, + meta->i->skill_id(), + true + ); + NotifySkillState(); + } else { + owner->MarkSyncActivePlayer(__FILE__, __LINE__, __func__); + } + } } void Skill::DoMinorMode() @@ -215,7 +232,24 @@ void Skill::DoMinorMode() minor_cd_time_ = 0; minor_cb_ = nullptr; ResetSkillCd(); - owner->MarkSyncActivePlayer(__FILE__, __LINE__, __func__); + if (owner->IsHuman()) { + Human* hum = owner->AsHuman(); + if (hum->proto_version >= cs::Constant_e::ProtoVersion) { + owner->room->frame_event.AddPropChgEx + ( + owner->GetWeakPtrRef(), + kPropSkillMinor, + minor_type_, + minor_cd_time_, + minor_cd_time_, + meta->i->skill_id(), + true + ); + NotifySkillState(); + } else { + owner->MarkSyncActivePlayer(__FILE__, __LINE__, __func__); + } + } } }