Index: code/branches/mergeFS18/data/levels/3DPacman.oxw
===================================================================
--- code/branches/mergeFS18/data/levels/3DPacman.oxw	(revision 12045)
+++ code/branches/mergeFS18/data/levels/3DPacman.oxw	(revision 12045)
@@ -0,0 +1,1829 @@
+<LevelInfo
+ name = "3DPacman"
+ description = "A 3DVersion of Pacman."
+ tags = "minigame"
+ screenshot = "Pacman.png"
+/>
+
+<?lua
+  include("stats.oxo")
+  include("PacmanHUD.oxo")
+  include("templates/lodInformation.oxt")
+?>
+
+<?lua
+  include("templates/PacmanGelb.oxt")
+?>
+
+<Level
+  plugins = pacman
+  gametype = Pacman
+>
+
+  <templates>
+    <Template link=lodtemplate_default />
+  </templates>
+  <?lua include("includes/notifications.oxi") ?>
+
+  <Scene
+    ambientlight = "0.8, 0.8, 0.8"
+    skybox       = "Orxonox/Starbox"
+  >
+
+    <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"/>
+    <SpawnPoint team=0 position="0,10,150" lookat="0,0,0" spawnclass=PacmanGelb pawndesign=PacmanGelb />
+
+<!-- GHOSTS -->
+<PacmanGhost position="0,10,15" >
+    <attached>
+        <Model position="0,0,0" mesh="PacmanGhostRed.mesh" scale="5" />
+    </attached>
+</PacmanGhost>
+
+<PacmanGhost position="0,10,15" >
+    <attached>
+        <Model position="0,0,0" mesh="PacmanGhostBlue.mesh" scale="5" />
+    </attached>
+</PacmanGhost>
+
+<PacmanGhost position="0,10,15" >
+    <attached>
+        <Model position="0,0,0" mesh="PacmanGhostOrange.mesh" scale="5" />
+    </attached>
+</PacmanGhost>
+
+<PacmanGhost position="0,10,15" >
+    <attached>
+        <Model position="0,0,0" mesh="PacmanGhostPink.mesh" scale="5" />
+    </attached>
+</PacmanGhost>
+
+
+<PacmanGhost position="0,-20,0" >
+    <attached>
+        <Model position="0,0,0" mesh="PacmanAfraidGhost.mesh" scale="5" />
+    </attached>
+</PacmanGhost>
+
+<PacmanGhost position="0,-20,0" >
+    <attached>
+        <Model position="0,0,0" mesh="PacmanAfraidGhost.mesh" scale="5" />
+    </attached>
+</PacmanGhost>
+
+<PacmanGhost position="0,-20,0" >
+    <attached>
+        <Model position="0,0,0" mesh="PacmanAfraidGhost.mesh" scale="5" />
+    </attached>
+</PacmanGhost>
+
+<PacmanGhost position="0,-20,0" >
+    <attached>
+        <Model position="0,0,0" mesh="PacmanAfraidGhost.mesh" scale="5" />
+    </attached>
+</PacmanGhost>
+
+
+
+<!-- POINTS first Line -->
+<PacmanPointSphere position="-215,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-197,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-179,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-161,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-143,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-125,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-107,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-89,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-71,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-53,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-35,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-7,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="7,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="20,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="38,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="56,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="74,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="92,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="110,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="128,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="146,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="164,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="182,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="200,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,245">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+
+<!-- POINTS seconde Line -->
+<PacmanPointSphere position="-215,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-197,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-179,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-161,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-143,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-125,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 7 and 8 -->
+
+<PacmanPointSphere position="-71,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-53,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-35,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 13 and 14 -->
+
+<PacmanPointSphere position="20,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="38,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="56,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="74,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 19 and 20 -->
+
+<PacmanPointSphere position="128,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="146,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="164,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="182,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="200,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- POINTS third Line -->
+<PacmanPointSphere position="-215,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-197,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-179,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 4 and 5 -->
+
+<PacmanPointSphere position="-125,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-107,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-89,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-71,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-53,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-35,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 13 and 14 -->
+
+<PacmanPointSphere position="20,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="38,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="56,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="74,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="92,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="110,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="128,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 22 and 23 -->
+
+<PacmanPointSphere position="182,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="200,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,150">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+
+<!-- POINTS fourth Line -->
+<PacmanPointSphere position="-215,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-197,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-179,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-161,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-143,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-125,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-107,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-89,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-71,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-53,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-35,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 13 and 14 -->
+
+<PacmanPointSphere position="20,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="38,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="56,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="74,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="92,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="110,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="128,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="146,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="164,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="182,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="200,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- POINTS fifth Line -->
+<PacmanPointSphere position="-215,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-197,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-179,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-161,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-143,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-125,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 7 and 8 -->
+
+<PacmanPointSphere position="-71,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-53,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-35,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 13 and 14 -->
+
+<PacmanPointSphere position="20,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="38,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="56,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="74,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 19 and 20 -->
+
+<PacmanPointSphere position="128,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="146,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="164,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="182,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="200,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,-85">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- POINTS sixth Line -->
+<PacmanPointSphere position="-215,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-197,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-179,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-161,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-143,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-125,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-107,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-89,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-71,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-53,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-35,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-7,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="7,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="20,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="38,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="56,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="74,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="92,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="110,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="128,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="146,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="164,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="182,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="200,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,-135">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- POINTS seventh Line -->
+<PacmanPointSphere position="-215,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-197,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-179,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-161,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-143,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-125,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-107,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-89,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-71,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-53,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-35,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 13 and 14 -->
+
+<PacmanPointSphere position="20,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="38,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="56,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="74,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="92,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="110,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="128,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="146,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="164,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="182,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="200,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,-195">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- POINTS first column -->
+
+<!-- 1 -->
+
+<PacmanPointSphere position="-215,10,-179">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-215,10,-163">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-215,10,-147">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 5 -->
+
+<PacmanPointSphere position="-215,10,-115">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-215,10,-99">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 8 -->
+
+<!-- 9 until 19 -->
+
+<!-- 20 -->
+
+<PacmanPointSphere position="-215,10,122">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-215,10,137">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 23 -->
+
+<!-- 24 and 25 -->
+
+<!-- 26 -->
+
+<PacmanPointSphere position="-215,10,214">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-215,10,229">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 29 -->
+
+
+<!-- POINTS seconde column -->
+
+<!-- 1 -->
+
+<PacmanPointSphere position="-135,10,-179">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,-163">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,-147">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 5 -->
+
+<PacmanPointSphere position="-135,10,-115">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,-99">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 8 -->
+
+<PacmanPointSphere position="-135,10,-67">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,-51">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,-35">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,-19">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,-3">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,15">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,30">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,45">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,61">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,76">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,91">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 20 -->
+
+<PacmanPointSphere position="-135,10,122">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,137">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 23 -->
+
+<PacmanPointSphere position="-135,10,168">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-135,10,183">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 26 -->
+
+<!-- 27 and 28 -->
+
+<!-- 29 -->
+
+
+<!-- POINTS third column -->
+
+<!-- 1 -->
+
+<!-- 2 until 4 -->
+
+<!-- 5 -->
+
+<PacmanPointSphere position="-70,10,-115">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-70,10,-99">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 8 -->
+
+<!-- 9 until 19 -->
+
+<!-- 20 -->
+
+<!-- 21 and 22 -->
+
+<!-- 23 -->
+
+<PacmanPointSphere position="-70,10,168">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-70,10,183">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 26 -->
+
+<!-- 27 and 28 -->
+
+<!-- 29 -->
+
+
+<!-- POINTS fourth column -->
+
+<!-- 1 -->
+
+<PacmanPointSphere position="-20,10,-179">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,-163">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,-147">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 5 -->
+
+<!-- 6 and 7 -->
+
+<!-- 8 -->
+
+<!-- 9 and 19 -->
+
+<!-- 20 -->
+
+<PacmanPointSphere position="-20,10,122">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,137">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 23 -->
+
+<!-- 24 and 25 -->
+
+<!-- 26 -->
+
+<PacmanPointSphere position="-20,10,214">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="-20,10,229">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 29 -->
+
+
+<!-- POINTS fifth column -->
+
+<!-- 1 -->
+
+<PacmanPointSphere position="20,10,-179">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="20,10,-163">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="20,10,-147">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 5 -->
+
+<!-- 6 and 7 -->
+
+<!-- 8 -->
+
+<!-- 9 and 19 -->
+
+<!-- 20 -->
+
+<PacmanPointSphere position="20,10,122">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="20,10,137">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 23 -->
+
+<!-- 24 and 25 -->
+
+<!-- 26 -->
+
+<PacmanPointSphere position="20,10,214">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="20,10,229">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 29 -->
+
+
+<!-- POINTS sixth column -->
+
+<!-- 1 -->
+
+<!-- 2 until 4 -->
+
+<!-- 5 -->
+
+<PacmanPointSphere position="70,10,-115">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="70,10,-99">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 8 -->
+
+<!-- 9 until 19 -->
+
+<!-- 20 -->
+
+<!-- 21 and 22 -->
+
+<!-- 23 -->
+
+<PacmanPointSphere position="70,10,168">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="70,10,183">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 26 -->
+
+<!-- 27 and 28 -->
+
+<!-- 29 -->
+
+
+<!-- POINTS seventh column -->
+
+<!-- 1 -->
+
+<PacmanPointSphere position="135,10,-179">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,-163">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,-147">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 5 -->
+
+<PacmanPointSphere position="135,10,-115">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,-99">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 8 -->
+
+<PacmanPointSphere position="135,10,-67">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,-51">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,-35">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,-19">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,-3">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,15">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,30">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,45">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,61">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,76">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,91">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 20 -->
+
+<PacmanPointSphere position="135,10,122">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,137">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 23 -->
+
+<PacmanPointSphere position="135,10,168">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="135,10,183">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 26 -->
+
+<!-- 27 and 28 -->
+
+<!-- 29 -->
+
+<!-- POINTS first column -->
+
+<!-- 1 -->
+
+<PacmanPointSphere position="215,10,-179">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,-163">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,-147">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 5 -->
+
+<PacmanPointSphere position="215,10,-115">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,-99">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 8 -->
+
+<!-- 9 until 19 -->
+
+<!-- 20 -->
+
+<PacmanPointSphere position="215,10,122">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,137">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 23 -->
+
+<!-- 24 and 25 -->
+
+<!-- 26 -->
+
+<PacmanPointSphere position="215,10,214">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<PacmanPointSphere position="215,10,229">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointSphere.mesh" scale="5" />
+    </attached>
+</PacmanPointSphere>
+
+<!-- 29 -->
+
+
+<!-- AfraidPoints -->
+<PacmanPointAfraid position="-215,10,-163">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointAfraid.mesh" scale="10" />
+    </attached>
+</PacmanPointAfraid>
+
+<PacmanPointAfraid position="215,10,-163">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointAfraid.mesh" scale="10" />
+    </attached>
+</PacmanPointAfraid>
+
+<PacmanPointAfraid position="-215,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointAfraid.mesh" scale="10" />
+    </attached>
+</PacmanPointAfraid>
+
+<PacmanPointAfraid position="215,10,105">
+    <attached>
+        <Model position="0,0,0" mesh="PacmanPointAfraid.mesh" scale="10" />
+    </attached>
+</PacmanPointAfraid>
+
+
+<!-- Map -->
+<StaticEntity position="0,0,25" direction="0,0,0" collisionType=static mass=100000 friction=0.01 >
+    <attached> 
+        <Model position="0,0,0" mesh="PacmanMap.mesh" scale="50" /> 
+    </attached> 
+    <collisionShapes> 
+
+  <!-- Edge -->  
+  <BoxCollisionShape position="250,10,0" halfExtents="15,15,250" />
+  <BoxCollisionShape position="-250,10,0" halfExtents="15,15,250" />
+  <BoxCollisionShape position="0,10,250" halfExtents="250,15,15" />
+  <BoxCollisionShape position="0,10,-250" halfExtents="250,15,15" />
+
+   <!-- Shapes in order -->    
+  <BoxCollisionShape position="-200,10,-65" halfExtents="55,30,35" />
+  <BoxCollisionShape position="-200,10,30" halfExtents="55,30,35" />
+  <BoxCollisionShape position="200,10,-65" halfExtents="55,30,35" />
+  <BoxCollisionShape position="200,10,30" halfExtents="55,30,35" />
+  <BoxCollisionShape position="-175,10,-195" halfExtents="30,30,20" /> <!-- 5 -->  
+  <BoxCollisionShape position="-80,10,-195" halfExtents="40,30,20" />
+  <BoxCollisionShape position="-175,10,-140" halfExtents="30,30,10" />
+  <BoxCollisionShape position="0,10,-210" halfExtents="10,30,30" />
+  <BoxCollisionShape position="80,10,-195" halfExtents="40,30,20" />
+  <BoxCollisionShape position="175,10,-195" halfExtents="30,30,20" /> <!-- 10 -->
+  <BoxCollisionShape position="175,10,-140" halfExtents="30,30,10" />
+  <BoxCollisionShape position="0,10,-140" halfExtents="60,30,10" />
+  <BoxCollisionShape position="0,10,-110" halfExtents="10,30,25" />
+  <BoxCollisionShape position="-100,10,-90" halfExtents="10,30,60" />
+  <BoxCollisionShape position="-70,10,-90" halfExtents="25,30,10" /> <!-- 15 -->
+  <BoxCollisionShape position="100,10,-90" halfExtents="10,30,60" />
+  <BoxCollisionShape position="70,10,-90" halfExtents="25,30,10" />
+  <BoxCollisionShape position="0,10,-20" halfExtents="60,30,35" />
+  <BoxCollisionShape position="-100,10,30" halfExtents="10,30,35" />
+  <BoxCollisionShape position="0,10,50" halfExtents="60,30,10" /> <!-- 20 -->
+  <BoxCollisionShape position="0,10,80" halfExtents="10,30,25" />
+  <BoxCollisionShape position="100,10,30" halfExtents="10,30,35" />
+  <BoxCollisionShape position="-175,10,100" halfExtents="30,30,10" />
+  <BoxCollisionShape position="-155,10,130" halfExtents="10,30,25" />
+  <BoxCollisionShape position="-75,10,100" halfExtents="35,30,10" /> <!-- 25 -->
+  <BoxCollisionShape position="75,10,100" halfExtents="35,30,10" />
+  <BoxCollisionShape position="175,10,100" halfExtents="30,30,10" />
+  <BoxCollisionShape position="155,10,130" halfExtents="10,30,25" />
+  <BoxCollisionShape position="-220,10,150" halfExtents="20,30,10" />
+  <BoxCollisionShape position="220,10,150" halfExtents="20,30,10" /> <!-- 30 -->
+  <BoxCollisionShape position="0,10,150" halfExtents="60,30,10" />
+  <BoxCollisionShape position="0,10,180" halfExtents="10,30,25" />
+  <BoxCollisionShape position="-100,10,170" halfExtents="10,30,25" />
+  <BoxCollisionShape position="-125,10,200" halfExtents="80,30,10" />
+  <BoxCollisionShape position="100,10,170" halfExtents="10,30,25" /> <!-- 35 -->
+  <BoxCollisionShape position="125,10,200" halfExtents="80,30,10" />
+
+
+    </collisionShapes> 
+</StaticEntity>
+
+
+<Template name=Portal>
+    <PortalEndPoint>
+        <attached>
+            <Model mesh="Spacegate.mesh" yaw="90"/>
+        </attached>
+    </PortalEndPoint>
+</Template>
+
+<PortalEndPoint position="-240,15,5" id="1" distance="40" target="Pawn" design="Portal"/>
+<PortalEndPoint position="240,15,5" id="2" distance="40" target="Pawn" design="Portal"/>
+<PortalLink fromID="1" toID="2" />
+<PortalLink fromID="2" toID="1" />
+  </Scene>
+</Level>
Index: code/branches/mergeFS18/data/levels/templates/PacmanGelb.oxt
===================================================================
--- code/branches/mergeFS18/data/levels/templates/PacmanGelb.oxt	(revision 12045)
+++ code/branches/mergeFS18/data/levels/templates/PacmanGelb.oxt	(revision 12045)
@@ -0,0 +1,79 @@
+<Template name=PacmanGelb>
+  <PacmanGelb
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = spaceshipescortcameras
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 10
+
+   health            = 80
+   maxhealth         = 200
+   initialhealth     = 80
+
+   shieldhealth        = 35
+   initialshieldhealth = 35
+   maxshieldhealth     = 60
+   shieldabsorption    = 0.9
+   shieldrechargerate  = 1
+   shieldrechargewaittime = 1
+
+   primaryThrust     = 150
+   auxilaryThrust    = 30
+   rotationThrust    = 50
+
+   lift = 1;
+   stallSpeed = 220;
+
+   boostPower            = 20
+   boostPowerRate        = 1
+   boostRate             = 5
+   boostCooldownDuration = 10
+
+   shakeFrequency = 0
+   shakeAmplitude = 0
+
+   collisionType     = "dynamic"
+   mass              = 80
+   linearDamping     = 0.9
+   angularDamping    = 0.9999999
+  >
+    <engines>
+      <MultiStateEngine position=" 7.6, 0, 6" template=spaceshipescortengine />
+      <MultiStateEngine position="-7.6, 0, 0" template=spaceshipescortengine />
+    </engines>
+    <attached>
+      <Model position="0,0,0" yaw=180 pitch=0 roll=0 scale=5 mesh="PacmanGelb.mesh" />
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0    ,0 ,  0" halfExtents="1,50,1" />
+    </collisionShapes>
+
+  </PacmanGelb>
+</Template>
+
+<Template name=spaceshipescortcameras defaults=0>
+  <PacmanGelb>
+    <camerapositions>
+      <CameraPosition position="0,7, 10" drag=true mouselook=true />
+    </camerapositions>
+  </PacmanGelb>
+</Template>
+
+<Template name=spaceshipescortengine baseclass=MultiStateEngine>
+  <MultiStateEngine
+   boostfactor    = 1.0
+
+   speedfront     = 80
+   speedback      = 40
+   speedleftright =  1
+   speedupdown    =  1
+
+   accelerationfront     = 100
+   accelerationbrake     = 5
+   accelerationback      =  100
+   accelerationleftright =  5
+   accelerationupdown    =  5
+  >
+
+  </MultiStateEngine>
+</Template>
Index: code/branches/mergeFS18/data/overlays/PacmanHUD.oxo
===================================================================
--- code/branches/mergeFS18/data/overlays/PacmanHUD.oxo	(revision 12045)
+++ code/branches/mergeFS18/data/overlays/PacmanHUD.oxo	(revision 12045)
@@ -0,0 +1,72 @@
+<Template name="spectatorhud">
+  <OverlayGroup name = "spectator" scale = "1, 1">
+  </OverlayGroup>
+</Template>
+<Template name="PacmanHUD">
+  <OverlayGroup name="PacmanHUD" scale = "1, 1">
+    
+  </OverlayGroup>
+</Template>
+
+
+<Template name="spaceshiphud">
+  <OverlayGroup name = "spaceshiphud" scale = "1, 1">
+
+    <PacmanHUDinfo
+     position  = "0.05, 0.05"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.04
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+
+     showpoints     = true
+    />
+
+    <PacmanHUDinfo
+     position  = "0.45, 0.5"
+     pickpoint = "0.5, 0.5"
+     font      = "ShareTechMono"
+     textsize  = 0.04
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "middle"
+
+     showgameover = true
+
+    />
+
+    <PacmanHUDinfo
+     position  = "0.05, 0.8"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.04
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+
+     showghoststatus   = true
+    />
+
+    <PacmanHUDinfo
+     position  = "0.05, 0.9"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.04
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+
+     showlive   = true
+    />
+
+    <PacmanHUDinfo
+     position  = "0.85, 0.9"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.04
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+
+     showlevel   = true
+    />
+
+ </OverlayGroup>
+</Template>
Index: code/branches/mergeFS18/src/modules/CMakeLists.txt
===================================================================
--- code/branches/mergeFS18/src/modules/CMakeLists.txt	(revision 12043)
+++ code/branches/mergeFS18/src/modules/CMakeLists.txt	(revision 12045)
@@ -49,3 +49,4 @@
 ADD_SUBDIRECTORY(asteroids2D)
 ADD_SUBDIRECTORY(flappyorx)
