mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 19:06:49 +01:00
Core: Allow toggling ticketsystem on/off by config-setting (patch by leak)
Closes issue 4744. --HG-- branch : trunk
This commit is contained in:
@@ -436,6 +436,11 @@ bool ChatHandler::HandleGMTicketReloadCommand(const char* /* args */)
|
||||
bool ChatHandler::HandleToggleGMTicketSystem(const char* /* args */)
|
||||
{
|
||||
sTicketMgr.SetStatus(!sTicketMgr.GetStatus());
|
||||
if(sTicketMgr.GetStatus())
|
||||
PSendSysMessage(LANG_ALLOW_TICKETS);
|
||||
else
|
||||
PSendSysMessage(LANG_DISALLOW_TICKETS);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -797,7 +797,9 @@ enum TrinityStrings
|
||||
LANG_BANLIST_MATCHINGCHARACTER = 1131,
|
||||
LANG_BANLIST_CHARACTERS = 1132,
|
||||
LANG_BANLIST_CHARACTERS_HEADER = 1133,
|
||||
// Room for more level 3 1134-1199 not used
|
||||
LANG_ALLOW_TICKETS = 1134,
|
||||
LANG_DISALLOW_TICKETS = 1135,
|
||||
// Room for more level 3 1136-1199 not used
|
||||
|
||||
// Debug commands
|
||||
LANG_CINEMATIC_NOT_EXIST = 1200,
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
|
||||
void WorldSession::HandleGMTicketCreateOpcode(WorldPacket & recv_data)
|
||||
{
|
||||
// Don't accept tickets if the ticket queue is disabled. (Ticket UI is greyed out but not fully dependable)
|
||||
if (sTicketMgr.GetStatus() == GMTICKET_QUEUE_STATUS_DISABLED)
|
||||
return;
|
||||
|
||||
if (GetPlayer()->getLevel() < sWorld.getIntConfig(CONFIG_TICKET_LEVEL_REQ))
|
||||
{
|
||||
SendNotification(GetTrinityString(LANG_TICKET_REQ), sWorld.getIntConfig(CONFIG_TICKET_LEVEL_REQ));
|
||||
@@ -144,6 +148,7 @@ void WorldSession::HandleGMTicketGetTicketOpcode(WorldPacket & /*recv_data*/)
|
||||
void WorldSession::HandleGMTicketSystemStatusOpcode(WorldPacket & /*recv_data*/)
|
||||
{
|
||||
WorldPacket data(SMSG_GMTICKET_SYSTEMSTATUS, 4);
|
||||
// Note: This only disables the ticket UI at client side and is not fully reliable
|
||||
// are we sure this is a uint32? Should ask Zor
|
||||
data << uint32(sTicketMgr.GetStatus() ? GMTICKET_QUEUE_STATUS_ENABLED : GMTICKET_QUEUE_STATUS_DISABLED);
|
||||
SendPacket(&data);
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
// from blizzard lua
|
||||
enum GMTicketSystemStatus
|
||||
{
|
||||
GMTICKET_QUEUE_STATUS_DISABLED = -1,
|
||||
GMTICKET_QUEUE_STATUS_DISABLED = 0,
|
||||
GMTICKET_QUEUE_STATUS_ENABLED = 1,
|
||||
};
|
||||
|
||||
@@ -134,6 +134,11 @@ public:
|
||||
uint64 GetOpenTicketCount() { return m_openTickets; }
|
||||
uint64 GetNextSurveyID() { return ++m_GMSurveyID; }
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
SetStatus(sWorld.getBoolConfig(CONFIG_ALLOW_TICKETS));
|
||||
}
|
||||
|
||||
GM_Ticket *GetOldestOpenGMTicket()
|
||||
{
|
||||
for (GmTicketList::const_iterator i = m_GMTicketList.begin(); i != m_GMTicketList.end(); ++i)
|
||||
|
||||
@@ -400,6 +400,9 @@ void World::LoadConfigSettings(bool reload)
|
||||
SetPlayerAmountLimit(sConfig.GetIntDefault("PlayerLimit", 100));
|
||||
SetMotd(sConfig.GetStringDefault("Motd", "Welcome to a Trinity Core Server."));
|
||||
|
||||
///- Read ticket system setting from the config file
|
||||
m_bool_configs[CONFIG_ALLOW_TICKETS] = sConfig.GetBoolDefault("AllowTickets", true);
|
||||
|
||||
///- Get string for new logins (newly created characters)
|
||||
SetNewCharString(sConfig.GetStringDefault("PlayerStart.String", ""));
|
||||
|
||||
@@ -1670,6 +1673,8 @@ void World::SetInitialWorldSettings()
|
||||
sLog.outString("Starting Arena Season...");
|
||||
sGameEventMgr.StartArenaSeason();
|
||||
|
||||
sTicketMgr.Initialize();
|
||||
|
||||
sLog.outString("Loading World States..."); // must be loaded before battleground and outdoor PvP
|
||||
LoadWorldStates();
|
||||
|
||||
|
||||
@@ -161,6 +161,7 @@ enum WorldBoolConfigs
|
||||
CONFIG_CHATLOG_BGROUND,
|
||||
CONFIG_DUNGEON_FINDER_ENABLE,
|
||||
CONFIG_AUTOBROADCAST,
|
||||
CONFIG_ALLOW_TICKETS,
|
||||
BOOL_CONFIG_VALUE_COUNT
|
||||
};
|
||||
|
||||
|
||||
@@ -957,6 +957,11 @@ ChatLogTimestamp = 0
|
||||
# The maximum number of results a .lookup command can return
|
||||
# Default: 0 - unlimited
|
||||
#
|
||||
# AllowTickets
|
||||
# Allow/disallow sending new tickets.
|
||||
# Default: 1 (true)
|
||||
# 0 (false)
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
GameType = 0
|
||||
@@ -1020,6 +1025,7 @@ BeepAtStart = 1
|
||||
Motd = "Welcome to a Trinity Core server."
|
||||
Server.LoginInfo = 0
|
||||
Command.LookupMaxResults = 0
|
||||
AllowTickets = 1
|
||||
|
||||
###############################################################################
|
||||
# PLAYER INTERACTION
|
||||
|
||||
Reference in New Issue
Block a user