diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc index b08158e7..f5496def 100644 --- a/server/gameserver/trigger.cc +++ b/server/gameserver/trigger.cc @@ -418,3 +418,8 @@ void Trigger::DispatchEvent(int event_id, const std::vector& param) } } } + +void Trigger::BulletHit(Bullet* bullet) +{ + DispatchEvent(kBulletHit, {bullet}); +} diff --git a/server/gameserver/trigger.h b/server/gameserver/trigger.h index 70390472..b5dcc082 100644 --- a/server/gameserver/trigger.h +++ b/server/gameserver/trigger.h @@ -28,12 +28,14 @@ enum EventId_e kShieldDestoryEvent = 5, kFlyHookPullEvent = 6, kRescueEvent = 7, + kBulletHit = 8 }; class Weapon; class Creature; class Skill; class Buff; +class Bullet; class Trigger { public: @@ -52,6 +54,8 @@ public: void Die(); void ActiveBuff(MetaData::Buff* buff_meta); void DeactiveBuff(MetaData::Buff* buff_meta); + void BulletHit(Bullet* bullet); + std::weak_ptr AddListener(int event_id, CommonCbProc cb); void RemoveEventHandler(std::weak_ptr handler_ptr);