summaryrefslogtreecommitdiff
path: root/src/account-server/guild.cpp
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2007-06-26 19:50:02 +0000
committerDavid Athay <ko2fan@gmail.com>2007-06-26 19:50:02 +0000
commit301ffe1048fb23548f72759b6ed0ca98e9109ff4 (patch)
treec765b6df9a83227b1d40bb59949b768fbc4c1574 /src/account-server/guild.cpp
parent99263173738dfd6ca4ba822e0a112f1c7c17661c (diff)
downloadmanaserv-301ffe1048fb23548f72759b6ed0ca98e9109ff4.tar.gz
manaserv-301ffe1048fb23548f72759b6ed0ca98e9109ff4.tar.bz2
manaserv-301ffe1048fb23548f72759b6ed0ca98e9109ff4.tar.xz
manaserv-301ffe1048fb23548f72759b6ed0ca98e9109ff4.zip
Merged guilds-and-parties branch to trunk
Diffstat (limited to 'src/account-server/guild.cpp')
-rw-r--r--src/account-server/guild.cpp107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/account-server/guild.cpp b/src/account-server/guild.cpp
new file mode 100644
index 00000000..2e339ec1
--- /dev/null
+++ b/src/account-server/guild.cpp
@@ -0,0 +1,107 @@
+/*
+ * guild.cpp
+ * A file part of The Mana World
+ *
+ * Created by David Athay on 01/03/2007.
+ *
+ * Copyright (c) 2007, The Mana World Development Team
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * My name may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ * $Id$
+ */
+
+#include "guild.hpp"
+
+#include "account-server/characterdata.hpp"
+#include "account-server/storage.hpp"
+
+Guild::Guild(const std::string &name) :
+mName(name)
+{
+
+}
+
+Guild::~Guild()
+{
+
+}
+
+void Guild::addMember(CharacterData* player)
+{
+ mMembers.push_back(player);
+}
+
+void Guild::removeMember(CharacterData* player)
+{
+ mMembers.remove(player);
+}
+
+bool Guild::checkLeader(CharacterData* player)
+{
+ CharacterData* leader = mMembers.front();
+ if(leader == player)
+ return true;
+ return false;
+}
+
+bool Guild::checkInvited(const std::string &name)
+{
+ return (std::find(mInvited.begin(), mInvited.end(), name) != mInvited.end());
+}
+
+void Guild::addInvited(const std::string &name)
+{
+ mInvited.push_back(name);
+}
+
+const std::string& Guild::getName() const
+{
+ return mName;
+}
+
+std::string Guild::getMember(int i) const
+{
+ int x = 0;
+ for(guildMembers::const_iterator itr = mMembers.begin();
+ itr != mMembers.end();
+ ++itr, ++x)
+ {
+ if(x == i)
+ {
+ CharacterData *player = (*itr);
+ return player->getName();
+ }
+ }
+ return "";
+}
+
+bool Guild::checkInGuild(const std::string &name)
+{
+ for(guildMembers::iterator itr = mMembers.begin(); itr != mMembers.end(); ++itr)
+ {
+ CharacterData *player = (*itr);
+ if(player->getName() == name)
+ {
+ return true;
+ }
+ }
+ return false;
+}