diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 38e1ad5f..1c3cbdf6 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -339,22 +339,23 @@ void Skill::ProcSWZB() kDieEvent, [this] (const std::vector& params) { - std::shared_ptr e = EntityFactory::Instance()->MakeExplosion(); - e->SetHitCb - ( - [] (const std::vector& params) - { + CreatureWeakPtr sender = owner->GetWeakPtrRef(); + std::shared_ptr e = EntityFactory::Instance()->MakeExplosion(); + e->SetHitCb + ( + [sender] (const std::vector& params) + { - } - ); - e->EnemyAndObstacleAttack - ( - owner->GetWeakPtrRef(), - owner->GetPos(), - 0, - 0, - 0 - ); + } + ); + e->EnemyAndObstacleAttack + ( + owner->GetWeakPtrRef(), + owner->GetPos(), + SkillHelper::GetSwzbRadius(meta), + SkillHelper::GetSwzbEffect(meta), + SkillHelper::GetSwzbDmg(meta) + ); } ); } diff --git a/server/gameserver/skillhelper.cc b/server/gameserver/skillhelper.cc index aa635b25..5d849212 100644 --- a/server/gameserver/skillhelper.cc +++ b/server/gameserver/skillhelper.cc @@ -129,6 +129,11 @@ int SkillHelper::GetSwzbDmg(const MetaData::Skill* skill_meta) return 0; } +int SkillHelper::GetSwzbEffect(const MetaData::Skill* skill_meta) +{ + return 0; +} + int SkillHelper::GetSwzbPullDistance(const MetaData::Skill* skill_meta) { return 0; diff --git a/server/gameserver/skillhelper.h b/server/gameserver/skillhelper.h index 795e30fd..57f4a7d1 100644 --- a/server/gameserver/skillhelper.h +++ b/server/gameserver/skillhelper.h @@ -23,6 +23,7 @@ class SkillHelper //死亡自爆 static int GetSwzbRadius(const MetaData::Skill* skill_meta); static int GetSwzbDmg(const MetaData::Skill* skill_meta); + static int GetSwzbEffect(const MetaData::Skill* skill_meta); static int GetSwzbPullDistance(const MetaData::Skill* skill_meta); private: