public static string GetQuestNPCName(QNPC_Types Id)
        {
            string name;

            switch (Id)
            {
            case QNPC_Types.GHOST:
                name = QuestNPCNames.GHOST;
                break;

            case QNPC_Types.ALCHEMIST:
                name = QuestNPCNames.ALCHEMIST;
                break;

            case QNPC_Types.DARK_MAGE:
                name = QuestNPCNames.DARK_MAGE;
                break;

            case QNPC_Types.PALADIN:
                name = QuestNPCNames.PALADIN;
                break;

            case QNPC_Types.TINKERER:
                name = QuestNPCNames.TINKERER;
                break;

            default:
                name = Statics.TDCM_QUEST_GIVER;
                break;
            }

            return(name);
        }
        public static string GetQuestNPCName(QNPC_Types Id)
        {
            string name;
            switch (Id)
            {
                case QNPC_Types.GHOST:
                    name = QuestNPCNames.GHOST;
                    break;
                case QNPC_Types.ALCHEMIST:
                    name = QuestNPCNames.ALCHEMIST;
                    break;
                case QNPC_Types.DARK_MAGE:
                    name = QuestNPCNames.DARK_MAGE;
                    break;
                case QNPC_Types.PALADIN:
                    name = QuestNPCNames.PALADIN;
                    break;
                case QNPC_Types.TINKERER:
                    name = QuestNPCNames.TINKERER;
                    break;
                default:
                    name = Statics.TDCM_QUEST_GIVER;
                        break;
            }

            return name;
        }
        public override void Process(ClientConnection conn, byte[] readBuffer, int length, int num)
        {
            QNPC_Types qType   = (QNPC_Types)readBuffer[num++];
            int        QuestID = readBuffer[num++];

            if (QuestID == 255)
            {
                QuestID = -1;
            }

            if (qType != QNPC_Types.GHOST &&
                qType != QNPC_Types.ALCHEMIST &&
                qType != QNPC_Types.DARK_MAGE &&
                qType != QNPC_Types.PALADIN &&
                qType != QNPC_Types.TINKERER)
            {
                conn.Kick("Sent unknown Quest NPC Name ID.");
                return;
            }

            if (!Main.players[conn.SlotIndex].HasClientMod)
            {
                conn.Kick("Sent Quest NPC Name Packet without permissions.");
                return;
            }

            if (!Server.AllowTDCMRPG)
            {
                conn.Kick("Invalid Client Message, Acting as TDCM");
                return;
            }

            if (QuestID > (int)QuestType.QUESTS_END || QuestID < (int)QuestType.NO_QUEST)
            {
                conn.Kick("Uknown Quest ID.");
                return;
            }

            //Set the players Quest NPC Name & Current Quest Id
            Main.players[conn.SlotIndex].QuestNPCName = QuestNPCType.GetQuestNPCName(qType);
            Main.players[conn.SlotIndex].CurrentQuest = QuestID;
        }