Index: code/branches/tgidronFS16/src/modules/hover/Hover.cc
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/Hover.cc	(revision 11168)
+++ code/branches/tgidronFS16/src/modules/hover/Hover.cc	(revision 11169)
@@ -98,12 +98,14 @@
             for(int y=0; y<numCells; y++){
                 for(int x=0; x<numCells; x++){
-                    switch(levelcode[ y * numCells + x ]){
+                    switch(levelcode[ y * numCells + x ])
+                    {
                         case 1: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
-                                break;
+                            break;
                         case 3: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
                         case 2: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 0);
-                        default: break;
+                        default:
+                            break;
                     }
-                }   
+                }
             }
 
@@ -120,22 +122,24 @@
             for (int i = 0; i<5; i++)
             {
-                PickupSpawner* pickup = new PickupSpawner(origin_->getContext());
-                pickup->setPosition(rand()%numCells, rand()%numCells, cellSize);
-                //pickup->setPickupTemplateName(origin_->getPickupMeta());
-                //pickup->setPickupTemplateName("destroymetapickup");
-                pickup->setMaxSpawnedItems(5);
-                pickup->setRespawnTime(30);
-                pickup->setTriggerDistance(5);
-                //pickup->createDroppedPickup(this->getContext(), pickup , this, 5);
-                pickups_.push_back(pickup);
-            }
-
-
+                PickupSpawner* pickupSpawner = new PickupSpawner(origin_->getContext());
+
+                pickupSpawner->setPosition(get3dCoordinates(rand()%numCells, rand()%numCells, 10.0f));
+                pickupSpawner->setPickupTemplateName(origin_->getPickupTemplate());
+                pickupSpawner->setMaxSpawnedItems(5);
+                pickupSpawner->setRespawnTime(30);
+                pickupSpawner->setTriggerDistance(5);
+                // Add pickup spawner to the pickup spawner list
+                pickupSpawners_.push_back(pickupSpawner);
+            }
+
+            orxout() << this->origin_->getPickupTemplate() << endl;
+            orxout() << this->origin_->getPickupRepresentationTemplate() << endl;
         } 
     }
 
 
-
-    void Hover::startLevel(){
+    // Rename/delete this function.
+    void Hover::startLevel()
+    {
         //Generate 5 flags randomly (test only 1 flag)
             for ( int i = 0; i < 5; i++ )
@@ -152,7 +156,8 @@
                 //PickupSpawner->setPosition(rand()%numCells, rand()%numCells, cellSize);
                 //pickup->createDroppedPickup(this->getContext(), pickup , this, 5);
-                pickups_.push_back(pickup);
-            }
-
+                pickupSpawners_.push_back(pickup);
+            }
+
+            
     }
 
@@ -163,6 +168,8 @@
 
         // Check if ship collided with one of the flags
-        for ( unsigned int i = 0; i < flags_.size(); i++ ){
-            if(flags_[i]->getCollided()){
+        for ( unsigned int i = 0; i < flags_.size(); i++ )
+        {
+            if(flags_[i]->getCollided())
+            {
                 flags_[i]->destroyLater();
                 flags_.erase (flags_.begin()+i);
@@ -186,3 +193,8 @@
 
     }
+
+    Vector3 Hover::get3dCoordinates(int x, int y, float heightOffset)
+    {
+        return Vector3(x*cellSize*1.0f + cellSize/2, heightOffset, y*cellSize*1.0f + cellSize/2);
+    }
 }
Index: code/branches/tgidronFS16/src/modules/hover/Hover.h
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/Hover.h	(revision 11168)
+++ code/branches/tgidronFS16/src/modules/hover/Hover.h	(revision 11169)
@@ -61,8 +61,8 @@
             void endLevel();
 
-
-
             inline int getNumberOfFlags() const
                 { return this->numberOfFlags_; }
+
+            virtual Vector3 get3dCoordinates(int x, int y, float heightOffset);
 
         private:
@@ -81,5 +81,5 @@
             int totFlags;
 
-            std::vector<PickupSpawner*> pickups_;
+            std::vector<PickupSpawner*> pickupSpawners_;
     };
 }
Index: code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc	(revision 11168)
+++ code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc	(revision 11169)
@@ -45,4 +45,7 @@
         RegisterObject(HoverOrigin);
         checkGametype();
+
+        pickupTemplate_ = "";
+        pickupRepresentationTemplate_ = "";
     }
 
@@ -54,6 +57,6 @@
         XMLPortParam(HoverOrigin, "cellSize", setCellSize, getCellSize, xmlelement, mode);
         XMLPortParam(HoverOrigin, "cellHeight", setCellHeight, getCellHeight, xmlelement, mode);
-        XMLPortParam(HoverOrigin, "pickuptemplate", setPickup, getPickup, xmlelement, mode);
-        XMLPortParam(HoverOrigin, "pickupbase", setPickupMeta, getPickupMeta, xmlelement, mode);
+        XMLPortParam(HoverOrigin, "pickuptemplate", setPickupTemplate, getPickupTemplate, xmlelement, mode);
+        XMLPortParam(HoverOrigin, "pickuprepresentationtemplate", setPickupRepresentationTemplate, getPickupRepresentationTemplate, xmlelement, mode);
     }
 
Index: code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h	(revision 11168)
+++ code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h	(revision 11169)
@@ -66,13 +66,13 @@
                 { return this->cellHeight_; }
 
-            inline void setPickup(std::string pickuptemplate)
-                { this->pickupTemplate_ = pickuptemplate; }
-            inline std::string getPickup() const
+            inline void setPickupTemplate(std::string pickupTemplate)
+                { this->pickupTemplate_ = pickupTemplate; }
+            inline std::string getPickupTemplate() const
                 { return this->pickupTemplate_; }
 
-            inline void setPickupMeta(std::string pickupbase)
-                { this->pickupMeta_ = pickupbase; }
-            inline std::string getPickupMeta() const
-                { return this->pickupMeta_; }
+            inline void setPickupRepresentationTemplate(std::string pickupRepresenationaTemplate)
+                { this->pickupRepresentationTemplate_ = pickupRepresenationaTemplate; }
+            inline std::string getPickupRepresentationTemplate() const
+                { return this->pickupRepresentationTemplate_; }
 
         private:
@@ -82,6 +82,8 @@
             int cellSize_;
             int cellHeight_;
+
+            // Tempaltes for the destroy hover pickup
             std::string pickupTemplate_;
-            std::string pickupMeta_;
+            std::string pickupRepresentationTemplate_;
     };
 }
