diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index efbf769f..93a43499 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -13,6 +13,7 @@ #include "incubator.h" #include "car.h" #include "frameevent.h" +#include "skillhelper.h" Buff::Buff() { @@ -467,6 +468,21 @@ void Buff::ProcSprint() delete hited_objects; }); } + if (skill_meta) { + switch (skill_meta->GetMagicId()) { + case MAGIC_YMCZ: + { + owner->room->xtimer.ModifyTimer + (remover_timer, + SkillHelper::GetYmczBuffTime(skill_meta) / FRAME_RATE_MS); + } + break; + default: + { + } + break; + } + } } void Buff::ProcSeletTargetWithSelfPos() diff --git a/server/gameserver/skillhelper.cc b/server/gameserver/skillhelper.cc index d8132c5b..ce2d0cf5 100644 --- a/server/gameserver/skillhelper.cc +++ b/server/gameserver/skillhelper.cc @@ -231,3 +231,8 @@ float SkillHelper::GetSjydhxRecoverHp(Creature* c, const MetaData::Skill* skill_ { return 0; } + +int SkillHelper::GetYmczBuffTime(const MetaData::Skill* skill_meta) +{ + return 0; +} diff --git a/server/gameserver/skillhelper.h b/server/gameserver/skillhelper.h index f17f10f1..dc4a86d5 100644 --- a/server/gameserver/skillhelper.h +++ b/server/gameserver/skillhelper.h @@ -29,6 +29,8 @@ class SkillHelper static int GetSwzbDmg(const MetaData::Skill* skill_meta); static int GetSwzbEffect(const MetaData::Skill* skill_meta); static int GetSwzbPullDistance(const MetaData::Skill* skill_meta); + //野蛮冲撞 + static int GetYmczBuffTime(const MetaData::Skill* skill_meta); static void ProcBulletHitBuff(Bullet* bullet, Creature* c, int buff_uniid);