Index: code/trunk/src/modules/towerdefense/CMakeLists.txt
===================================================================
--- code/trunk/src/modules/towerdefense/CMakeLists.txt	(revision 10622)
+++ code/trunk/src/modules/towerdefense/CMakeLists.txt	(revision 10624)
@@ -11,5 +11,5 @@
 
 ORXONOX_ADD_LIBRARY(towerdefense
-  MODULE
+  PLUGIN
   FIND_HEADER_FILES
   LINK_LIBRARIES
Index: code/trunk/src/modules/towerdefense/TDCoordinate.h
===================================================================
--- code/trunk/src/modules/towerdefense/TDCoordinate.h	(revision 10622)
+++ code/trunk/src/modules/towerdefense/TDCoordinate.h	(revision 10624)
@@ -2,5 +2,4 @@
 #define _TDCoordinate_H__
 
-#include "core/CoreIncludes.h"
 #include "TDCoordinate.h"
 //#include "towerdefense/TowerDefense.h"
@@ -13,5 +12,5 @@
 //Class to save the Coordinates in a class instead of struct
 //Convert 2d coordinates to 3d in order to set waypoints
-    class _TowerDefenseExport TDCoordinate : public OrxonoxClass
+    class _TowerDefenseExport TDCoordinate
     {
         public:
Index: code/trunk/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/trunk/src/modules/towerdefense/TowerDefense.cc	(revision 10622)
+++ code/trunk/src/modules/towerdefense/TowerDefense.cc	(revision 10624)
@@ -85,5 +85,5 @@
 #include "core/CoreIncludes.h"
 /* Part of a temporary hack to allow the player to add towers */
-#include "core/command/ConsoleCommand.h"
+#include "core/command/ConsoleCommandIncludes.h"
 #include <cmath>
 
Index: code/trunk/src/modules/towerdefense/TowerDefenseCenterpoint.cc
===================================================================
--- code/trunk/src/modules/towerdefense/TowerDefenseCenterpoint.cc	(revision 10622)
+++ code/trunk/src/modules/towerdefense/TowerDefenseCenterpoint.cc	(revision 10624)
@@ -83,16 +83,4 @@
     /**
     @brief
-        Is called when the gametype has changed.
-    */
-    void TowerDefenseCenterpoint::changedGametype()
-    {
-        SUPER(TowerDefenseCenterpoint, changedGametype);
-
-        // Check, whether it's still TowerDefense.
-        this->checkGametype();
-    }
-
-    /**
-    @brief
         Checks whether the gametype is TowerDefense and if it is, sets its centerpoint.
     */
@@ -102,5 +90,5 @@
         {
             // Sets the centerpoint of the gametype. The gametype uses this to later spawn in towers, he needs the tower template stored in the center point
-            TowerDefense* towerDefenseGametype = orxonox_cast<TowerDefense*>(this->getGametype().get());
+            TowerDefense* towerDefenseGametype = orxonox_cast<TowerDefense*>(this->getGametype());
             towerDefenseGametype->setCenterpoint(this);
         }
Index: code/trunk/src/modules/towerdefense/TowerDefenseCenterpoint.h
===================================================================
--- code/trunk/src/modules/towerdefense/TowerDefenseCenterpoint.h	(revision 10622)
+++ code/trunk/src/modules/towerdefense/TowerDefenseCenterpoint.h	(revision 10624)
@@ -53,5 +53,4 @@
 
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void changedGametype();
 
             /**
Index: code/trunk/src/modules/towerdefense/TowerDefenseEnemy.cc
===================================================================
--- code/trunk/src/modules/towerdefense/TowerDefenseEnemy.cc	(revision 10622)
+++ code/trunk/src/modules/towerdefense/TowerDefenseEnemy.cc	(revision 10624)
@@ -29,5 +29,5 @@
         this->setCollisionType(WorldEntity::Dynamic);
         //needed to keep track of the PlayerStats coded in TowerDefense.h
-        this->td = orxonox_cast<TowerDefense*>(this->getGametype().get());
+        this->td = orxonox_cast<TowerDefense*>(this->getGametype());
         once_=false;
 
@@ -53,5 +53,5 @@
     }
 
-    WeakPtr<TowerDefense> TowerDefenseEnemy::getGame()
+    TowerDefense* TowerDefenseEnemy::getGame()
     {
         if (game == NULL)
Index: code/trunk/src/modules/towerdefense/TowerDefenseEnemy.h
===================================================================
--- code/trunk/src/modules/towerdefense/TowerDefenseEnemy.h	(revision 10622)
+++ code/trunk/src/modules/towerdefense/TowerDefenseEnemy.h	(revision 10624)
@@ -47,5 +47,5 @@
 
     private:
-        WeakPtr<TowerDefense> getGame();
+        TowerDefense* getGame();
         WeakPtr<TowerDefense> game;
         TowerDefense* td;
Index: code/trunk/src/modules/towerdefense/TowerDefenseHUDController.cc
===================================================================
--- code/trunk/src/modules/towerdefense/TowerDefenseHUDController.cc	(revision 10622)
+++ code/trunk/src/modules/towerdefense/TowerDefenseHUDController.cc	(revision 10624)
@@ -80,5 +80,5 @@
             if (this->getOwner() && this->getOwner()->getGametype())
                     {
-                        this->td = orxonox_cast<TowerDefense*>(this->getOwner()->getGametype().get());
+                        this->td = orxonox_cast<TowerDefense*>(this->getOwner()->getGametype());
                     }
                     else
