From 2265aef916e3b2d63d87faa68a2b51e7d747c54c Mon Sep 17 00:00:00 2001 From: Seline Date: Tue, 14 Oct 2008 11:57:03 -0500 Subject: [svn] * Merge Temp dev SVN with Assembla. * Changes include: - Implementation of w12x's Outdoor PvP and Game Event Systems. - Temporary removal of IRC Chat Bot (until infinite loop when disabled is fixed). - All mangos -> trinity (to convert your mangos_string table, please run mangos_string_to_trinity_string.sql). - Improved Config cleanup. - And many more changes. --HG-- branch : trunk --- src/game/IRCClient.h | 230 --------------------------------------------------- 1 file changed, 230 deletions(-) delete mode 100644 src/game/IRCClient.h (limited to 'src/game/IRCClient.h') diff --git a/src/game/IRCClient.h b/src/game/IRCClient.h deleted file mode 100644 index 31e7b9fbba9..00000000000 --- a/src/game/IRCClient.h +++ /dev/null @@ -1,230 +0,0 @@ -#ifndef _IRC_CLIENT_H -#define _IRC_CLIENT_H - -#include "Policies/Singleton.h" -#include "Player.h" -#include "IRCLog.h" -#include "IRCCmd.h" - -using namespace std; -// The maximum ammount of channels used -// in the channel array you can have as much channels as you -// want, but it is important to always have at least equal or more -// channels then you specify in your mangosd.conf -#define MAX_CONF_CHANNELS 10 -#define MAX_CHAT_LINES 10 -// time we need to wait before we try another connecton attempt -// Default is 30 seconds -#define MAX_SCRIPT_INST 10 -// CLINES is used for the default chatlines -// By using the GetChatLine function its easier and faster -// to receieve the line you need. -enum CLINES -{ - IRC_WOW = 0, - WOW_IRC = 1, - JOIN_WOW = 2, - JOIN_IRC = 3, - LEAVE_WOW = 4, - LEAVE_IRC = 5, - CHANGE_NICK = 6 -}; // Chatlines -// CACTION is used by the Handle_WoW_Channel function -// this function is called in channel.h when a player -// joins or leave a channel inside the client. -enum CACTION -{ - CHANNEL_JOIN, - CHANNEL_LEAVE, -}; - -enum script_Names -{ - MCS_Players_Online = 0, -}; - -// IRCClient main class -class IRCClient : public ZThread::Runnable -{ - public: - // IRCClient Constructor - IRCClient(); - // IRCClient Destructor - ~IRCClient(); - // ZThread Entry - void run(); - public: - // AH Function - void AHFunc(uint64 itmid, std::string itmnme, std::string plname, uint32 faction); - // IRCClient active - bool Active; - // Connected to IRC - bool Connected; - // Socket indentifier - int SOCKET; - fd_set sfdset; - // Send data to IRC, in addition the endline is added \n - bool SendIRC(std::string data); - // This function is called in ChatHandler.cpp and processes the chat from game to IRC - void Send_WoW_IRC(Player *plr, std::string Channel, std::string Msg); - // Sends a message to all players on the specified channel - void Send_WoW_Channel(const char *channel, std::string chat); - // Send a system message to all players - void Send_WoW_System(std::string Message); - // Send a message to the specified IRC channel - void Send_IRC_Channel(std::string sChannel, std::string sMsg, bool NoPrefix = false, std::string nType = "PRIVMSG"); - // Sends a message to all IRC Channels - void Send_IRC_Channels(std::string sMsg); - std::string MakeMsg(std::string msg, std::string var, std::string val) - { - std::size_t start = msg.find(var); - if (start != std::string::npos) - msg.replace(start, var.length(), val); - return msg; - } - void Send_WoW_Player(string sPlayer, string sMsg); - void Send_WoW_Player(Player *plr, string sMsg); - - // This function is called in Channel.cpp and processes Join/leave messages - void Handle_WoW_Channel(std::string Channel, Player *plr, int nAction); - void ResetIRC(); - public: - void AutoJoinChannel(Player *plr); - - public: - bool Script_Lock[5]; - bool _AmiOp; - - public: - string _Mver; - // IRC Server host - string _Host; - // IRC Server Port - int _Port; - // IRC Username - string _User; - // IRC Password - string _Pass; - // IRC Nickname - string _Nick; - // Authentication type - int _Auth; - string _Auth_Nick; - // IRC Connect code - string _ICC; - // IRC Default channel - string _defchan; - // IRC Leave Default channel - int _ldefc; - // Wait Connect Time - int _wct; - // BotMask Options - int Botmask; - // Status Channel - int Status; - // Announce Channel - int anchn; - int autoanc; - // IRC Channel count - int _chan_count; - // IRC Channel list - // Array to store our IRC channels - // each element will corrospond - // with _wow_chan array below. - std::string _irc_chan[MAX_CONF_CHANNELS]; - // Game Channel list - std::string _wow_chan[MAX_CONF_CHANNELS]; - // AutoJoin Options - int ajoin; - string ajchan; - // Online Command Max Results - int onlrslt; - // Channel OnJoin/Restart/Kick Messages - string JoinMsg; - string RstMsg; - string kikmsg; - // Misc Options - string ojGM1; - string ojGM2; - string ojGM3; - string ojGM4; - string ojGM5; - string logfile; - int games; - int gmlog; - // IRC Commands Security Level - int CACCT; - int CBAN; - int CCHAN; - int CCHAR; - int CFUN; - int CHELP; - int CINCHAN; - int CINFO; - int CITEM; - int CJAIL; - int CKICK; - int _KILL; - int CLEVEL; - int CLOOKUP; - int CMONEY; - int CMUTE; - int CONLINE; - int CPM; - int CRESTART; - int CREVIVE; - int CSAVEALL; - int CSHUTDOWN; - int CSPELL; - int CSYSMSG; - int CTELE; - int CTOP; - int CWHO; - // BotMask - int BOTMASK; - // Max connect attempt - int _MCA; - // Auto rejoin when kicked from irc - int _autojoinkick; - // IRC Command prefix - string _cmd_prefx; - int _op_gm; - int _op_gm_lev; - // Array that contains our chatlines from the conf file - // To increase this value change the MAX_CHAT_LINE define above - // Make sure the number of elements must match your items - // (remeber this starts at 0 so 0..9 is 10 items) - // and that you load the line in the LoadConfig function. - string ILINES[MAX_CHAT_LINES]; - string GetChatLine(int nItem); - - int _Max_Script_Inst; - // MAX_SCRIPT_INST - - IRCLog iLog; - -public: - // Load MangChat configuration file - bool LoadConfig(char const* cfgfile); - void SetCfg(char const* cfgfile); - char const* CfgFile; - -private: - // Returns default chatline based on enum CLINES - // Initialize socket library - bool InitSock(); - // Connect to IRC Server - bool Connect(const char *cHost, int nPort); - // Login to IRC Server - bool Login(std::string sNick, std::string sUser, std::string sPass); - // Send raw data to IRC - bool SendData(const char *data); - // Disconnect from IRC and cleanup socket - void Disconnect(); - // Processes the data receieved from IRC - void Handle_IRC(std::string sData); - // Receieves data from the socket. - void SockRecv(); -}; -#endif -#define sIRC MaNGOS::Singleton::Instance() -- cgit v1.2.3