Index: code/branches/presentation2012merge/data/levels/SurfaceRacePresentation.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/SurfaceRacePresentation.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/SurfaceRacePresentation.oxw	(revision 9319)
@@ -324,21 +324,7 @@
 
 
- <PickupSpawner position="4000,8050,0" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8">
-      <pickup>
-        <SpeedPickup template=smallspeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-   <PickupSpawner position="5500,8100,2000" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8">
-      <pickup>
-        <SpeedPickup template=mediumspeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="3000,8050,-4000" triggerDistance="40" respawnTime="60"  maxSpawnedItems="5" scale="8">
-      <pickup>
-        <ShrinkPickup template ="mediumshrinkpickup"/>
-      </pickup>
-    </PickupSpawner>>
+   <PickupSpawner pickup=smallspeedpickup position="4000,8050,0" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8" />
+   <PickupSpawner pickup=mediumspeedpickup position="5500,8100,2000" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8" />
+   <PickupSpawner pickup="mediumshrinkpickup" position="3000,8050,-4000" triggerDistance="40" respawnTime="60"  maxSpawnedItems="5" scale="8" />
 
 
Index: code/branches/presentation2012merge/data/levels/lastManStanding.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/lastManStanding.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/lastManStanding.oxw	(revision 9319)
@@ -50,9 +50,5 @@
                     <Model position="0,0,0" scale=140 mesh="asteroid_UV.mesh" shadow=true />
                     <Model position="-160,40,28.4" scale=1 mesh="sphere.mesh" /><!--EasterEgg indicator-->
-                    <PickupSpawner position="-160,40,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="15"><!--EasterEgg : invisible pickup is hidden inside the asteroid -->
-                        <pickup>
-                            <InvisiblePickup template=hugeinvisiblepickup />
-                        </pickup>
-                    </PickupSpawner>
+                    <PickupSpawner pickup=hugeinvisiblepickup position="-160,40,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="15" /><!--EasterEgg : invisible pickup is hidden inside the asteroid -->
                 </attached>
             </MovableEntity>
Index: code/branches/presentation2012merge/data/levels/lastTeamStanding.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/lastTeamStanding.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/lastTeamStanding.oxw	(revision 9319)
@@ -48,9 +48,5 @@
     </StaticEntity>
 
-    <PickupSpawner position="-160,60,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="10"><!--EasterEgg-->
-      <pickup>
-        <InvisiblePickup template=hugeinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugeinvisiblepickup position="-160,60,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="10" /><!--EasterEgg-->
     <StaticEntity position="-160,60,28.4"><!--EasterEgg-Indicator-->
       <attached>
Index: code/branches/presentation2012merge/data/levels/missionOne.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/missionOne.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/missionOne.oxw	(revision 9319)
@@ -1153,9 +1153,5 @@
 
 <!-- @Objects: Pickup - find better place !! -->
-    <PickupSpawner position="-48650,700,100" triggerDistance="70" respawnTime="30" maxSpawnedItems="1">
-      <pickup>
-        <ShieldPickup template=hugeshieldpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugeshieldpickup position="-48650,700,100" triggerDistance="70" respawnTime="30" maxSpawnedItems="1" />
 
 
Index: code/branches/presentation2012merge/data/levels/pickups.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/pickups.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/pickups.oxw	(revision 9319)
@@ -37,156 +37,64 @@
     <!-- Shield pickups -->
 
-    <PickupSpawner position="-25,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <ShieldPickup template=smallshieldpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <ShieldPickup template=mediumshieldpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <ShieldPickup template=hugeshieldpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smallshieldpickup position="-25,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=mediumshieldpickup position="0,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=hugeshieldpickup position="25,-25,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Health pickups -->
 
-    <PickupSpawner position="-25,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=smallhealthpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=mediumhealthpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=hugehealthpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="50,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=crazyhealthpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smallhealthpickup position="-25,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=mediumhealthpickup position="0,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=hugehealthpickup position="25,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=crazyhealthpickup position="50,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
 
     <!-- Speed pickups -->
 
-    <PickupSpawner position="-25,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=smallspeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=mediumspeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=hugespeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="50,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=smalljumppickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smallspeedpickup position="-25,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
+    <PickupSpawner pickup=mediumspeedpickup position="0,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
+    <PickupSpawner pickup=hugespeedpickup position="25,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
+    <PickupSpawner pickup=smalljumppickup position="50,25,-125" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
 
     <!-- Invisible pickups -->
 
