Index: /code/branches/pickups2/src/orxonox/objects/pickup/Item.cc
===================================================================
--- /code/branches/pickups2/src/orxonox/objects/pickup/Item.cc	(revision 2292)
+++ /code/branches/pickups2/src/orxonox/objects/pickup/Item.cc	(revision 2293)
@@ -1,4 +1,5 @@
 /* has to be added to player
    multimap<std::string, Item*> Equipment;*/
+
 
 #include "Item.h"
@@ -27,14 +28,15 @@
     }
 
-void Item::addTo (Pawn* player)
+bool Item::addTo (Pawn* player)
 {
-	if(checkSlot(player)==true)
+	/*if(checkSlot(player)==true)
 	player->pickUp.Equipment.insert ( std::pair<std::string, Item*>(this->getName(),this) );
 	else
-	COUT(3) << "swap?" << std::endl;
+	COUT(3) << "swap?" << std::endl;*/
+	return player->getPickUp().insert(this);
 }
 bool Item::remove(Pawn* player)
 {
- 	if(player->pickUp.Equipment.find(this->getName())!= player->pickUp.Equipment.end())
+ 	/*if(player->pickUp.Equipment.find(this->getName())!= player->pickUp.Equipment.end())
  	{
  	std::multimap<std::string,Item*>::iterator it;
@@ -44,9 +46,10 @@
   	}
   	else
-  	return false;
+  	return false;*/
+  	return player->getPickUp().erase(this);
 }
 bool Item::checkSlot(Pawn* player)
 {
-	std::multimap<std::string,Item*>::iterator it;
+	/*std::multimap<std::string,Item*>::iterator it;
 	for ( it=player->pickUp.Equipment.begin() ; it != player->pickUp.Equipment.end(); it++ )
 	{
@@ -54,5 +57,6 @@
 	return false;
 	}
-	return true;
+	return true;*/
+	return player->getPickUp().checkSlot(this);
 }
 void Item::setPlayerBaseClassName(const std::string& name)
Index: /code/branches/pickups2/src/orxonox/objects/pickup/Item.h
===================================================================
--- /code/branches/pickups2/src/orxonox/objects/pickup/Item.h	(revision 2292)
+++ /code/branches/pickups2/src/orxonox/objects/pickup/Item.h	(revision 2293)
@@ -4,4 +4,5 @@
 #include "core/BaseObject.h"
 #include "OrxonoxPrereqs.h"
+#include "ShipEquipment.h"
 
 namespace orxonox
@@ -18,5 +19,5 @@
 	virtual bool dropped(Pawn* player) { return true; } //erst bei festen Items
 	bool remove(Pawn* player);
-	void addTo(Pawn* player);
+	bool addTo(Pawn* player);
 
 	inline void setPlayerBaseClass(Identifier* identifier)
Index: /code/branches/pickups2/src/orxonox/objects/pickup/ShipEquipment.cc
===================================================================
--- /code/branches/pickups2/src/orxonox/objects/pickup/ShipEquipment.cc	(revision 2292)
+++ /code/branches/pickups2/src/orxonox/objects/pickup/ShipEquipment.cc	(revision 2293)
@@ -1,8 +1,8 @@
+#include "Item.h"
 
-#include "ShipEquipment.h"
 
 namespace orxonox
 {
-	bool insert(Item* item)
+	bool ShipEquipment::insert(Item* item)
 	{
 	if(checkSlot(player)==true)
@@ -11,10 +11,6 @@
 		COUT(3) << "swap?" << std::endl;
 	
-
-
-
-
 	};
-	bool erase (Item* item)
+	bool ShipEquipment::erase (Item* item)
 	{
 	if(Equipment.find(item->getName())!= Equipment.end())
@@ -28,5 +24,5 @@
   		return false;
 	};
-	bool checkSlot(Item* item) const
+	bool ShipEquipment::checkSlot(Item* item) const
 	{
 	std::multimap<std::string,Item*>::iterator it;
Index: /code/branches/pickups2/src/orxonox/objects/pickup/ShipEquipment.h
===================================================================
--- /code/branches/pickups2/src/orxonox/objects/pickup/ShipEquipment.h	(revision 2292)
+++ /code/branches/pickups2/src/orxonox/objects/pickup/ShipEquipment.h	(revision 2293)
@@ -29,5 +29,5 @@
 	bool insert(Item* item);
 	bool erase (Item* item);
-	bool checkSlot(Item* item) const;
+	const bool checkSlot(Item* item) const;
 //	const std::multimap<std::string, Item*>& getEquipment() const { return this->Equipment; }
 
Index: /code/branches/pickups2/src/orxonox/objects/worldentities/pawns/Pawn.h
===================================================================
--- /code/branches/pickups2/src/orxonox/objects/worldentities/pawns/Pawn.h	(revision 2292)
+++ /code/branches/pickups2/src/orxonox/objects/worldentities/pawns/Pawn.h	(revision 2293)
@@ -75,5 +75,6 @@
 
             virtual void fire();
-            ShipEquipment pickUp;
+            inline ShipEquipment& getPickUp()
+                {return this->pickUp;}
             virtual void postSpawn();
 
@@ -81,5 +82,5 @@
             virtual void spawn();
             virtual void death();
-
+            ShipEquipment pickUp;
             bool bAlive_;
             
