aboutsummaryrefslogtreecommitdiff
path: root/src/game/LFG.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/LFG.h')
-rw-r--r--src/game/LFG.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/game/LFG.h b/src/game/LFG.h
new file mode 100644
index 00000000000..d30d694f43e
--- /dev/null
+++ b/src/game/LFG.h
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef _LFG_H
+#define _LFG_H
+
+#include "Platform/Define.h"
+#include "Object.h"
+
+enum LfgRoles
+{
+ NONE = 0x00,
+ LEADER = 0x01,
+ TANK = 0x02,
+ HEALER = 0x04,
+ DAMAGE = 0x08,
+};
+
+enum LfgUpdateType
+{
+ LFG_UPDATETYPE_LEADER = 1,
+ LFG_UPDATETYPE_ROLECHECK_ABORTED = 4,
+ LFG_UPDATETYPE_JOIN_PROPOSAL = 5,
+ LFG_UPDATETYPE_ROLECHECK_FAILED = 6,
+ LFG_UPDATETYPE_REMOVED_FROM_QUEUE = 7,
+ LFG_UPDATETYPE_PROPOSAL_FAILED = 8,
+ LFG_UPDATETYPE_PROPOSAL_DECLINED = 9,
+ LFG_UPDATETYPE_GROUP_FOUND = 10,
+ LFG_UPDATETYPE_ADDED_TO_QUEUE = 12,
+ LFG_UPDATETYPE_PROPOSAL_FOUND = 13,
+ LFG_UPDATETYPE_CLEAR_LOCK_LIST = 14,
+ LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE = 15,
+ LFG_UPDATETYPE_GROUP_DISBAND = 16,
+};
+
+typedef std::set<uint32> LfgDungeonSet;
+
+struct LookingForGroup
+{
+ LookingForGroup(): roles(0)
+ {
+ donerandomDungeons.clear();
+ applyDungeons.clear();
+ }
+ std::string comment;
+ int8 roles;
+
+ bool isDungeonDone(const uint32 entry)
+ {
+ return donerandomDungeons.find(entry) != donerandomDungeons.end();
+ }
+
+ LfgDungeonSet applyDungeons; // Dungeons the player have applied for
+ LfgDungeonSet donerandomDungeons; // Finished random Dungeons (to calculate the bonus);
+};
+
+#endif