Index: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am	(revision 5433)
+++ trunk/src/Makefile.am	(revision 5434)
@@ -65,4 +65,5 @@
                   world_entities/weapons/crosshair.cc \
                   world_entities/power_ups/power_up.cc \
+                  world_entities/power_ups/turret_power_up.cc \
                   subprojects/benchmark.cc
 
@@ -93,5 +94,6 @@
                  world_entities/weapons/test_bullet.h \
                  world_entities/weapons/crosshair.h \
-		 world_entities/power_ups/power_up.h \
+                 world_entities/power_ups/power_up.h \
+                 world_entities/power_ups/turret_power_up.h \
                  defs/stdincl.h \
                  defs/stdlibincl.h \
Index: trunk/src/Makefile.in
===================================================================
--- trunk/src/Makefile.in	(revision 5433)
+++ trunk/src/Makefile.in	(revision 5434)
@@ -66,5 +66,6 @@
 	orxonox-test_gun.$(OBJEXT) orxonox-turret.$(OBJEXT) \
 	orxonox-test_bullet.$(OBJEXT) orxonox-crosshair.$(OBJEXT) \
-	orxonox-power_up.$(OBJEXT) orxonox-benchmark.$(OBJEXT)
+	orxonox-power_up.$(OBJEXT) orxonox-turret_power_up.$(OBJEXT) \
+	orxonox-benchmark.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
 am__DEPENDENCIES_1 =
@@ -93,4 +94,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-test_gun.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-turret.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/orxonox-turret_power_up.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-weapon.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-weapon_manager.Po \
@@ -280,4 +282,5 @@
                   world_entities/weapons/crosshair.cc \
                   world_entities/power_ups/power_up.cc \
+                  world_entities/power_ups/turret_power_up.cc \
                   subprojects/benchmark.cc
 
@@ -308,5 +311,6 @@
                  world_entities/weapons/test_bullet.h \
                  world_entities/weapons/crosshair.h \
-		 world_entities/power_ups/power_up.h \
+                 world_entities/power_ups/power_up.h \
+                 world_entities/power_ups/turret_power_up.h \
                  defs/stdincl.h \
                  defs/stdlibincl.h \
