[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
+42
View File
@@ -3525,6 +3525,42 @@ std::string lua_popup_table_row(std::string message) {
return DialogueWindow::TableRow(message);
}
void lua_marquee(uint32 type, std::string message) {
quest_manager.marquee(type, message);
}
void lua_marquee(uint32 type, std::string message, uint32 duration) {
quest_manager.marquee(type, message, duration);
}
void lua_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 lua_zone_marquee(uint32 type, std::string message) {
if (!zone) {
return;
}
entity_list.Marquee(type, message);
}
void lua_zone_marquee(uint32 type, std::string message, uint32 duration) {
if (!zone) {
return;
}
entity_list.Marquee(type, message, duration);
}
void lua_zone_marquee(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);
}
#define LuaCreateNPCParse(name, c_type, default_value) do { \
cur = table[#name]; \
if(luabind::type(cur) != LUA_TNIL) { \
@@ -4010,6 +4046,12 @@ luabind::scope lua_register_general() {
luabind::def("popup_table_cell", (std::string(*)(void))&lua_popup_table_cell),
luabind::def("popup_table_cell", (std::string(*)(std::string))&lua_popup_table_cell),
luabind::def("popup_table_row", &lua_popup_table_row),
luabind::def("marquee", (void(*)(uint32,std::string))&lua_marquee),
luabind::def("marquee", (void(*)(uint32,std::string,uint32))&lua_marquee),
luabind::def("marquee", (void(*)(uint32,uint32,uint32,uint32,uint32,std::string))&lua_marquee),
luabind::def("zone_marquee", (void(*)(uint32,std::string))&lua_zone_marquee),
luabind::def("zone_marquee", (void(*)(uint32,std::string,uint32))&lua_zone_marquee),
luabind::def("zone_marquee", (void(*)(uint32,uint32,uint32,uint32,uint32,std::string))&lua_zone_marquee),
/*
Cross Zone