diff --git a/server/gameserver/buff/sprint.cc b/server/gameserver/buff/sprint.cc index 390cf7bd..9f86f6c0 100644 --- a/server/gameserver/buff/sprint.cc +++ b/server/gameserver/buff/sprint.cc @@ -32,6 +32,19 @@ void SprintBuff::Deactivate() if (owner->AsHuman()) { owner->AsHuman()->last_shot_frameno_ = owner->room->GetFrameNo() + SERVER_FRAME_RATE; } + if (skill_meta) { + switch (skill_meta->GetMagicId()) { + case MAGIC_20901_XIONG: + { + ProcXiongHun(); + } + break; + default: + { + } + break; + } + } } void SprintBuff::SprintMove() @@ -200,3 +213,9 @@ void SprintBuff::ProcSkill() } } } + + +void SprintBuff::ProcXiongHun() +{ + owner->TryAddBuff(owner, 209016); +} diff --git a/server/gameserver/buff/sprint.h b/server/gameserver/buff/sprint.h index 01e9b084..37787458 100644 --- a/server/gameserver/buff/sprint.h +++ b/server/gameserver/buff/sprint.h @@ -15,6 +15,7 @@ class SprintBuff : public Buff void Check(Position& pre_pos, std::map& hited_objects); void OnEnemyHit(Creature* enemy); void ProcSkill(); + void ProcXiongHun(); int stop_times_ = 0; }; diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index b69e5141..fc66dd15 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -557,19 +557,6 @@ void Skill::Proc30401MAO() #endif } ); - owner->GetTrigger()->AddListener - ( - kDieEvent, - [this] (const a8::Args& args) - { - #if 0 - int killer_id = std::any_cast(params.at(0)); - Entity* killer = owner->room->GetEntityByUniId(killer_id); - if (killer && killer != owner) { - owner->TryAddBuff(owner, 209016); - } - #endif - }); #endif }