feat: death message event

This commit is contained in:
Tsubasa6848
2024-03-04 22:02:52 +08:00
Unverified
parent 8864421f32
commit 0fe3c691e5
2 changed files with 28 additions and 0 deletions
+20
View File
@@ -132,6 +132,26 @@ void Export_Event_API() {
);
return true;
}
case do_hash("onDeathMessage"): {
auto Call = RemoteCall::importAs<
bool(std::string message, std::vector<std::string>, Actor * dead, Actor * killer, int cause)>(
eventName,
eventId
);
eventBus->emplaceListener<GMLIB::Event::EntityEvent::DeathMessageAfterEvent>(
[Call](GMLIB::Event::EntityEvent::DeathMessageAfterEvent& ev) {
auto msg = ev.getDeathMessage();
auto source = ev.getDamageSource();
Actor* entity = nullptr;
entity = GMLIB_Level::getLevel()->fetchEntity(source.getDamagingEntityUniqueID());
if (entity->getOwner()) {
entity = entity->getOwner();
}
Call(msg.first, msg.second, &ev.self(), entity, (int)source.getCause());
}
);
return true;
}
default:
return false;
}