@@ -426,4 +430,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-test_gun.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-turret.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-turret_power_up.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-weapon.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-weapon_manager.Po@am__quote@
@@ -830,4 +835,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-power_up.obj `if test -f 'world_entities/power_ups/power_up.cc'; then $(CYGPATH_W) 'world_entities/power_ups/power_up.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/power_ups/power_up.cc'; fi`
+
+orxonox-turret_power_up.o: world_entities/power_ups/turret_power_up.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-turret_power_up.o -MD -MP -MF "$(DEPDIR)/orxonox-turret_power_up.Tpo" -c -o orxonox-turret_power_up.o `test -f 'world_entities/power_ups/turret_power_up.cc' || echo '$(srcdir)/'`world_entities/power_ups/turret_power_up.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-turret_power_up.Tpo" "$(DEPDIR)/orxonox-turret_power_up.Po"; else rm -f "$(DEPDIR)/orxonox-turret_power_up.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='world_entities/power_ups/turret_power_up.cc' object='orxonox-turret_power_up.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-turret_power_up.Po' tmpdepfile='$(DEPDIR)/orxonox-turret_power_up.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-turret_power_up.o `test -f 'world_entities/power_ups/turret_power_up.cc' || echo '$(srcdir)/'`world_entities/power_ups/turret_power_up.cc
+
+orxonox-turret_power_up.obj: world_entities/power_ups/turret_power_up.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-turret_power_up.obj -MD -MP -MF "$(DEPDIR)/orxonox-turret_power_up.Tpo" -c -o orxonox-turret_power_up.obj `if test -f 'world_entities/power_ups/turret_power_up.cc'; then $(CYGPATH_W) 'world_entities/power_ups/turret_power_up.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/power_ups/turret_power_up.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-turret_power_up.Tpo" "$(DEPDIR)/orxonox-turret_power_up.Po"; else rm -f "$(DEPDIR)/orxonox-turret_power_up.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='world_entities/power_ups/turret_power_up.cc' object='orxonox-turret_power_up.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-turret_power_up.Po' tmpdepfile='$(DEPDIR)/orxonox-turret_power_up.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-turret_power_up.obj `if test -f 'world_entities/power_ups/turret_power_up.cc'; then $(CYGPATH_W) 'world_entities/power_ups/turret_power_up.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/power_ups/turret_power_up.cc'; fi`
 
 orxonox-benchmark.o: subprojects/benchmark.cc
Index: trunk/src/defs/class_id.h
===================================================================
--- trunk/src/defs/class_id.h	(revision 5433)
+++ trunk/src/defs/class_id.h	(revision 5434)
@@ -18,16 +18,16 @@
 /*!
  * @file class_id.h
-  *  list of orxonox classID's
-
-    this File is used to identify an Object with its class and also with its sub/super-classes.
-    this is also used by the ObjectManager to identify and load important classes
-
-    !! important !!
-    When adding a new CLASS be sure about the following:
-      1. if it is a (SUB)SUPERCLASS make sure there is still space left (if not think of a new approach)
-      2. if it is a (SUB)SUPERCLASS also add the CLASS to BaseObject::whatIs() so we have nice output :)
-      3. check if the Number you add is not refered to twice, and that with (SUB)SUPERCLASSES there are no intersections
-      4. be sure to add you stuff in the right section, and don't interest yourself for the order of things. :)
-*/
+ * @brief list of orxonox classID's
+ *
+ *  this File is used to identify an Object with its class and also with its sub/super-classes.
+ *  this is also used by the ObjectManager to identify and load important classes
+ *
+ *  !! important !!
+ *  When adding a new CLASS be sure about the following:
+ *    1. if it is a (SUB)SUPERCLASS make sure there is still space left (if not think of a new approach)
+ *    2. if it is a (SUB)SUPERCLASS also add the CLASS to BaseObject::whatIs() so we have nice output :)
+ *    3. check if the Number you add is not refered to twice, and that with (SUB)SUPERCLASSES there are no intersections
+ *    4. be sure to add you stuff in the right section, and don't interest yourself for the order of things. :)
+ */
 
 #ifndef _CLASS_ID_H
@@ -133,4 +133,6 @@
   CL_TURRET                     =    0x0000020b,
 
+  CL_TURRET_POWER_UP            =    0x0000020b,
+
 
   // gamePlay (range from 0x00000500 0x000005ff)
Index: trunk/src/world_entities/power_ups/power_up.cc
===================================================================
--- trunk/src/world_entities/power_ups/power_up.cc	(revision 5433)
+++ trunk/src/world_entities/power_ups/power_up.cc	(revision 5434)
@@ -27,4 +27,5 @@
 {
   this->setClassID(CL_POWER_UP, "PowerUp");
+
 }
 
@@ -34,2 +35,8 @@
 
 
+void PowerUp::loadParam(const TiXmlElement* root)
+{
+  static_cast<WorldEntity*>(this)->loadParams(root);
+
+}
+
Index: trunk/src/world_entities/power_ups/power_up.h
===================================================================
--- trunk/src/world_entities/power_ups/power_up.h	(revision 5433)
+++ trunk/src/world_entities/power_ups/power_up.h	(revision 5434)
@@ -9,10 +9,10 @@
 #include "world_entity.h"
 
-class PowerUp : WorldEntity {
+class PowerUp : public WorldEntity {
 
  public:
   PowerUp ();
   virtual ~PowerUp ();
-
+  void loadParam(const TiXmlElement* root);
 };
 
Index: trunk/src/world_entities/power_ups/turret_power_up.cc
===================================================================
--- trunk/src/world_entities/power_ups/turret_power_up.cc	(revision 5434)
+++ trunk/src/world_entities/power_ups/turret_power_up.cc	(revision 5434)
@@ -0,0 +1,52 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+
+#include "turret_power_up.h"
+#include "factory.h"
+
+using namespace std;
+
+CREATE_FACTORY(TurretPowerUp);
+
+
+TurretPowerUp::TurretPowerUp ()
+{
+  this->init();
+}
+
+TurretPowerUp::TurretPowerUp(const TiXmlElement* root)
+{
+  this->init();
+
+  this->loadParams(root);
+}
+
+
+TurretPowerUp::~TurretPowerUp () {}
+
+
+void TurretPowerUp::init()
+{
+  this->setClassID(CL_TURRET_POWER_UP, "TurretPowerUp");
+  this->loadModel("models/guns/turret1.obj");
+}
+
+
+void TurretPowerUp::loadParams(const TiXmlElement* root)
+{
+  static_cast<PowerUp*>(this)->loadParams(root);
+
+}
Index: trunk/src/world_entities/power_ups/turret_power_up.h
===================================================================
--- trunk/src/world_entities/power_ups/turret_power_up.h	(revision 5434)
+++ trunk/src/world_entities/power_ups/turret_power_up.h	(revision 5434)
@@ -0,0 +1,23 @@
+/*!
+ * @file turret_power_up.h
+ * @brief A class representing a PowerUp in the world.
+*/
+
+#ifndef _TURRET_POWER_UP_H
+#define _TURRET_POWER_UP_H
+
+#include "power_up.h"
+
+class TurretPowerUp : public PowerUp {
+
+ public:
+  TurretPowerUp();
+  TurretPowerUp(const TiXmlElement* root);
+  virtual ~TurretPowerUp ();
+
+  private:
+   void init();
+   void loadParams(const TiXmlElement* root);
+};
+
+#endif /* _TURRET_POWER_UP_H */
