Index: /orxonox/trunk/src/util/fast_factory.cc
===================================================================
--- /orxonox/trunk/src/util/fast_factory.cc	(revision 4949)
+++ /orxonox/trunk/src/util/fast_factory.cc	(revision 4950)
@@ -18,4 +18,5 @@
 #include "compiler.h"
 #include "debug.h"
+#include "string.h"
 
 using namespace std;
@@ -83,9 +84,8 @@
 /**
  * searches for a FastFactory
- * @param factoryName the Name of the Factory to search for (not used)
  * @param classID the ClassID of the FastFactory to search for
  * @returns true if found, false otherwise.
  */
-FastFactory* FastFactory::searchFastFactory(ClassID classID, const char* fastFactoryName)
+FastFactory* FastFactory::searchFastFactory(ClassID classID)
 {
   if (FastFactory::first == NULL)
@@ -97,4 +97,26 @@
     {
       if (tmpFac->storedClassID == classID)
+        return tmpFac;
+      tmpFac = tmpFac->next;
+    }
+  }
+  return NULL;
+}
+
+/**
+ * searches for a FastFactory
+ * @param classID the ClassID of the FastFactory to search for
+ * @returns true if found, false otherwise.
+ */
+FastFactory* FastFactory::searchFastFactory(const char* fastFactoryName)
+{
+  if (FastFactory::first == NULL)
+    return NULL;
+  else
+  {
+    FastFactory* tmpFac = FastFactory::first;
+    while (tmpFac != NULL)
+    {
+      if (strcmp(tmpFac->getName(), fastFactoryName))
         return tmpFac;
       tmpFac = tmpFac->next;
Index: /orxonox/trunk/src/util/fast_factory.h
===================================================================
--- /orxonox/trunk/src/util/fast_factory.h	(revision 4949)
+++ /orxonox/trunk/src/util/fast_factory.h	(revision 4950)
@@ -66,5 +66,8 @@
     inline static FastFactory* getFirst() { return FastFactory::first; };
 
-    static FastFactory* searchFastFactory(ClassID classID, const char* fastFactoryName = NULL);
+    static FastFactory* searchFastFactory(ClassID classID);
+    static FastFactory* searchFastFactory(const char* fastFactoryName);
+
+    ClassID getStoredID() const { return this->storedClassID; };
 
   protected:
@@ -135,5 +138,5 @@
   tFastFactory<T>* tmpFac = NULL;
   if (FastFactory::getFirst() != NULL)
-    tmpFac = static_cast<tFastFactory<T>*>(FastFactory::getFirst()->searchFastFactory(classID, fastFactoryName));
+    tmpFac = static_cast<tFastFactory<T>*>(FastFactory::getFirst()->searchFastFactory(classID));
 
   if (tmpFac != NULL)
Index: /orxonox/trunk/src/world_entities/weapons/weapon.cc
===================================================================
--- /orxonox/trunk/src/world_entities/weapons/weapon.cc	(revision 4949)
+++ /orxonox/trunk/src/world_entities/weapons/weapon.cc	(revision 4950)
@@ -96,4 +96,5 @@
  * sets the Projectile to use for this weapon.
  * @param projectile The ID of the Projectile to use
+ * @returns true, if it was sucessfull, false on error
  *
  * be aware, that this function does not create Factories, as this is job of Bullet-classes.
@@ -117,4 +118,20 @@
   }
 };
+
+/**
+ * @see bool Weapon::setProjectile(ClassID projectile)
+ * @param projectile the Name of the Projectile.
+ * @return true if
+ */
+bool Weapon::setProjectile(const char* projectile)
+{
+  if (projectile == NULL)
+    return false;
+  FastFactory* tmpFac = FastFactory::searchFastFactory(projectile);
+  if (tmpFac != NULL)
+  {
+    this->setProjectile(tmpFac->getStoredID());
+  }
+}
 
 /**
Index: /orxonox/trunk/src/world_entities/weapons/weapon.h
===================================================================
--- /orxonox/trunk/src/world_entities/weapons/weapon.h	(revision 4949)
+++ /orxonox/trunk/src/world_entities/weapons/weapon.h	(revision 4950)
@@ -95,4 +95,5 @@
     // FUNCTIONS TO SET THE WEAPONS PROPERTIES.
     bool setProjectile(ClassID projectile);
+    bool setProjectile(const char* projectile);
     /** @returns The projectile's classID */
     inline ClassID getProjectile() { return this->projectile; };
Index: /orxonox/trunk/src/world_entities/weapons/weapon_manager.h
===================================================================
--- /orxonox/trunk/src/world_entities/weapons/weapon_manager.h	(revision 4949)
+++ /orxonox/trunk/src/world_entities/weapons/weapon_manager.h	(revision 4950)
@@ -85,5 +85,4 @@
 {
   int           number;
-  bool          occupied;
   long          capability;
 