-    <PickupSpawner position="-25,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <InvisiblePickup template=smallinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <InvisiblePickup template=mediuminvisiblepickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <InvisiblePickup template=hugeinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smallinvisiblepickup position="-25,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=mediuminvisiblepickup position="0,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=hugeinvisiblepickup position="25,50,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Meta pickups -->
 
-    <PickupSpawner position="-25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <MetaPickup representation="use" metaType="use" />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <MetaPickup representation="drop" metaType="drop" />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <MetaPickup metaType="destroy" />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="50,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <MetaPickup metaType="destroyCarrier" />
-      </pickup>
-    </PickupSpawner>
+    <Template name=usemetapickup baseclass=MetaPickup>
+      <MetaPickup representation="use" metaType="use" />
+    </Template>
+    
+    <Template name=dropmetapickup baseclass=MetaPickup>
+      <MetaPickup representation="drop" metaType="drop" />
+    </Template>
+    
+    <Template name=destroymetapickup baseclass=MetaPickup>
+      <MetaPickup metaType="destroy" />
+    </Template>
+    
+    <Template name=destroycarriermetapickup baseclass=MetaPickup>
+      <MetaPickup metaType="destroyCarrier" />
+    </Template>
+    
+    <PickupSpawner pickup=usemetapickup position="-25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=dropmetapickup position="0,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=destroymetapickup position="25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
+    <PickupSpawner pickup=destroycarriermetapickup position="50,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Pickup Collection pickups -->
 
-    <PickupSpawner position="-50,25,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <PickupCollection template=triplehealthspeedinvisibilitypickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=triplehealthspeedinvisibilitypickup position="-50,25,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
     
     <!-- Drone pickup -->
     
-    <PickupSpawner position="-50,50,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <DronePickup template=dronepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=dronepickup position="-50,50,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
     
     <!-- DamageBoost pickup -->
     
-    <PickupSpawner position="-50,75,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <DamageBoostPickup template=smalldamageboostpickup />
-      </pickup>
-    </PickupSpawner>
-    
-      <PickupSpawner position="-50,100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <DamageBoostPickup template=mediumdamageboostpickup />
-      </pickup>
-    </PickupSpawner>
-    
-      <PickupSpawner position="-50,125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <DamageBoostPickup template=largedamageboostpickup />
-      </pickup>
-    </PickupSpawner>
-    
+    <PickupSpawner pickup=smalldamageboostpickup position="-50,75,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=mediumdamageboostpickup position="-50,100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+    <PickupSpawner pickup=largedamageboostpickup position="-50,125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
     
     <!-- Other pickups -->
@@ -201,27 +109,13 @@
     />
 
-    <PickupSpawner position="-50,0,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <HealthPickup representation="MediumHealth" health=500 activationType=immediate healthRate=10 durationType=continuous />
-      </pickup>
-    </PickupSpawner>
+    <Template name=continuoushealthpickup baseclass=HealthPickup>
+      <HealthPickup representation="MediumHealth" health=500 activationType=immediate healthRate=10 durationType=continuous />
+    </Template>
+    
+    <PickupSpawner pickup=continuoushealthpickup position="-50,0,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
 
-    <PickupSpawner position="-25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <ShrinkPickup template ="smallshrinkpickup"/>
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="0,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <ShrinkPickup template ="mediumshrinkpickup"/>
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <ShrinkPickup template ="hugeshrinkpickup"/>
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup="smallshrinkpickup" position="-25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+    <PickupSpawner pickup="mediumshrinkpickup" position="0,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+    <PickupSpawner pickup="hugeshrinkpickup" position="25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
     
     <!-- @Objects: 4 boxes (uncontrolled pawns) -->
Index: code/branches/presentation2012merge/data/levels/portals.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/portals.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/portals.oxw	(revision 9319)
@@ -39,9 +39,5 @@
     <PortalLink fromID="2" toID="1" />
 
-    <!--PickupSpawner position="-200,0,0" triggerDistance="10" respawnTime="10" maxSpawnedItems="10">
-      <pickup>
-        <DronePickup template=dronepickup />
-      </pickup>
-    </PickupSpawner-->
+    <!--PickupSpawner pickup=dronepickup position="-200,0,0" triggerDistance="10" respawnTime="10" maxSpawnedItems="10" /-->
 
     <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0" />
