Added optional guildid and minstatus parameters to quest::gmsay(<messsage>, [color], [toworld], [guildid], [minstatus])

This commit is contained in:
Derision 2013-02-17 10:19:12 +00:00
parent 15dc9cfaf4
commit d1afad47aa
4 changed files with 21 additions and 12 deletions

View File

@ -1,9 +1,11 @@
EQEMu Changelog (Started on Sept 24, 2003 15:50) EQEMu Changelog (Started on Sept 24, 2003 15:50)
------------------------------------------------------- -------------------------------------------------------
== 02/17/2013 ==
Derision: Added optional guildid and minstatus parameters to quest::gmsay(<messsage>, [color], [toworld], [guildid], [minstatus])
== 02/16/2013 == == 02/16/2013 ==
demonstar55: Fix AA reuse timer calc demonstar55: Fix AA reuse timer calc
demonstar55: Remove old filters and change all remaining old to new (Also fix demonstar55: Remove old filters and change all remaining old to new (Also fix Auction filtering out OOC as well due to incorrect define)
Auction filtering out OOC as well due to incorrect define)
== 02/12/2013 == == 02/12/2013 ==
Kayen: AA fix Kayen: AA fix

View File

@ -644,12 +644,14 @@ XS(XS__gmsay);
XS(XS__gmsay) XS(XS__gmsay)
{ {
dXSARGS; dXSARGS;
if (items != 1 && items != 2 && items != 3) if ((items < 1) || (items > 5))
Perl_croak(aTHX_ "Usage: gmsay(str, color, send_to_world?)"); Perl_croak(aTHX_ "Usage: gmsay(str, color, send_to_world?)");
char * str = (char *)SvPV_nolen(ST(0)); char * str = (char *)SvPV_nolen(ST(0));
int color = 7; int color = 7;
bool send_to_world = 0; bool send_to_world = 0;
uint32 to_guilddbid = 0;
uint16 to_minstatus = 80;
if (items > 1) { if (items > 1) {
color = (int)SvIV(ST(1)); color = (int)SvIV(ST(1));
@ -659,7 +661,13 @@ XS(XS__gmsay)
send_to_world = ((int)SvIV(ST(2))) == 0?false:true; send_to_world = ((int)SvIV(ST(2))) == 0?false:true;
} }
quest_manager.gmsay(str, color, send_to_world); if (items > 3)
to_guilddbid = (int)SvUV(ST(3));
if (items > 4)
to_minstatus = (int)SvUV(ST(4));
quest_manager.gmsay(str, color, send_to_world, to_guilddbid, to_minstatus);
XSRETURN_EMPTY; XSRETURN_EMPTY;
} }

View File

@ -526,13 +526,12 @@ void QuestManager::shout2(const char *str) {
worldserver.SendEmoteMessage(0,0,0,13, "%s shouts, '%s'", owner->GetCleanName(), str); worldserver.SendEmoteMessage(0,0,0,13, "%s shouts, '%s'", owner->GetCleanName(), str);
} }
void QuestManager::gmsay(const char *str, uint32 color, bool send_to_world) { void QuestManager::gmsay(const char *str, uint32 color, bool send_to_world, uint32 to_guilddbid, uint32 to_minstatus)
if(send_to_world) { {
worldserver.SendEmoteMessage(0, 0, 80, color, "%s", str); if(send_to_world)
} worldserver.SendEmoteMessage(0, to_guilddbid, to_minstatus, color, "%s", str);
else { else
entity_list.MessageStatus(0, 80, color, "%s", str); entity_list.MessageStatus(to_guilddbid, to_minstatus, color, "%s", str);
}
} }
void QuestManager::depop(int npc_type) { // depop NPC and don't start spawn timer void QuestManager::depop(int npc_type) { // depop NPC and don't start spawn timer

View File

@ -68,7 +68,7 @@ public:
void emote(const char *str); void emote(const char *str);
void shout(const char *str); void shout(const char *str);
void shout2(const char *str); void shout2(const char *str);
void gmsay(const char *str, uint32 color, bool send_to_world); void gmsay(const char *str, uint32 color, bool send_to_world, uint32 to_guilddbid, uint32 to_minstatus);
void depop(int npc_type = 0); // depop NPC and don't start spawn timer void depop(int npc_type = 0); // depop NPC and don't start spawn timer
void depop_withtimer(int npc_type = 0); // depop NPC and start spawn timer void depop_withtimer(int npc_type = 0); // depop NPC and start spawn timer
void depopall(int npc_type = 0); void depopall(int npc_type = 0);