Index: code/branches/tgidronFS16/data/levels/Hover.oxw
===================================================================
--- code/branches/tgidronFS16/data/levels/Hover.oxw	(revision 11181)
+++ code/branches/tgidronFS16/data/levels/Hover.oxw	(revision 11182)
@@ -51,4 +51,35 @@
 </Template> -->
 
+<!-- Shrink Pickup Representation -->
+
+<Template name=smallshrinkpickupRepresentation>
+    <PickupRepresentation>
+        <spawner-representation>
+            <StaticEntity>
+                <attached>
+                    <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0.1>
+                        <attached>
+                            <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0.35 />
+                        </attached>
+                    </Billboard>
+                </attached>
+            </StaticEntity>
+        </spawner-representation>
+    </PickupRepresentation>
+</Template>
+
+
+<Template name=smallshrinkpickup baseclass=ShrinkPickup>
+  <ShrinkPickup 
+    representation = "smallshrinkpickup"
+    duration = 10.0
+    shrinkFactor = 2.5
+    activaionType = "immediate"
+    durationType = "continuous"
+  />
+</Template>
+
+<!-- Speed Pickup Representation -->
+
 <Template name=hugespeedpickupRepresentation>
     <PickupRepresentation>
@@ -78,5 +109,5 @@
 </Template>
 
-
+<!-- Destroy Carrier Pickup Representation -->
 
 <Template name=destroyhoverpickupRepresentation>
@@ -99,4 +130,6 @@
   <MetaPickup representation="destroyhover" metaType="destroyCarrier" />
 </Template>
+
+<!-- Obstacle (crate) Template -->
 
 <Template name=obstacle baseclass=Pawn>
@@ -146,4 +179,12 @@
       inventoryRepresentation = "HugeSpeed"
     />
+
+    <PickupRepresentation
+      name = "smallshrinkpickup"
+      pickupName = "Small Shrink"
+      pickupDescription = "Shrinks the ship by a small amount."
+      spawnerTemplate = "smallshrinkpickupRepresentation"
+      inventoryRepresentation = "SmallShrink"
+    />
 <!--
     <PickupRepresentation
@@ -164,6 +205,8 @@
           pickuptemplate=destroyhoverpickup
           pickuprepresentationtemplate=destroyhoverpickupRepresentation
-          pickuptemplatedam=hugespeedpickup
-          pickuprepresentationtemplatedam=hugespeedpickupRepresentation
+          pickuptemplatespeed=hugespeedpickup
+          pickuprepresentationtemplatespeed=hugespeedpickupRepresentation
+          pickuptemplateshrink=smallshrinkpickup
+          pickuprepresentationtemplateshrink=smallshrinkpickupRepresentation
         />
         <Model
Index: code/branches/tgidronFS16/src/modules/hover/Hover.cc
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/Hover.cc	(revision 11181)
+++ code/branches/tgidronFS16/src/modules/hover/Hover.cc	(revision 11182)
@@ -121,6 +121,6 @@
             
 
-            //Generate 5 PickupSpawners randomly (destroy hover pickup)
-            for (int i = 0; i<5; i++)
+            //Generate 3 PickupSpawners randomly (destroy hover pickup)
+            for (int i = 0; i<3; i++)
             {
                 PickupSpawner* pickupSpawner = new PickupSpawner(origin_->getContext());
@@ -128,5 +128,5 @@
                 pickupSpawner->setPosition(get3dCoordinates(rand()%numCells, rand()%numCells, 10.0f));
                 pickupSpawner->setPickupTemplateName(origin_->getPickupTemplate());
-                pickupSpawner->setMaxSpawnedItems(5);
+                pickupSpawner->setMaxSpawnedItems(3);
                 pickupSpawner->setRespawnTime(30);
                 pickupSpawner->setTriggerDistance(5);
@@ -135,12 +135,12 @@
             }
             
