diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc index af2fc9fc..d54b09fa 100644 --- a/server/gameserver/trigger.cc +++ b/server/gameserver/trigger.cc @@ -130,6 +130,7 @@ void Trigger::Shot(const mt::Equip* weapon_meta) &owner_->xtimer_attacher); } } + DispatchEvent(kShotEvent, {}); } void Trigger::Kill(Creature* target, int weapon_id) @@ -551,3 +552,13 @@ void Trigger::Downed() { DispatchEvent(kDownedEvent, {}); } + +void Trigger::StartReload() +{ + DispatchEvent(kStartReloadEvent, {}); +} + +void Trigger::EndReload() +{ + DispatchEvent(kEndReloadEvent, {}); +} diff --git a/server/gameserver/trigger.h b/server/gameserver/trigger.h index 0bd92939..d53fe95a 100644 --- a/server/gameserver/trigger.h +++ b/server/gameserver/trigger.h @@ -44,6 +44,8 @@ enum EventId_e kTakeonWeaponEvent, kBulletKill, kAttackTargetEvent, + kStartReloadEvent, + kEndReloadEvent, kDownedEvent }; @@ -88,6 +90,8 @@ public: void StartJump(Creature* sender); void EndJump(Creature* sender); void Downed(); + void StartReload(); + void EndReload(); std::weak_ptr AddListener(int event_id, a8::CommonCbProc cb); void RemoveEventHandler(std::weak_ptr handler_ptr);