+ADD_SUBDIRECTORY(pacman)
 ADD_SUBDIRECTORY(orxyroad)
Index: code/branches/mergeFS18/src/modules/dodgerace/DodgeRaceShip.cc
===================================================================
--- code/branches/mergeFS18/src/modules/dodgerace/DodgeRaceShip.cc	(revision 12043)
+++ code/branches/mergeFS18/src/modules/dodgerace/DodgeRaceShip.cc	(revision 12045)
@@ -106,5 +106,5 @@
 
         setPosition(pos);
-        setOrientation(Vector3::UNIT_Y, Degree(270));
+        //setOrientation(Vector3::UNIT_Y, Degree(270));
 
         // Level up!
Index: code/branches/mergeFS18/src/modules/pacman/CMakeLists.txt
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/CMakeLists.txt	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/CMakeLists.txt	(revision 12045)
@@ -0,0 +1,22 @@
+SET_SOURCE_FILES(Pacman_SRC_FILES
+  Pacman.cc
+  PacmanGhost.cc
+  PacmanGelb.cc
+  PacmanPointSphere.cc
+  PacmanPointAfraid.cc
+  PacmanHUDinfo.cc
+)
+
+ORXONOX_ADD_LIBRARY(pacman
+  PLUGIN
+  FIND_HEADER_FILES
+  TOLUA_FILES
+
+  PCH_FILE
+
+  LINK_LIBRARIES
+    orxonox
+    overlays
+    objects
+  SOURCE_FILES ${Pacman_SRC_FILES}
+)
Index: code/branches/mergeFS18/src/modules/pacman/Pacman.cc
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/Pacman.cc	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/Pacman.cc	(revision 12045)
@@ -0,0 +1,283 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file 3DPacman.cc
+    @brief Implementation of the 3DPacman class.
+*/
+
+#include "Pacman.h"
+#include "core/CoreIncludes.h"
+
+namespace orxonox
+{
+    RegisterClass(Pacman);
+
+    Pacman::Pacman(Context* context) : Deathmatch(context)
+    {
+        RegisterObject(Pacman);
+
+        lives = 3;
+        point = 0;
+        level = 1;
+
+    }
+
+    void Pacman::levelUp()
+    {
+        //Reset each object
+        for(PacmanPointSphere* nextsphere : ObjectList<PacmanPointSphere>()){
+        	nextsphere->resetPacmanPointSphere();
+        }
+
+        for(PacmanPointAfraid* next : ObjectList<PacmanPointAfraid>()){
+            next->resetPacmanPointAfraid();
+        }
+
+        //Level up ghosts
+        for(PacmanGhost* nextghost : ObjectList<PacmanGhost>()){
+            nextghost->levelupvelo(); 
+        }
+        //Reset ghosts and player
+        this->posreset();
+
+        //Increase maximum of points and level
+        totallevelpoint = ObjectList<PacmanPointSphere>().size() + totallevelpoint;
+        level++;
+    }
+
+
+    PacmanGhost* ghosts[4];
+
+
+    void Pacman::tick(float dt)
+    {
+        SUPER(Pacman, tick, dt);
+
+        //Needed for gameover
+        if(deathtime != 0){
+            dead(dt);
+        }
+
+        //ingame loop
+        else{
+
+            //Register ghosts
+            int i = 0;
+            for(PacmanGhost* nextghost : ObjectList<PacmanGhost>()){
+                ghosts[i] = nextghost;
+                i++;
+            }
+
+            //Switch ghost to not-catchable, if timer is zero
+            if(afraid){
+                timer = timer - dt;
+                if(timer<=0){
+                    setNormal();
+                }
+            }
+
+            //Get position of player
+            player = this->getPlayer();
+            if (player != nullptr)
+            {
+                currentPosition = player->getWorldPosition();
+            }
+
+            //Check for collision with ghosts
+            bcolli = false;
+            for(int nrghost = 0; (nrghost<8) && (!bcolli); ++nrghost){
+                bcolli = collis(ghosts[nrghost]->getPosition(), currentPosition);
+            }
+
+            if(bcolli){
+                this->catched(dt);
+            }
+
+            //Check for collision with PointSpheres and PacmanPointAfraid
+            for(PacmanPointSphere* nextsphere : ObjectList<PacmanPointSphere>()){
+                 if(nextsphere->taken(currentPosition))
+                    takePoint(nextsphere);
+            }
+
+            for(PacmanPointAfraid* next : ObjectList<PacmanPointAfraid>()){
+                if(next->taken(currentPosition))
+                  setAfraid();
+            }
+
+        } 
+
+    }
+
+    //Check for collisions between to objects (compare float numbers)
+    bool Pacman::collis(Vector3 one, Vector3 other){
+        if((abs(one.x-other.x)<10) && (abs(one.y-other.y)<10) && (abs(one.z-other.z)<10))
+            return true;
+        return false;
+    }
+
+    //Decrease live or resetghost
+    void Pacman::catched(float dt){
+
+    if(!this->afraid) {
+        if(!this->lives){
+          deathtime = 5;
+          this->dead(dt);  
+        }
+        --lives;
+        this->posreset();
+        }
+    else{
+        for(int nrghost = 0; nrghost<8; ++nrghost){
+            bcolli = collis(ghosts[nrghost]->getPosition(), currentPosition);
+            if(bcolli) ghosts[nrghost]->resetGhost();
+                bcolli = false;
+        }
+      }
+    }
+
+    //Change ghost design (to afraid)
+    void Pacman::setAfraid(){
+
+        timer = 10; //Set timer to 10 seconds
+
+        //Change normal Ghosts with afraid ones
+        if(!afraid){
+            ghosts[0]->changewith(ghosts[4]);
+            ghosts[1]->changewith(ghosts[5]);
+            ghosts[2]->changewith(ghosts[6]);
+            ghosts[3]->changewith(ghosts[7]);
+        }
+
+        afraid = true; 
+    } 
+
+    //Change ghost design (to not afraid)
+    void Pacman::setNormal(){
+
+        timer = 0;
+
+        //Change normal Ghosts with afraid ones
+            ghosts[4]->changewith(ghosts[0]);
+            ghosts[5]->changewith(ghosts[1]);
+            ghosts[6]->changewith(ghosts[2]);
+            ghosts[7]->changewith(ghosts[3]);
+
+        afraid = false; 
+    } 
+
+    //Reset ghosts and plazer
+    void Pacman::posreset(){
+        for(int i = 0; i<4; ++i){
+            ghosts[i]->resetGhost();
+        }
+        player->setPosition(startposplayer);
+    }
+
+    //Collision with PointSphere
+    void Pacman::takePoint(PacmanPointSphere* taken){
+        ++point;
+        if(point == totallevelpoint){ 
+            this->levelUp();
+            return;
+        }
+    }
+
+
+    PacmanGelb* Pacman::getPlayer()
+    {
+        for (PacmanGelb* ship : ObjectList<PacmanGelb>())
+        {
+            return ship;
+        }
+        return nullptr;
+    }
+
+    //Getter
+    bool Pacman::getAfraid(){
+        return afraid;
+    }
+    //Getter
+    int Pacman::getTimer(){
+        return timer;
+    }
+    //Getter
+    int Pacman::getLevel(){
+        return level;
+    }
+    //Getter
+    int Pacman::getPoints(){
+        return point;
+    }
+    //Getter
+    int Pacman::getLives(){
+        return lives;
+    }
+    //Getter
+    bool Pacman::isdead(){
+        return death;
+    }
+    //Getter
+    int Pacman::getTotalpoints(){
+        return totallevelpoint;
+    }
+
+
+    void Pacman::start()
+    {
+        Deathmatch::start();
+
+        //Hide afraided ghosts under map
+        int i = 0;
+        for(PacmanGhost* nextghost : ObjectList<PacmanGhost>()){
+            if(3<i){ 
+                nextghost->setPosition(0,-20,0);
+                nextghost->dontmove =  true;
+            };
+            i++;
+        }
+
+        //Set maximum of points of first level
+        totallevelpoint = ObjectList<PacmanPointSphere>().size();
+
+    }
+
+    void Pacman::dead(float dt){
+        death = true;
+
+        deathtime = deathtime-dt;
+
+        if(deathtime<0)
+            this->end();
+    }
+
+    void Pacman::end()
+    {
+        GSLevel::startMainMenu();
+    }
+}
Index: code/branches/mergeFS18/src/modules/pacman/Pacman.h
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/Pacman.h	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/Pacman.h	(revision 12045)
@@ -0,0 +1,112 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DodgeRace.h
+    @brief Gametype.
+    @ingroup DodgeRace
+*/
+
+#ifndef _Pacman_H__
+#define _Pacman_H__
+
+#include "PacmanGelb.h"
+#include "PacmanGhost.h"
+#include "PacmanPointSphere.h"
+#include "PacmanPointAfraid.h"
+
+
+#include "core/EventIncludes.h"
+#include "core/command/Executor.h"
+#include "core/config/ConfigValueIncludes.h"
+
+#include "gamestates/GSLevel.h"
+#include "chat/ChatManager.h"
+#include <vector>
+
+// ! HACK
+#include "infos/PlayerInfo.h"
+
+#include "core/command/ConsoleCommand.h"
+
+#include "gametypes/Deathmatch.h"
+#include "tools/Timer.h"
+
+namespace orxonox
+{
+
+    class _PacmanExport Pacman : public Deathmatch
+    {
+       public:
+            Pacman(Context* context);
+
+            virtual void start() override;
+            virtual void end() override;
+
+            virtual void tick(float dt) override;
+
+            PacmanGelb* getPlayer();
+            int getPoints();
+            bool getAfraid();
+            int getTimer();
+            int getLives();
+            int getLevel();
+            int getTotalpoints();
+            bool isdead();
+            
+       private:
+
+            void levelUp();
+            bool collis(Vector3 one, Vector3 other);
+            void catched(float dt);
+            void posreset();
+            void takePoint(PacmanPointSphere* taken);
+            void setAfraid();
+            void setNormal();
+            void dead(float dt);
+
+            PacmanGelb* player;
+            Vector3 currentPosition;
+            Vector3 startposplayer = Vector3(0,10,150);
+            bool bcolli = false;
+           
+            int totallevelpoint;
+            
+            bool afraid = false;
+            bool death = false;
+            float deathtime = 0;
+            float timer = 0;
+
+            int level;
+            int point;
+            int lives;
+        
+    };
+}
+
+#endif /* _Pacman_H__ */
Index: code/branches/mergeFS18/src/modules/pacman/PacmanGelb.cc
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanGelb.cc	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanGelb.cc	(revision 12045)
@@ -0,0 +1,54 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DodgeRaceShip.cc
+    @brief Implementation of the DodgeRaceShip class.
+*/
+
+#include "PacmanGelb.h"
+#include "core/CoreIncludes.h"
+
+namespace orxonox
+{
+    RegisterClass(PacmanGelb);
+
+    PacmanGelb::PacmanGelb(Context* context) : SpaceShip(context)
+    {
+        RegisterObject(PacmanGelb);
+    }
+
+    void PacmanGelb::tick(float dt)
+    {
+    	SUPER(PacmanGelb, tick, dt);
+        actuelposition = this->getPosition(); //bring player back to ground
+        actuelposition.y = 10;
+        this->setPosition(actuelposition);
+    }
+}
+    
Index: code/branches/mergeFS18/src/modules/pacman/PacmanGelb.h
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanGelb.h	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanGelb.h	(revision 12045)
@@ -0,0 +1,69 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DodgeRaceShip.h
+    @brief Declaration of the DodgeRaceShip class.
+*/
+
+#ifndef _PacmanGelb_H__
+#define _PacmanGelb_H__
+
+
+#include "pacman/PacmanPrereqs.h"
+
+#include "core/XMLPort.h"
+#include "worldentities/pawns/SpaceShip.h"
+#include "graphics/Camera.h"
+
+
+namespace orxonox
+{
+    class _PacmanExport PacmanGelb : public SpaceShip
+    {
+        public:
+            PacmanGelb(Context* context);
+
+            virtual void tick(float dt);
+
+            //allow rotation in horizontal manner
+            virtual void rotateYaw(const Vector2& value) override{
+                this->localAngularAcceleration_.setY(this->localAngularAcceleration_.y() + value.x);
+                Pawn::rotateYaw(value);
+            };
+            
+            //forbid rotation in the vertical (doesn't work totally proper, see documentation)
+            virtual void rotatePitch(const Vector2& value) override{};
+
+        private:
+            Vector3 actuelposition;
+       
+    };
+}
+
+#endif
Index: code/branches/mergeFS18/src/modules/pacman/PacmanGhost.cc
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanGhost.cc	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanGhost.cc	(revision 12045)
@@ -0,0 +1,497 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      ..
+ *
+ */
+
+#include "PacmanGhost.h"
+
+#include "core/CoreIncludes.h"
+#include "BulletDynamics/Dynamics/btRigidBody.h"
+
+namespace orxonox
+{
+    RegisterClass(PacmanGhost);
+
+    /**
+    @brief
+        Constructor. Registers the object and initializes some default values.
+    @param creator
+        The creator of this object.
+    */
+    PacmanGhost::PacmanGhost(Context* context) : ControllableEntity(context)
+    {
+        RegisterObject(PacmanGhost);
+
+        this->velocity = Vector3(0, 0, 0);
+
+        this->setCollisionType(CollisionType::Dynamic);
+        
+        this->actuelposition = this->getPosition();
+
+        if(findpos(actuelposition, Vector3(0,-20,0)))
+            dontmove = true;
+        
+        this->target_x = actuelposition.x;
+        this->target_z = actuelposition.z; 
+
+    }
+
+    /**
+    @brief
+        Destructor. Destroys ghost, if present.
+    */
+    PacmanGhost::~PacmanGhost()
+    {
+        // Deletes the controller if the object was initialized and the pointer to the controller is not NULL.
+    }
+
+    /**
+    @brief
+        Method for creating a ghost through XML.
+    */
+    void PacmanGhost::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(PacmanGhost, XMLPort, xmlelement, mode);
+    }
+
+
+    //All positions in the map, see documentation
+    Vector3 possibleposition[] = {Vector3(20,10,245),Vector3(215,10,245),Vector3(215,10,195),Vector3(185,10,195),Vector3(135,10,195), //0-4
+        Vector3(185,10,150),Vector3(135,10,150),Vector3(215,10,150),Vector3(215,10,105),Vector3(135,10,105), //5-9
+        Vector3(135,10,15),Vector3(135,10,-85),Vector3(215,10,-85),Vector3(135,10,-135),Vector3(215,10,-135), //10-14
+        Vector3(215,10,-195),Vector3(135,10,-195),Vector3(20,10,195),Vector3(-20,10,195),Vector3(-20,10,245), //15-19
+        Vector3(-215,10,245),Vector3(-215,10,195),Vector3(-185,10,195),Vector3(-135,10,195),Vector3(-70,10,195), //20-24
+        Vector3(70,10,195),Vector3(70,10,150),Vector3(20,10,150),Vector3(-20,10,150),Vector3(-70,10,150), //25-29
+        Vector3(-135,10,150),Vector3(-185,10,150),Vector3(-215,10,150),Vector3(-215,10,105),Vector3(-135,10,105), //30-34
+        Vector3(-70,10,105),Vector3(-20,10,105),Vector3(20,10,105),Vector3(70,10,105),Vector3(70,10,60), //35-39
+        Vector3(0,10,60),Vector3(-70,10,60),Vector3(-135,10,15),Vector3(-70,10,60),Vector3(0,10,15), //40-44
+        Vector3(70,10,15),Vector3(-70,10,-35),Vector3(-20,10,-35),Vector3(20,10,-35),Vector3(70,10,-35), //45-49
+        Vector3(70,10,-85),Vector3(20,10,-85),Vector3(-20,10,-85),Vector3(-70,10,-85),Vector3(-135,10,-85), //50-54
+        Vector3(-215,10,-85),Vector3(-215,10,-135),Vector3(-135,10,-135),Vector3(-70,10,-135),Vector3(-20,10,-135), //55-59
+        Vector3(20,10,-135),Vector3(70,10,-135),Vector3(20,10,-195),Vector3(-20,10,-195),Vector3(-135,10,-195), //60-64
+        Vector3(-215,10,-195),Vector3(0,10,-35)}; //65-66
+
+    /**
+    @brief
+        Defines which actions the ghost has to take in each tick.
+    @param dt
+        The length of the tick.
+    */
+    void PacmanGhost::tick(float dt)
+    {
+        SUPER(PacmanGhost, tick, dt);
+
+        this->actuelposition = this->getPosition();
+        
+        //Stop, if target arrived
+        if((abs(this->actuelposition.x - this->target_x)<0.5) && (abs(this->actuelposition.z - this->target_z)<0.5)){
+                 this->ismoving = false;
+        }
+
+        //Move, if ghost hasn't arrived yet
+        if(this->ismoving){
+            if(!(abs(this->actuelposition.z-target_z)<0.5)) {
+                velocity = Vector3(0,0,-sgn(this->actuelposition.z-this->target_z));
+                move(dt, actuelposition, velocity);
+            }    
+            if(!(abs(this->actuelposition.x-target_x)<0.5)){
+                velocity = Vector3(-sgn(this->actuelposition.x-this->target_x),0,0);
+                move(dt, actuelposition, velocity);
+            }
+        }
+        //Check on which position the ghost has arrived and set new target
+         else{
+            while(lockmove){};
+            lockmove = true;
+
+            if(findpos(actuelposition,possibleposition[0])){
+            	setnewTarget(1,17,19);
+            }
+            else if(findpos(actuelposition,possibleposition[1])){
+            	setnewTarget(0,2);
+            }
+            else if(findpos(actuelposition,possibleposition[2])){
+        		setnewTarget(1,3);
+            }
+            else if(findpos(actuelposition,possibleposition[3])){
+			    setnewTarget(2,4,5);
+            }
+            else if(findpos(actuelposition,possibleposition[4])){
+				setnewTarget(3,6);
+            }
+            else if(findpos(actuelposition,possibleposition[5])){
+            	setnewTarget(3,7);
+            }
+            else if(findpos(actuelposition,possibleposition[6])){
+                setnewTarget(4,9,26);
+            }
+            else if(findpos(actuelposition,possibleposition[7])){
+                setnewTarget(5,8);
+            }
+            else if(findpos(actuelposition,possibleposition[8])){
+                setnewTarget(7,9);
+            }
+            else if(findpos(actuelposition,possibleposition[9])){
+                setnewTarget(6,8,10,38);
+            }
+            else if(findpos(actuelposition,possibleposition[10])){
+                setnewTarget(9,11,45);
+            }
+            else if(findpos(actuelposition,possibleposition[11])){
+                setnewTarget(10,12,13);
+            }
+            else if(findpos(actuelposition,possibleposition[12])){
+                setnewTarget(11,14);
+            }
+            else if(findpos(actuelposition,possibleposition[13])){
+                setnewTarget(11,14,16,61);
+            }
+            else if(findpos(actuelposition,possibleposition[14])){
+                setnewTarget(12,13,15);
+            }
+            else if(findpos(actuelposition,possibleposition[15])){
+                setnewTarget(14,16);
+            }
+            else if(findpos(actuelposition,possibleposition[16])){
+                setnewTarget(13,15,62);
+            }
+            else if(findpos(actuelposition,possibleposition[17])){
+                setnewTarget(0,25);
+            }
+            else if(findpos(actuelposition,possibleposition[18])){
+                setnewTarget(19,24);
+            }
+            else if(findpos(actuelposition,possibleposition[19])){
+                setnewTarget(0,18,20);
+            }
+            else if(findpos(actuelposition,possibleposition[20])){
+                setnewTarget(19,21);
+            }
+            else if(findpos(actuelposition,possibleposition[21])){
+                setnewTarget(20,22);
+            }
+            else if(findpos(actuelposition,possibleposition[22])){
+                setnewTarget(21,23,31);
+            }
+            else if(findpos(actuelposition,possibleposition[23])){
+                setnewTarget(22,30);
+            }
+            else if(findpos(actuelposition,possibleposition[24])){
+                setnewTarget(18,29);
+            }
+            else if(findpos(actuelposition,possibleposition[25])){
+                setnewTarget(17,26);
+            }
+            else if(findpos(actuelposition,possibleposition[26])){
+                setnewTarget(6,25,27);
+            }
+            else if(findpos(actuelposition,possibleposition[27])){
+                setnewTarget(26,28,37);
+            }
+            else if(findpos(actuelposition,possibleposition[28])){
+                setnewTarget(27,29,36);
+            }
+            else if(findpos(actuelposition,possibleposition[29])){
+                setnewTarget(24,28,30);
+            }
+            else if(findpos(actuelposition,possibleposition[30])){
+                setnewTarget(23,29,34);
+            }
+            else if(findpos(actuelposition,possibleposition[31])){
+                setnewTarget(22,32);
+            }
+            else if(findpos(actuelposition,possibleposition[32])){
+                setnewTarget(31,33);
+            }
+            else if(findpos(actuelposition,possibleposition[33])){
+                setnewTarget(32,34);
+            }
+            else if(findpos(actuelposition,possibleposition[34])){
+                setnewTarget(30,33,35,42);
+            }
+            else if(findpos(actuelposition,possibleposition[35])){
+                setnewTarget(34,36,41);
+            }
+            else if(findpos(actuelposition,possibleposition[36])){
+                setnewTarget(28,35);
+            }
+            else if(findpos(actuelposition,possibleposition[37])){
+                setnewTarget(27,38);
+            }
+            else if(findpos(actuelposition,possibleposition[38])){
+                setnewTarget(9,37,39);
+            }
+            else if(findpos(actuelposition,possibleposition[39])){
+                setnewTarget(38,40,45);
+            }
+            else if(findpos(actuelposition,possibleposition[40])){
+                setnewTarget(39,41); //Shouldn't be able to return in center
+            }
+            else if(findpos(actuelposition,possibleposition[41])){
+                setnewTarget(35,43);
+            }
+            else if(findpos(actuelposition,possibleposition[42])){
+                setnewTarget(34,43,54);
+            }
+            else if(findpos(actuelposition,possibleposition[43])){
+                setnewTarget(41,46);
+            }
+            else if(findpos(actuelposition,possibleposition[44])){
+                setnewTarget(40,66);
+            }
+            else if(findpos(actuelposition,possibleposition[45])){
+                setnewTarget(10,39,49);
+            }
+            else if(findpos(actuelposition,possibleposition[46])){
+                setnewTarget(43,47);
+            }
+            else if(findpos(actuelposition,possibleposition[47])){
+                setnewTarget(46,52,66);
+            }
+            else if(findpos(actuelposition,possibleposition[48])){
+                setnewTarget(49,51,66);
+            }
+            else if(findpos(actuelposition,possibleposition[49])){
+                setnewTarget(45,48);
+            }
+            else if(findpos(actuelposition,possibleposition[50])){
+                setnewTarget(51,61);
+            }
+            else if(findpos(actuelposition,possibleposition[51])){
+                setnewTarget(48,50);
+            }
+            else if(findpos(actuelposition,possibleposition[52])){
+                setnewTarget(47,53);
+            }
+            else if(findpos(actuelposition,possibleposition[53])){
+                setnewTarget(52,58);
+            }
+            else if(findpos(actuelposition,possibleposition[54])){
+                setnewTarget(42,55,57);
+            }
+            else if(findpos(actuelposition,possibleposition[55])){
+                setnewTarget(54,56);
+            }
+            else if(findpos(actuelposition,possibleposition[56])){
+                setnewTarget(55,57,65);
+            }
+            else if(findpos(actuelposition,possibleposition[57])){
+                setnewTarget(54,56,58,64);
+            }
+            else if(findpos(actuelposition,possibleposition[58])){
+                setnewTarget(53,57,59);
+            }
+            else if(findpos(actuelposition,possibleposition[59])){
+                setnewTarget(58,59,63);
+            }
+            else if(findpos(actuelposition,possibleposition[60])){
+                setnewTarget(59,61,62);
+            }
+            else if(findpos(actuelposition,possibleposition[61])){
+                setnewTarget(13,50,60);
+            }
+            else if(findpos(actuelposition,possibleposition[62])){
+                setnewTarget(16,60);
+            }
+            else if(findpos(actuelposition,possibleposition[63])){
+                setnewTarget(59,64);
+            }
+            else if(findpos(actuelposition,possibleposition[64])){
+                setnewTarget(57,63,65);
+            }
+            else if(findpos(actuelposition,possibleposition[65])){
+                setnewTarget(56,64);
+            }
+            else if(findpos(actuelposition,possibleposition[66])){
+                setnewTarget(47,48);
+            }
+
+            else{
+                this->resetGhost(); //Shouldn't happen...
+            } //End of Position table
+                lockmove = false;
+            }
+        
+    }
+
+    //Random choice of new target (not used in game, but useful)
+    void PacmanGhost::setnewTarget(int firstdec){
+        
+    	  decision = rand()%1;
+            switch(decision){
+                case 0:
+                    this->target_x = possibleposition[firstdec].x;
+                    this->target_z = possibleposition[firstdec].z; 
+                    this->ismoving = true;
+                    break;
+    		}
+    }
+
+    //Random choice of new target
+    void PacmanGhost::setnewTarget(int firstdec, int seconddec){ 
+    	   decision = rand()%2;
+            switch(decision){
+                case 0:
+                    this->target_x = possibleposition[firstdec].x;
+                    this->target_z = possibleposition[firstdec].z; 
+                    this->ismoving = true;
+                    break;
+                case 1:
+                    this->target_x = possibleposition[seconddec].x;
+                    this->target_z = possibleposition[seconddec].z; 
+                    this->ismoving = true;
+                    break;  
+            }
+            
+    }
+
+    //Random choice of new target
+    void PacmanGhost::setnewTarget(int firstdec, int seconddec, int thirddec){
+        
+    	   decision = rand()%3;
+            switch(decision){
+                case 0:
+                    this->target_x = possibleposition[firstdec].x;
+                    this->target_z = possibleposition[firstdec].z; 
+                    this->ismoving = true;
+                    break;
+                case 1:
+                    this->target_x = possibleposition[seconddec].x;
+                    this->target_z = possibleposition[seconddec].z; 
+                    this->ismoving = true;
+                    break;
+                case 2:
+                    this->target_x = possibleposition[thirddec].x;
+                    this->target_z = possibleposition[thirddec].z; 
+                    this->ismoving = true;
+                    break;    
+    		}
+            
+	}
+
+    //Random choice of new target
+    void PacmanGhost::setnewTarget(int firstdec, int seconddec, int thirddec, int fourthdec){
+        
+    	   decision = rand()%4;
+            switch(decision){
+                case 0:
+                    this->target_x = possibleposition[firstdec].x;
+                    this->target_z = possibleposition[firstdec].z; 
+                    this->ismoving = true;
+                    break;
+                case 1:
+                    this->target_x = possibleposition[seconddec].x;
+                    this->target_z = possibleposition[seconddec].z; 
+                    this->ismoving = true;
+                    break;
+                case 2:
+                    this->target_x = possibleposition[thirddec].x;
+                    this->target_z = possibleposition[thirddec].z; 
+                    this->ismoving = true;
+                    break;
+                case 3:
+                	this->target_x = possibleposition[fourthdec].x;
+                    this->target_z = possibleposition[fourthdec].z; 
+                    this->ismoving = true;
+                    break;    
+    		}
+            
+	}
+
+    //Change this with other ghost
+    void PacmanGhost::changewith(PacmanGhost* otherghost){
+
+        while(lockmove){};
+        lockmove = true;    //Prevent change of target while ghost is changed
+
+        otherghost->setPosition(this->getPosition());
+        this->setPosition(0,-20,0);
+        otherghost->target_x = this->target_x;   
+        otherghost->target_z = this->target_z;
+        otherghost->ismoving = this->ismoving;
+
+        this->dontmove = true;
+        otherghost->dontmove = false;
+
+        lockmove = false;
+    }
+
+    //Move ghost with rotation
+    void PacmanGhost::move(float dt, Vector3 actuelposition, Vector3 velocity){
+        if(!dontmove){
+            this->setPosition(Vector3(actuelposition.x+speed*velocity.x*dt,10,actuelposition.z+speed*velocity.z*dt));
+        
+        //Rotate ghost in the direction of movement 
+        if((abs(abs(velocity.x)-1)<0.1) && (abs(velocity.z-0)<0.1))
+            if(velocity.x<0){
+                 this->setOrientation(Quaternion(Radian(-1.57), Vector3(0, 1, 0)));  
+            }
+            else{
+                 this->setOrientation(Quaternion(Radian(1.57), Vector3(0, 1, 0)));  
+            }
+        if((abs(abs(velocity.z)-1)<0.1) && (abs(velocity.x-0)<0.1))
+            if(velocity.z<0){
+                 this->setOrientation(Quaternion(Radian(3.14), Vector3(0, 1, 0)));  
+            }
+            else{
+                 this->setOrientation(Quaternion(Radian(0), Vector3(0, 1, 0)));  
+            }
+                     
+     }
+    }
+
+    //Check if there is a collision
+    bool PacmanGhost::findpos(Vector3 one, Vector3 other){
+       if((abs(one.x - other.x)<0.5) && (abs(one.y - other.y)<0.5) && (abs(one.z - other.z)<0.5)) return true;
+        return false;
+    }
+
+    //Change ability to move
+    void PacmanGhost::changemovability(){
+        if(dontmove){
+         dontmove = false;}
+        else{
+         dontmove = true;   
+        }
+    }
+
+    //ResetGhost
+    void PacmanGhost::resetGhost(){
+    
+        this->setPosition(this->resetposition);
+        this->ismoving = false;
+        this->actuelposition = this->getPosition();
+        
+        this->target_x = actuelposition.x;
+        this->target_z = actuelposition.z;
+    
+    }
+
+    //Increase speed of ghosts
+    void PacmanGhost::levelupvelo(){
+        speed ++;
+    }
+}
Index: code/branches/mergeFS18/src/modules/pacman/PacmanGhost.h
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanGhost.h	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanGhost.h	(revision 12045)
@@ -0,0 +1,80 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      ..
+ *
+ */
+
+#ifndef _PacmanGhost_H__
+#define _PacmanGhost_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/XMLPort.h"
+
+#include "worldentities/ControllableEntity.h"
+
+namespace orxonox {
+
+    class _OrxonoxExport PacmanGhost : public ControllableEntity
+    {
+        public:
+            PacmanGhost(Context* context);
+            virtual ~PacmanGhost();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Method for creating an AutonomousDrone through XML.
+            virtual void tick(float dt); //!< Defines which actions the AutonomousDrone has to take in each tick.
+
+            void move(float dt, Vector3 actuelposition, Vector3 velocity);
+            
+            void resetGhost();
+
+            void changewith(PacmanGhost* otherghost);
+            void levelupvelo();
+
+            bool findpos(Vector3 one, Vector3 other);      
+            void changemovability();
+            bool dontmove = false;
+
+        private:
+            int decision = 0; 
+            Vector3 resetposition = Vector3(0,10,15);
+            Vector3 velocity;
+            int speed = 20;
+
+            Vector3 actuelposition;
+            bool ismoving = false;
+            int target_x = 0; 
+            int target_z = 0;
+            bool lockmove = false;
+
+            void setnewTarget(int firstdec);
+            void setnewTarget(int firstdec, int seconddec);
+            void setnewTarget(int firstdec, int seconddec, int thirddec);
+            void setnewTarget(int firstdec, int seconddec, int thirddec, int fourthdec);
+    };
+
+}
+
+#endif
Index: code/branches/mergeFS18/src/modules/pacman/PacmanHUDinfo.cc
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanHUDinfo.cc	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanHUDinfo.cc	(revision 12045)
@@ -0,0 +1,131 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+
+ *      Co-authors:
+ *      ...
+ */
+
+#include "PacmanHUDinfo.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "util/Convert.h"
+
+namespace orxonox
+{
+    RegisterClass(PacmanHUDinfo);
+
+    PacmanHUDinfo::PacmanHUDinfo(Context* context) : OverlayText(context)
+    {
+        RegisterObject(PacmanHUDinfo);
+
+        this->PacmanGame = nullptr;
+        this->bShowPoints_ = false;
+        this->bShowMessage_ = false;
+        this->bShowGhoststatus_ = false;
+        this->messageID = 0;
+
+    }
+
+    void PacmanHUDinfo::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(PacmanHUDinfo, XMLPort, xmlelement, mode);
+
+        XMLPortParam(PacmanHUDinfo, "showpoints",    setShowPoints,    getShowPoints,    xmlelement, mode).defaultValues(false);
+        XMLPortParam(PacmanHUDinfo, "showmessage",   setShowMessage,   getShowMessage,   xmlelement, mode).defaultValues(false);
+        XMLPortParam(PacmanHUDinfo, "showghoststatus",   setGhoststatus,   getGhoststatus,   xmlelement, mode).defaultValues(false);
+        XMLPortParam(PacmanHUDinfo, "messageID",     setMessageID,     getMessageID,     xmlelement, mode).defaultValues(0);
+        XMLPortParam(PacmanHUDinfo, "showgameover",   setGameover,   getGameover,   xmlelement, mode).defaultValues(false);
+        XMLPortParam(PacmanHUDinfo, "showlive",   setlive,   getlive,   xmlelement, mode).defaultValues(false);
+        XMLPortParam(PacmanHUDinfo, "showlevel",   setlevel,   getlevel,   xmlelement, mode).defaultValues(false);
+       
+    
+    }
+
+    void PacmanHUDinfo::tick(float dt)
+    {
+        SUPER(PacmanHUDinfo, tick, dt);
+
+        if (this->PacmanGame)
+        {
+            bool death = this->PacmanGame->isdead();
+            if(death && showgameover){
+                const std::string& deathmessage = "Game Over";
+                    setTextSize(0.08);
+                    this->setCaption(deathmessage);
+            }
+            
+            if(this->bShowPoints_) {
+                    const std::string& points = "Collected points: "+multi_cast<std::string>(this->PacmanGame->getPoints()) + " of " + multi_cast<std::string>(this->PacmanGame->getTotalpoints());
+                    setTextSize(0.03);
+                    this->setCaption(points);
+            }
+  
+            if(this->bShowGhoststatus_){
+                    if(this->PacmanGame->getAfraid()) {
+                       const std::string& ghoststatus = "Catch the ghosts! \n " + multi_cast<std::string>(this->PacmanGame->getTimer()) + " seconds left";
+                       setTextSize(0.03);
+                       this->setCaption(ghoststatus);
+                    }
+                    else{
+                       const std::string& ghoststatus = "Do not get caught!"; 
+                       setTextSize(0.03);
+                       this->setCaption(ghoststatus);
+                    }
+            }
+
+            if(this->showlive){
+                const std::string& live = "Remaining lives: "+multi_cast<std::string>(this->PacmanGame->getLives());
+                setTextSize(0.03);
+                this->setCaption(live);
+            }
+
+            if(this->showlevel){
+                const std::string& live = "Level: "+multi_cast<std::string>(this->PacmanGame->getLevel());
+                setTextSize(0.03);
+                this->setCaption(live);
+            }
+
+
+            if(death && !(this->showgameover)){
+                setTextSize(0.0);
+            }
+
+        }
+    }    
+
+    void PacmanHUDinfo::changedOwner()
+    {
+        SUPER(PacmanHUDinfo, changedOwner);
+
+        if (this->getOwner() && this->getOwner()->getGametype())
+        {
+            this->PacmanGame = orxonox_cast<Pacman*>(this->getOwner()->getGametype());
+        }
+        else
+        {
+            this->PacmanGame = nullptr;
+        }
+    }
+}
Index: code/branches/mergeFS18/src/modules/pacman/PacmanHUDinfo.h
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanHUDinfo.h	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanHUDinfo.h	(revision 12045)
@@ -0,0 +1,101 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *
+ */
+
+#ifndef _PacmanHUDinfo_H__
+#define _PacmanHUDinfo_H__
+
+#include "PacmanPrereqs.h"
+#include "Pacman.h"
+
+#include "tools/interfaces/Tickable.h"
+#include "overlays/OverlayText.h"
+#include <cstring>
+
+namespace orxonox
+{
+    class _PacmanExport PacmanHUDinfo : public OverlayText, public Tickable
+    {
+        public:
+            PacmanHUDinfo(Context* context);
+
+            virtual void tick(float dt) override;
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void changedOwner() override;
+
+            inline void setShowPoints(bool value)
+                { this->bShowPoints_ = value; }
+            inline bool getShowPoints() const
+                { return this->bShowPoints_; }
+
+            inline void setShowMessage(bool value){
+                bShowMessage_ = value;
+            }
+            inline bool getShowMessage() const
+                { return this->bShowMessage_; }
+
+            inline void setMessageID(int value){
+                messageID = value;
+            }
+            inline int getMessageID() const
+                { return messageID; }
+
+            inline void setGhoststatus(bool value){
+                this->bShowGhoststatus_ = value;
+            }
+            inline int getGhoststatus() const
+                { return this->bShowGhoststatus_; }
+
+            inline void setGameover(bool value){
+                this->showgameover = value;
+            }
+            inline int getGameover() const
+                { return this->showgameover; }
+
+            inline void setlive(bool value){
+                this->showlive = value;
+            }
+            inline int getlive() const
+                { return this->showlive; }
+
+            inline void setlevel(bool value){
+                this->showlevel = value;
+            }
+            inline int getlevel() const
+                { return this->showlevel; }
+
+
+        private:
+            Pacman* PacmanGame;
+            bool bShowPoints_;
+            bool bShowMessage_;
+            bool bShowGhoststatus_;
+            bool showgameover;
+            bool showlive;
+            bool showlevel;
+            int messageID;
+    };
+}
+#endif /* _PacmanHUDinfo_H__ */
Index: code/branches/mergeFS18/src/modules/pacman/PacmanPointAfraid.cc
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanPointAfraid.cc	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanPointAfraid.cc	(revision 12045)
@@ -0,0 +1,92 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      
+ *
+ */
+
+#include "PacmanPointAfraid.h"
+
+#include "core/CoreIncludes.h"
+#include "BulletDynamics/Dynamics/btRigidBody.h"
+
+namespace orxonox
+{
+    RegisterClass(PacmanPointAfraid);
+
+    /**
+    @brief
+        Constructor. Registers the object and initializes some default values.
+    @param creator
+        The creator of this object.
+    */
+    PacmanPointAfraid::PacmanPointAfraid(Context* context) : ControllableEntity(context)
+    {
+        RegisterObject(PacmanPointAfraid);
+        this->setCollisionType(CollisionType::None);
+    }
+
+    /**
+    @brief
+        Destructor. Destroys controller, if present.
+    */
+    PacmanPointAfraid::~PacmanPointAfraid()
+    {
+        // Deletes the controller if the object was initialized and the pointer to the controller is not NULL.
+    }
+
+    /**
+    @brief
+        Method for creating a PacmanPointAfraid through XML.
+    */
+    void PacmanPointAfraid::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(PacmanPointAfraid, XMLPort, xmlelement, mode);
+    }
+
+
+    void PacmanPointAfraid::tick(float dt)
+    {
+        SUPER(PacmanPointAfraid, tick, dt);
+    }
+
+    //Check for collision
+    bool PacmanPointAfraid::taken(Vector3 playerpos)
+    { 
+        resetposition = this->getPosition();
+      if((abs(resetposition.x - playerpos.x)<10) && (abs(resetposition.y - playerpos.y)<10) && (abs(resetposition.z - playerpos.z)<10)){
+        this->setPosition(Vector3(resetposition.x, -50, resetposition.z));
+        return true;
+      } 
+
+      return false;
+    }
+
+    //Reset position
+    void PacmanPointAfraid::resetPacmanPointAfraid(){
+        resetposition = this->getPosition();
+        resetposition.y = 10;
+        this->setPosition(resetposition);
+    }
+}
Index: code/branches/mergeFS18/src/modules/pacman/PacmanPointAfraid.h
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanPointAfraid.h	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanPointAfraid.h	(revision 12045)
@@ -0,0 +1,57 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *   
+ *
+ */
+
+#ifndef _PacmanPointAfraid_H__
+#define _PacmanPointAfraid_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/XMLPort.h"
+
+#include "worldentities/ControllableEntity.h"
+
+namespace orxonox {
+
+    class _OrxonoxExport PacmanPointAfraid : public ControllableEntity
+    {
+        public:
+            PacmanPointAfraid(Context* context);
+            virtual ~PacmanPointAfraid();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 
+            virtual void tick(float dt); 
+
+            bool taken(Vector3 playerpos);
+            void resetPacmanPointAfraid();
+        private:
+            Vector3 resetposition;
+    };
+
+}
+
+#endif
Index: code/branches/mergeFS18/src/modules/pacman/PacmanPointSphere.cc
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanPointSphere.cc	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanPointSphere.cc	(revision 12045)
@@ -0,0 +1,91 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      
+ *
+ */
+
+#include "PacmanPointSphere.h"
+
+#include "core/CoreIncludes.h"
+#include "BulletDynamics/Dynamics/btRigidBody.h"
+
+namespace orxonox
+{
+    RegisterClass(PacmanPointSphere);
+
+    /**
+    @brief
+        Constructor. Registers the object and initializes some default values.
+    @param creator
+        The creator of this object.
+    */
+    PacmanPointSphere::PacmanPointSphere(Context* context) : ControllableEntity(context)
+    {
+        RegisterObject(PacmanPointSphere);
+        this->setCollisionType(CollisionType::None);
+    }
+
+    /**
+    @brief
+        Destructor. Destroys controller, if present.
+    */
+    PacmanPointSphere::~PacmanPointSphere()
+    {
+        // Deletes the controller if the object was initialized and the pointer to the controller is not NULL.
+    }
+
+    /**
+    @brief
+        Method for creating a AutonomousDrone through XML.
+    */
+    void PacmanPointSphere::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(PacmanPointSphere, XMLPort, xmlelement, mode);
+    }
+
+
+    void PacmanPointSphere::tick(float dt)
+    {
+        SUPER(PacmanPointSphere, tick, dt);
+    }
+
+    //Check for collision
+    bool PacmanPointSphere::taken(Vector3 playerpos)
+    {
+        resetposition = this->getPosition();
+      if((abs(this->resetposition.x - playerpos.x)<10) && (abs(this->resetposition.y - playerpos.y)<10) && (abs(this->resetposition.z - playerpos.z)<5)){
+        this->setPosition(Vector3(resetposition.x, -50, resetposition.z));
+        return true;
+      } 
+      return false;
+    }
+
+    //Reset position
+    void PacmanPointSphere::resetPacmanPointSphere(){
+        resetposition = this->getPosition();
+        resetposition.y = 10;
+        this->setPosition(resetposition);
+    }
+}
Index: code/branches/mergeFS18/src/modules/pacman/PacmanPointSphere.h
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanPointSphere.h	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanPointSphere.h	(revision 12045)
@@ -0,0 +1,58 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      
+ *
+ */
+
+#ifndef _PacmanPointSphere_H__
+#define _PacmanPointSphere_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/XMLPort.h"
+
+#include "worldentities/ControllableEntity.h"
+
+namespace orxonox {
+
+    class _OrxonoxExport PacmanPointSphere : public ControllableEntity
+    {
+        public:
+            PacmanPointSphere(Context* context);
+            virtual ~PacmanPointSphere();
+
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Method for creating an AutonomousDrone through XML.
+            virtual void tick(float dt); //!< Defines which actions the AutonomousDrone has to take in each tick.
+
+            bool taken(Vector3 playerpos);
+            void resetPacmanPointSphere();
+        private:
+            
+            Vector3 resetposition;
+    };
+
+}
+
+#endif
Index: code/branches/mergeFS18/src/modules/pacman/PacmanPrereqs.h
===================================================================
--- code/branches/mergeFS18/src/modules/pacman/PacmanPrereqs.h	(revision 12045)
+++ code/branches/mergeFS18/src/modules/pacman/PacmanPrereqs.h	(revision 12045)
@@ -0,0 +1,73 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   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
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Marc Dreher
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+@file
+@brief
+    Shared library macros, enums, constants and forward declarations for the DodgeRace module
+*/
+
+#ifndef _PacmanPrereqs_H__
+#define _PacmanPrereqs_H__
+
+#include "OrxonoxConfig.h"
+#include "OrxonoxPrereqs.h"
+
+//-----------------------------------------------------------------------
+// Shared library settings
+//-----------------------------------------------------------------------
+
+#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(PACMAN_STATIC_BUILD)
+#  ifdef PACMAN_SHARED_BUILD
+#    define _PacmanExport __declspec(dllexport)
+#  else
+#    if defined( __MINGW32__ )
+#      define _PacmanExport
+#    else
+#      define _PacmanExport __declspec(dllimport)
+#    endif
+#  endif
+#  define _PacmanPrivate
+#elif defined (ORXONOX_GCC_VISIBILITY)
+#  define _PacmanExport  __attribute__ ((visibility("default")))
+#  define _PacmanPrivate __attribute__ ((visibility("hidden")))
+#else
+#  define _PacmanExport
+#  define _PacmanPrivate
+#endif
+
+//-----------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------
+
+namespace orxonox
+{
+ 
+}
+
+#endif 