-            //Generate 5 PickupSpawners randomly (damage pickup)
-            for (int i = 0; i<5; i++)
+            //Generate 3 PickupSpawners randomly (speed pickup)
+            for (int i = 0; i<3; i++)
             {
                 PickupSpawner* pickupSpawner = new PickupSpawner(origin_->getContext());
 
                 pickupSpawner->setPosition(get3dCoordinates(rand()%numCells, rand()%numCells, 10.0f));
-                pickupSpawner->setPickupTemplateName(origin_->getPickupTemplateDam());
-                pickupSpawner->setMaxSpawnedItems(5);
+                pickupSpawner->setPickupTemplateName(origin_->getPickupTemplateSpeed());
+                pickupSpawner->setMaxSpawnedItems(3);
                 pickupSpawner->setRespawnTime(30);
                 pickupSpawner->setTriggerDistance(5);
@@ -149,25 +149,46 @@
             }
 
+            //Generate 3 PickupSpawners randomly (shrink pickup)
+            for (int i = 0; i<3; i++)
+            {
+                PickupSpawner* pickupSpawner = new PickupSpawner(origin_->getContext());
+
+                pickupSpawner->setPosition(get3dCoordinates(rand()%numCells, rand()%numCells, 10.0f));
+                pickupSpawner->setPickupTemplateName(origin_->getPickupTemplateShrink());
+                pickupSpawner->setMaxSpawnedItems(3);
+                pickupSpawner->setRespawnTime(30);
+                pickupSpawner->setTriggerDistance(5);
+                // Add pickup spawner to the pickup spawner list
+                pickupSpawners_.push_back(pickupSpawner);
+            }
+
             //*****************************************************************************
 
+            //Generate a destroyable crate randomly on field
+
             Pawn* crate = new Pawn(origin_->getContext());
 
             crate->setPosition(get3dCoordinates(rand()%numCells, rand()%numCells, 10.0f));
-            crate->addTemplate(origin_->getObstacleTemplate());
-
+            crate->addTemplate(origin_->getObstacleTemplate());  
+            crate->setInitialHealth(100.0f);
+            
 
 
 
              //If no lives are left, end game
-            if(lives <= 0){
+            if(lives <= 0)
+            {
                 GSLevel::startMainMenu();
             }
-
+            // Debug
             orxout() << this->origin_->getPickupTemplate() << endl;
             orxout() << this->origin_->getPickupRepresentationTemplate() << endl;
 
-            orxout() << this->origin_->getPickupTemplateDam() << endl;
-            orxout() << this->origin_->getPickupRepresentationTemplateDam() << endl;
-        } 
+            orxout() << this->origin_->getPickupTemplateSpeed() << endl;
+            orxout() << this->origin_->getPickupRepresentationTemplateSpeed() << endl;
+
+            orxout() << this->origin_->getObstacleTemplate() << endl;
+            orxout() << crate->getPosition() << endl;
+        }
     }
 
Index: code/branches/tgidronFS16/src/modules/hover/Hover.h
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/Hover.h	(revision 11181)
+++ code/branches/tgidronFS16/src/modules/hover/Hover.h	(revision 11182)
@@ -94,4 +94,5 @@
 
             std::vector<PickupSpawner*> pickupSpawners_;
+            
     };
 }
Index: code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc	(revision 11181)
+++ code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc	(revision 11182)
@@ -46,9 +46,15 @@
         checkGametype();
 
-        pickupTemplate_ = "";
+        //not needed
+
+        /*pickupTemplate_ = "";
         pickupRepresentationTemplate_ = "";
 
-        pickupTemplateDam_ = "";
-        pickupRepresentationTemplateDam_ = "";
+        pickupTemplateSpeed_ = "";
+        pickupRepresentationTemplateSpeed_ = "";
+
+
+        pickupTemplateShrink_ = "";
+        pickupRepresentationTemplateShrink_ = "";*/
     }
 
@@ -62,7 +68,9 @@
         XMLPortParam(HoverOrigin, "pickuptemplate", setPickupTemplate, getPickupTemplate, xmlelement, mode);
         XMLPortParam(HoverOrigin, "pickuprepresentationtemplate", setPickupRepresentationTemplate, getPickupRepresentationTemplate, xmlelement, mode);
