From 64d54905457190b4138d59e5c9971517c8a7735c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 8 Apr 2021 14:33:56 +0800 Subject: [PATCH] 1 --- server/gameserver/skill.cc | 9 +++++++++ server/gameserver/skill.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index e38fbe5..8e21474 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -20,6 +20,7 @@ void Skill::Initialzie() Skill* skill = (Skill*)param.sender.GetUserData(); if (skill->GetCurrTimes() < skill->GetMaxTimes()) { skill->curr_times_++; + skill->NotifySkillState(); } }, &xtimer_attacher.timer_list_); @@ -119,3 +120,11 @@ int Skill::GetMaxTimes() { return meta->i->max_times(); } + +void Skill::NotifySkillState() +{ + if (owner->IsHuman()) { + owner->room->frame_event.AddSkillCdChg(owner->AllocWeakPtr(), meta->i->skill_id(), GetLeftTime()); + owner->room->frame_event.AddSkillCurrTimesChg(owner->AllocWeakPtr(), meta->i->skill_id(), GetCurrTimes()); + } +} diff --git a/server/gameserver/skill.h b/server/gameserver/skill.h index de6ee56..117f8b7 100644 --- a/server/gameserver/skill.h +++ b/server/gameserver/skill.h @@ -38,6 +38,8 @@ class Skill void ClearPassiveSkillBuff(); void AddPassiveSkillBuff(); +private: + void NotifySkillState(); private: int curr_times_ = 0; xtimer_list* inc_times_timer_ = nullptr;