Index: code/branches/presentation2012merge/data/levels/presentation09b.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/presentation09b.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/presentation09b.oxw	(revision 9319)
@@ -94,9 +94,5 @@
     </SpaceShip>
 
-    <PickupSpawner position="-3800, 2500, 1500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <SpeedPickup template=smalljumppickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smalljumppickup position="-3800, 2500, 1500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
 
     <!-- PickupRepresentation for the pickup below, since it is not a standard pickup provided by pickups.oxi -->
@@ -109,15 +105,11 @@
     />
 
-    <PickupSpawner position="-4150,2750,1550" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <HealthPickup representation="MediumHealth" health=100 activationType=onUse durationType=once />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="2300, 4300, 2400" respawnTime="5" triggerDistance="20">
-      <pickup>
-        <HealthPickup template=mediumhealthpickup />
-      </pickup>
-    </PickupSpawner>
+    <Template name=onusehealthpickup baseclass=HealthPickup>
+      <HealthPickup representation="MediumHealth" health=100 activationType=onUse durationType=once />
+    </Template>
+
+    <PickupSpawner pickup=onusehealthpickup position="-4150,2750,1550" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+
+    <PickupSpawner pickup=mediumhealthpickup position="2300, 4300, 2400" respawnTime="5" triggerDistance="20" />
 
     <Billboard position="-2500, 2400, 1500" material="Examples/Flare" />
Index: code/branches/presentation2012merge/data/levels/presentationFS10.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/presentationFS10.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/presentationFS10.oxw	(revision 9319)
@@ -102,47 +102,22 @@
     <?lua end ?>
 
-    <PickupSpawner position="500,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <DronePickup template=dronepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=dronepickup position="500,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Shield pickups -->
 
-    <PickupSpawner position="-25,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <ShieldPickup template=hugeshieldpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugeshieldpickup position="-25,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- Health pickups -->
 
-    <PickupSpawner position="0,-75,-500" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
-      <pickup>
-        <HealthPickup template=hugehealthpickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugehealthpickup position="0,-75,-500" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
 
     <!-- Speed pickups -->
 
-    <PickupSpawner position="25,-50,-500" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=hugespeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="50,-50,-500" triggerDistance="10" respawnTime="10" maxSpawnedItems="99">
-      <pickup>
-        <SpeedPickup template=smalljumppickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugespeedpickup position="25,-50,-500" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
+    <PickupSpawner pickup=smalljumppickup position="50,-50,-500" triggerDistance="10" respawnTime="10" maxSpawnedItems="99" />
 
     <!-- Invisible pickups -->
 
-    <PickupSpawner position="0,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10">
-      <pickup>
-        <InvisiblePickup template=hugeinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=hugeinvisiblepickup position="0,-50,-500" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" />
 
     <!-- PickupRepresentation for the pickup below, since it is not a standard pickup provided by pickups.oxi -->
@@ -155,9 +130,9 @@
     />
 
-    <PickupSpawner position="25,-75,-500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <HealthPickup representation="MediumHealth" health=50 activationType=onUse durationType=once />
-      </pickup>
-    </PickupSpawner>
+    <Template name=onusehealthpickup baseclass=HealthPickup>
+      <HealthPickup representation="MediumHealth" health=50 activationType=onUse durationType=once />
+    </Template>
+
+    <PickupSpawner pickup=onusehealthpickup position="25,-75,-500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
 
   </Scene>
Index: code/branches/presentation2012merge/data/levels/presentationFS11.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/presentationFS11.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/presentationFS11.oxw	(revision 9319)
@@ -422,8 +422,5 @@
     </SimpleNotification>
 
-    <PickupSpawner position="-72487,420,-63" respawnTime="10" triggerDistance="20" maxSpawnedItems="5" active="false">
-      <pickup>
-        <ShrinkPickup template ="smallshrinkpickup"/>
-      </pickup>
+    <PickupSpawner pickup="smallshrinkpickup" position="-72487,420,-63" respawnTime="10" triggerDistance="20" maxSpawnedItems="5" active="false">
       <events>
         <activity>