-        XMLPortParam(HoverOrigin, "pickuptemplatedam", setPickupTemplateDam, getPickupTemplateDam, xmlelement, mode);
-        XMLPortParam(HoverOrigin, "pickuprepresentationtemplatedam", setPickupRepresentationTemplateDam, getPickupRepresentationTemplateDam, xmlelement, mode);
+        XMLPortParam(HoverOrigin, "pickuptemplatespeed", setPickupTemplateSpeed, getPickupTemplateSpeed, xmlelement, mode);
+        XMLPortParam(HoverOrigin, "pickuprepresentationtemplatespeed", setPickupRepresentationTemplateSpeed, getPickupRepresentationTemplateSpeed, xmlelement, mode);
         XMLPortParam(HoverOrigin, "obstacletemplate", setObstacleTemplate, getObstacleTemplate, xmlelement, mode);
+        XMLPortParam(HoverOrigin, "pickuptemplateshrink", setPickupTemplateShrink, getPickupTemplateShrink, xmlelement, mode);
+        XMLPortParam(HoverOrigin, "pickuprepresentationtemplateshrink", setPickupRepresentationTemplateShrink, getPickupRepresentationTemplateShrink, xmlelement, mode);
     }
 
Index: code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h	(revision 11181)
+++ code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h	(revision 11182)
@@ -80,13 +80,26 @@
             //pickup template get and set for damage hover pickup
 
-            inline void setPickupTemplateDam(std::string pickupTemplateDam)
-                { this->pickupTemplateDam_ = pickupTemplateDam; }
-            inline std::string getPickupTemplateDam() const
-                { return this->pickupTemplateDam_; }
+            inline void setPickupTemplateSpeed(std::string pickupTemplateSpeed)
+                { this->pickupTemplateSpeed_ = pickupTemplateSpeed; }
+            inline std::string getPickupTemplateSpeed() const
+                { return this->pickupTemplateSpeed_; }
 
-            inline void setPickupRepresentationTemplateDam(std::string pickupRepresenationaTemplateDam)
-                { this->pickupRepresentationTemplateDam_ = pickupRepresenationaTemplateDam; }
-            inline std::string getPickupRepresentationTemplateDam() const
-                { return this->pickupRepresentationTemplateDam_; }
+            inline void setPickupRepresentationTemplateSpeed(std::string pickupRepresenationaTemplateSpeed)
+                { this->pickupRepresentationTemplateSpeed_ = pickupRepresenationaTemplateSpeed; }
+            inline std::string getPickupRepresentationTemplateSpeed() const
+                { return this->pickupRepresentationTemplateSpeed_; }
+
+
+            //pickup template get and set for shrink hover pickup
+
+            inline void setPickupTemplateShrink(std::string pickupTemplateShrink)
+                { this->pickupTemplateShrink_ = pickupTemplateShrink; }
+            inline std::string getPickupTemplateShrink() const
+                { return this->pickupTemplateShrink_; }
+
+            inline void setPickupRepresentationTemplateShrink(std::string pickupRepresenationaTemplateShrink)
+                { this->pickupRepresentationTemplateShrink_ = pickupRepresenationaTemplateShrink; }
+            inline std::string getPickupRepresentationTemplateShrink() const
+                { return this->pickupRepresentationTemplateShrink_; }
 
             //get and set for obstacle template
@@ -110,6 +123,10 @@
 
             // Tempaltes for the damage hover pickup
-            std::string pickupTemplateDam_;
-            std::string pickupRepresentationTemplateDam_;
+            std::string pickupTemplateSpeed_;
+            std::string pickupRepresentationTemplateSpeed_;
+
+            // Tempaltes for the shrink hover pickup
+            std::string pickupTemplateShrink_;
+            std::string pickupRepresentationTemplateShrink_;
 
             //Template for crate obstacle
