diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 61ffafbb..7a29eb8b 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -3711,3 +3711,8 @@ void Creature::LockAttackDir(int time) } ); } + +void Creature::PullTarget(const a8::Vec2& target_pos) +{ + +} diff --git a/server/gameserver/creature.h b/server/gameserver/creature.h index 5e28151a..4581681a 100644 --- a/server/gameserver/creature.h +++ b/server/gameserver/creature.h @@ -281,6 +281,7 @@ class Creature : public MoveableEntity void AutoNavigation(a8::Vec2 target_pos, float speed); void AddTraceBullet(int bullet_uniid, int target_uniid, int gun_id); void LockAttackDir(int time); + void PullTarget(const a8::Vec2& target_pos); protected: virtual void OnBuffRemove(Buff& buff); diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 1c3cbdf6..d1bef604 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -340,12 +340,18 @@ void Skill::ProcSWZB() [this] (const std::vector& params) { CreatureWeakPtr sender = owner->GetWeakPtrRef(); + a8::Vec2 center = owner->GetPos(); std::shared_ptr e = EntityFactory::Instance()->MakeExplosion(); e->SetHitCb ( - [sender] (const std::vector& params) + [sender, center] (const std::vector& params) mutable { + if (sender.Get()) { + Entity* e = std::any_cast(params.at(0)); + if (e->IsCreature()) { + } + } } ); e->EnemyAndObstacleAttack