Index: code/branches/presentation2012merge/data/levels/presentationHS09.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/presentationHS09.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/presentationHS09.oxw	(revision 9319)
@@ -97,9 +97,5 @@
     <Billboard material="Test/Fog" position="-3800, 2500, 1500" alpha="0.1" color="1, 1, 1, 0.1" scale="0.5" />
 
-    <PickupSpawner position="-3800, 2500, 1500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <SpeedPickup template=smalljumppickup />
-      </pickup>
-    </PickupSpawner>
+    <PickupSpawner pickup=smalljumppickup position="-3800, 2500, 1500" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
 
     <!-- PickupRepresentation for the pickup below, since it is not a standard pickup provided by pickups.oxi -->
@@ -112,15 +108,11 @@
     />
 
-    <PickupSpawner position="-4150,2750,1550" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">
-      <pickup>
-        <HealthPickup representation="MediumHealth" health=100 activationType=onUse durationType=once />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="2300, 4300, 2400" respawnTime="5" triggerDistance="20">
-      <pickup>
-        <HealthPickup template=mediumhealthpickup />
-      </pickup>
-    </PickupSpawner>
+    <Template name=onusehealthpickup baseclass=HealthPickup>
+      <HealthPickup representation="MediumHealth" health=100 activationType=onUse durationType=once />
+    </Template>
+
+    <PickupSpawner pickup=onusehealthpickup position="-4150,2750,1550" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />
+
+    <PickupSpawner pickup=mediumhealthpickup position="2300, 4300, 2400" respawnTime="5" triggerDistance="20" />
 
     <Billboard position="-2500, 2400, 1500" material="Examples/Flare" />
Index: code/branches/presentation2012merge/data/levels/surfaceRace.oxw
===================================================================
--- code/branches/presentation2012merge/data/levels/surfaceRace.oxw	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/surfaceRace.oxw	(revision 9319)
@@ -399,21 +399,7 @@
 
 
- <PickupSpawner position="4000,8050,0" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8">
-      <pickup>
-        <SpeedPickup template=smallspeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-   <PickupSpawner position="5500,8100,2000" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8">
-      <pickup>
-        <SpeedPickup template=mediumspeedpickup />
-      </pickup>
-    </PickupSpawner>
-
-    <PickupSpawner position="3000,8050,-4000" triggerDistance="40" respawnTime="60"  maxSpawnedItems="5" scale="8">
-      <pickup>
-        <ShrinkPickup template ="mediumshrinkpickup"/>
-      </pickup>
-    </PickupSpawner>>
+   <PickupSpawner pickup=smallspeedpickup position="4000,8050,0" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8" />
+   <PickupSpawner pickup=mediumspeedpickup position="5500,8100,2000" triggerDistance="40" respawnTime="10" maxSpawnedItems="99" scale="8" />
+   <PickupSpawner pickup="mediumshrinkpickup" position="3000,8050,-4000" triggerDistance="40" respawnTime="60"  maxSpawnedItems="5" scale="8" />
 
 
Index: code/branches/presentation2012merge/data/levels/templates/pickupRepresentationTemplates.oxt
===================================================================
--- code/branches/presentation2012merge/data/levels/templates/pickupRepresentationTemplates.oxt	(revision 9318)
+++ code/branches/presentation2012merge/data/levels/templates/pickupRepresentationTemplates.oxt	(revision 9319)
@@ -17,5 +17,5 @@
 </Template>
 
-<Template name=smallshieldpickup>
+<Template name=smallshieldpickup baseclass=ShieldPickup>
   <ShieldPickup
     representation = "smallshieldpickup"
@@ -44,5 +44,5 @@
 </Template>
 
-<Template name=mediumshieldpickup>
+<Template name=mediumshieldpickup baseclass=ShieldPickup>
   <ShieldPickup
     representation = "mediumshieldpickup"
@@ -72,5 +72,5 @@
 </Template>
 
-<Template name=hugeshieldpickup>
+<Template name=hugeshieldpickup baseclass=ShieldPickup>
   <ShieldPickup
     representation = "hugeshieldpickup"
@@ -101,5 +101,5 @@
 </Template>
 
-<Template name=smallhealthpickup>
+<Template name=smallhealthpickup baseclass=HealthPickup>
   <HealthPickup
     representation = "smallhealthpickup"
@@ -127,5 +127,5 @@
 </Template>
 
-<Template name=mediumhealthpickup>
+<Template name=mediumhealthpickup baseclass=HealthPickup>
   <HealthPickup
     representation = "mediumhealthpickup"
