diff --git a/server/gameserver/frameevent.cc b/server/gameserver/frameevent.cc index e9429754..a99c32bc 100644 --- a/server/gameserver/frameevent.cc +++ b/server/gameserver/frameevent.cc @@ -480,6 +480,8 @@ void FrameEvent::AddPropChg(CreatureWeakPtr& sender, int type, int subtype, floa if (only_self) { if (sender.Get()->IsHuman()) { sender.Get()->AsHuman()->GetFrameData().chged_props_.push_back(idx); + } else if (sender.Get()->IsCar() && sender.Get()->AsCar()->GetDriver()) { + sender.Get()->AsCar()->GetDriver()->GetFrameData().chged_props_.push_back(idx); } } else { sender.Get()->TraverseAllLayerHumanList @@ -509,6 +511,8 @@ void FrameEvent::AddPropChgEx(CreatureWeakPtr& sender, int type, int subtype, if (only_self) { if (sender.Get()->IsHuman()) { sender.Get()->AsHuman()->GetFrameData().chged_props_.push_back(idx); + } else if (sender.Get()->IsCar() && sender.Get()->AsCar()->GetDriver()) { + sender.Get()->AsCar()->GetDriver()->GetFrameData().chged_props_.push_back(idx); } } else { sender.Get()->TraverseAllLayerHumanList diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 826a72a3..9c57e2d5 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -198,25 +198,21 @@ void Skill::AddMinorMode( } minor_cb_ = nullptr; ResetSkillCd(); - if (owner->IsHuman()) { - Human* hum = owner->AsHuman(); - owner->room->frame_event.AddPropChgEx - ( - owner->GetWeakPtrRef(), - kPropSkillMinor, - minor_type_, - minor_cd_time_, - minor_cd_time_, - meta->skill_id(), - true - ); - NotifySkillState(); - } + owner->room->frame_event.AddPropChgEx + ( + owner->GetWeakPtrRef(), + kPropSkillMinor, + minor_type_, + minor_cd_time_, + minor_cd_time_, + meta->skill_id(), + true + ); + NotifySkillState(); } }, &xtimer_attacher); - if (owner->IsHuman()) { - Human* hum = owner->AsHuman(); + { owner->room->frame_event.AddPropChgEx ( owner->GetWeakPtrRef(), @@ -563,7 +559,6 @@ const mt::Skill* Skill::GetCurrSkillMeta() } } - int Skill::GetSkillId() { return meta->skill_id();