diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 1c95b8be..96465a4f 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -462,10 +462,17 @@ void Skill::ProcJYFH() { owner->GetTrigger()->AddListener ( - kRescueEvent, - [] (const std::vector& params) + kStartRescueEvent, + [this] (const std::vector& params) { + owner->GetTrigger()->AddListener + ( + kEndRescueEvent, + [this] (const std::vector& params) + { + } + ); } ); } diff --git a/server/gameserver/skillhelper.cc b/server/gameserver/skillhelper.cc index 4c73b97a..efb2d954 100644 --- a/server/gameserver/skillhelper.cc +++ b/server/gameserver/skillhelper.cc @@ -337,3 +337,18 @@ int SkillHelper::GetYlzRecoverHp(Creature* sender, Creature* target, const MetaD (1 + target->GetBattleContext()->GetExtRecoverHp()); return hp; } + +int SkillHelper::GetJyfhBuffId(const MetaData::Skill* skill_meta) +{ + return 0; +} + +int SkillHelper::GetJyfhBuffTime(const MetaData::Skill* skill_meta) +{ + return 0; +} + +int SkillHelper::GetJyfhDmgRuduce(const MetaData::Skill* skill_meta) +{ + return 0; +} diff --git a/server/gameserver/skillhelper.h b/server/gameserver/skillhelper.h index cbe7a088..a43c6649 100644 --- a/server/gameserver/skillhelper.h +++ b/server/gameserver/skillhelper.h @@ -39,6 +39,10 @@ class SkillHelper //医疗站 static int GetYlzRange(const MetaData::Skill* skill_meta); static int GetYlzRecoverHp(Creature* sender, Creature* target, const MetaData::Skill* skill_meta); + //救援防护 + static int GetJyfhBuffId(const MetaData::Skill* skill_meta); + static int GetJyfhBuffTime(const MetaData::Skill* skill_meta); + static int GetJyfhDmgRuduce(const MetaData::Skill* skill_meta); static void ProcBulletHitBuff(Bullet* bullet, Creature* c, int buff_uniid); static bool ProcBulletDmg(Bullet* bullet, Creature* target, float& finaly_dmg); diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc index e507782b..8aba7a0b 100644 --- a/server/gameserver/trigger.cc +++ b/server/gameserver/trigger.cc @@ -434,9 +434,14 @@ void Trigger::ShieldDestory() DispatchEvent(kShieldDestoryEvent, {}); } -void Trigger::Rescue(Human* target) +void Trigger::StartRescue(Human* target) { - DispatchEvent(kRescueEvent, {target}); + DispatchEvent(kStartRescueEvent, {target}); +} + +void Trigger::EndRescue(Human* target) +{ + DispatchEvent(kEndRescueEvent, {target}); } void Trigger::YsBuffRemove(Buff* buff) diff --git a/server/gameserver/trigger.h b/server/gameserver/trigger.h index 9b3a3cf4..a4539a33 100644 --- a/server/gameserver/trigger.h +++ b/server/gameserver/trigger.h @@ -27,9 +27,10 @@ enum EventId_e kDieEvent, kShieldDestoryEvent, kFlyHookPullEvent, - kRescueEvent, kBulletHitEvent, - kYsRemoveEvent + kYsRemoveEvent, + kStartRescueEvent, + kEndRescueEvent, }; class Weapon; @@ -58,7 +59,8 @@ public: void DeactiveBuff(MetaData::Buff* buff_meta); void BulletHit(Bullet* bullet, Creature* target); void ShieldDestory(); - void Rescue(Human* target); + void StartRescue(Human* target); + void EndRescue(Human* target); void YsBuffRemove(Buff* buff); std::weak_ptr AddListener(int event_id, CommonCbProc cb);