@@ -153,5 +153,5 @@
 </Template>
 
-<Template name=hugehealthpickup>
+<Template name=hugehealthpickup baseclass=HealthPickup>
   <HealthPickup
     representation = "hugehealthpickup"
@@ -179,5 +179,5 @@
 </Template>
 
-<Template name=crazyhealthpickup>
+<Template name=crazyhealthpickup baseclass=HealthPickup>
   <HealthPickup
     representation = "crazyhealthpickup"
@@ -241,5 +241,5 @@
 </Template>
 
-<Template name=smalldamageboostpickup>
+<Template name=smalldamageboostpickup baseclass=DamageBoostPickup>
   <DamageBoostPickup
     representation = "smalldamageboostpickup"
@@ -267,5 +267,5 @@
 </Template>
 
-<Template name=mediumdamageboostpickup>
+<Template name=mediumdamageboostpickup baseclass=DamageBoostPickup>
   <DamageBoostPickup
     representation = "mediumdamageboostpickup"
@@ -293,5 +293,5 @@
 </Template>
 
-<Template name=largedamageboostpickup>
+<Template name=largedamageboostpickup baseclass=DamageBoostPickup>
   <DamageBoostPickup
     representation = "largedamageboostpickup"
@@ -322,5 +322,5 @@
 </Template>
 
-<Template name=smallspeedpickup>
+<Template name=smallspeedpickup baseclass=SpeedPickup>
   <SpeedPickup
     representation = "smallspeedpickup"
@@ -349,5 +349,5 @@
 </Template>
 
-<Template name=mediumspeedpickup>
+<Template name=mediumspeedpickup baseclass=SpeedPickup>
   <SpeedPickup
     representation = "mediumspeedpickup"
@@ -376,5 +376,5 @@
 </Template>
 
-<Template name=hugespeedpickup>
+<Template name=hugespeedpickup baseclass=SpeedPickup>
   <SpeedPickup
     representation = "hugespeedpickup"
@@ -403,5 +403,5 @@
 </Template>
 
-<Template name=smalljumppickup>
+<Template name=smalljumppickup baseclass=SpeedPickup>
   <SpeedPickup
     representation = "smalljumppickup"
@@ -432,5 +432,5 @@
 </Template>
 
-<Template name=smallinvisiblepickup>
+<Template name=smallinvisiblepickup baseclass=InvisiblePickup>
   <InvisiblePickup 
     representation = "smallinvisiblepickup"
@@ -457,5 +457,5 @@
 </Template>
 
-<Template name=mediuminvisiblepickup>
+<Template name=mediuminvisiblepickup baseclass=InvisiblePickup>
   <InvisiblePickup 
     representation = "mediuminvisiblepickup"
@@ -482,5 +482,5 @@
 </Template>
 
-<Template name=hugeinvisiblepickup>
+<Template name=hugeinvisiblepickup baseclass=InvisiblePickup>
   <InvisiblePickup 
     representation = "hugeinvisiblepickup"
@@ -507,5 +507,5 @@
 </Template>
 
-<Template name=smallshrinkpickup>
+<Template name=smallshrinkpickup baseclass=ShrinkPickup>
   <ShrinkPickup 
     representation = "smallshrinkpickup"
@@ -533,5 +533,5 @@
 </Template>
 
-<Template name=mediumshrinkpickup>
+<Template name=mediumshrinkpickup baseclass=ShrinkPickup>
   <ShrinkPickup 
     representation = "mediumshrinkpickup"
@@ -559,5 +559,5 @@
 </Template>
 
-<Template name=hugeshrinkpickup>
+<Template name=hugeshrinkpickup baseclass=ShrinkPickup>
   <ShrinkPickup 
     representation = "hugeshrinkpickup"
@@ -589,5 +589,5 @@
 </Template>
 
-<Template name=triplehealthspeedinvisibilitypickup>
+<Template name=triplehealthspeedinvisibilitypickup baseclass=PickupCollection>
     <PickupCollection
         representation = "triplehealthspeedinvisibilitypickup"
@@ -651,5 +651,5 @@
 </Template>
 
-<Template name=dronepickup>
+<Template name=dronepickup baseclass=DronePickup>
     <DronePickup representation=dronepickup droneTemplate=droneTemplate />
 </Template>
