[Saylinks] Inject Saylinks in MessageClose API (#2335)

This commit is contained in:
hg 2022-07-30 20:16:25 -04:00 committed by GitHub
parent 576e7b0f91
commit 4cf6db79aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 4 deletions

View File

@ -227,7 +227,16 @@ void Lua_EntityList::MessageStatus(uint32 guild_dbid, int min_status, uint32 typ
void Lua_EntityList::MessageClose(Lua_Mob sender, bool skip_sender, float dist, uint32 type, const char *message) {
Lua_Safe_Call_Void();
self->MessageClose(sender, skip_sender, dist, type, message);
if (RuleB(Chat, AutoInjectSaylinksToClientMessage))
{
std::string new_message = EQ::SayLinkEngine::InjectSaylinksIfNotExist(message);
self->MessageClose(sender, skip_sender, dist, type, new_message.c_str());
}
else
{
self->MessageClose(sender, skip_sender, dist, type, message);
}
}
void Lua_EntityList::FilteredMessageClose(Lua_Mob sender, bool skip_sender, float dist, uint32 type, int filter, const char *message)

View File

@ -2,10 +2,12 @@
#ifdef EMBPERL_XS_CLASSES
#include "../common/global_define.h"
#include "../common/strings.h"
#include "embperl.h"
#include "entity.h"
#include "../common/global_define.h"
#include "../common/rulesys.h"
#include "../common/say_link.h"
#include "../common/strings.h"
#include <list>
Mob* Perl_EntityList_GetMobID(EntityList* self, uint16_t mob_id) // @categories Script Utility
@ -255,7 +257,15 @@ void Perl_EntityList_MessageStatus(EntityList* self, uint32 guild_id, int to_min
void Perl_EntityList_MessageClose(EntityList* self, Mob* sender, bool skip_sender, float distance, uint32 color_type, const char* message)
{
self->MessageClose(sender, skip_sender, distance, color_type, message);
if (RuleB(Chat, AutoInjectSaylinksToClientMessage))
{
std::string new_message = EQ::SayLinkEngine::InjectSaylinksIfNotExist(message);
self->MessageClose(sender, skip_sender, distance, color_type, new_message.c_str());
}
else
{
self->MessageClose(sender, skip_sender, distance, color_type, message);
}
}
void Perl_EntityList_RemoveFromTargets(EntityList* self, Mob* mob) // @categories Script Utility