[Quest API] Add Marquee methods to Perl/Lua. (#2544)

* [Quest API] Add zonemarquee to Perl/Lua.

# Perl
- Add `quest::zonemarquee(type, priority, fade_in, fade_out, duration, message)` to Perl.

# Lua
- Add `eq.zone_marquee(type, priority, fade_in, fade_out, duration, message)` to Lua.

# Notes
- Allows operators to easily send a zone-wide marquee, similar to `quest::ze`/`eq.zone_emote`.

* Update lua_general.cpp

* Add other methods.

* Add entity list marquee

* Update client.cpp

* Add more shorthands.
This commit is contained in:
Kinglykrab
2022-11-16 08:23:39 -05:00
committed by GitHub
parent 8c994fef97
commit bb58a9cd20
16 changed files with 280 additions and 42 deletions
+48
View File
@@ -3797,6 +3797,48 @@ std::string Perl__popuptablerow(std::string message) {
return DialogueWindow::TableRow(message);
}
void Perl__marquee(uint32 type, std::string message)
{
quest_manager.marquee(type, message);
}
void Perl__marquee(uint32 type, std::string message, uint32 duration)
{
quest_manager.marquee(type, message, duration);
}
void Perl__marquee(uint32 type, uint32 priority, uint32 fade_in, uint32 fade_out, uint32 duration, std::string message)
{
quest_manager.marquee(type, priority, fade_in, fade_out, duration, message);
}
void Perl__zonemarquee(uint32 type, std::string message)
{
if (!zone) {
return;
}
entity_list.Marquee(type, message);
}
void Perl__zonemarquee(uint32 type, std::string message, uint32 duration)
{
if (!zone) {
return;
}
entity_list.Marquee(type, message, duration);
}
void Perl__zonemarquee(uint32 type, uint32 priority, uint32 fade_in, uint32 fade_out, uint32 duration, std::string message)
{
if (!zone) {
return;
}
entity_list.Marquee(type, priority, fade_in, fade_out, duration, message);
}
void perl_register_quest()
{
perl::interpreter perl(PERL_GET_THX);
@@ -4241,6 +4283,9 @@ void perl_register_quest()
package.add("level", &Perl__level);
package.add("log", &Perl__log);
package.add("log_combat", &Perl__log_combat);
package.add("marquee", (void(*)(uint32, std::string))&Perl__marquee);
package.add("marquee", (void(*)(uint32, std::string, uint32))&Perl__marquee);
package.add("marquee", (void(*)(uint32, uint32, uint32, uint32, uint32, std::string))&Perl__marquee);
package.add("me", &Perl__me);
package.add("message", &Perl__message);
package.add("modifynpcstat", &Perl__ModifyNPCStat);
@@ -4393,6 +4438,9 @@ void perl_register_quest()
package.add("write", &Perl__write);
package.add("ze", &Perl__ze);
package.add("zone", &Perl__zone);
package.add("zonemarquee", (void(*)(uint32, std::string))&Perl__zonemarquee);
package.add("zonemarquee", (void(*)(uint32, std::string, uint32))&Perl__zonemarquee);
package.add("zonemarquee", (void(*)(uint32, uint32, uint32, uint32, uint32, std::string))&Perl__zonemarquee);
package.add("zonegroup", &Perl__zonegroup);
package.add("zoneraid", &Perl__zoneraid);