[Orxonox-commit 7818] r12410 - in code/branches/Presentation_FS19: . data/levels data/levels/includes data/levels/templates src/modules/hover src/modules/weapons/projectiles src/modules/weapons/weaponmodes

wiesep at orxonox.net wiesep at orxonox.net
Wed May 22 14:45:31 CEST 2019


Author: wiesep
Date: 2019-05-22 14:45:31 +0200 (Wed, 22 May 2019)
New Revision: 12410

Added:
   code/branches/Presentation_FS19/data/levels/templates/spaceshipzombie.oxt
   code/branches/Presentation_FS19/src/modules/weapons/projectiles/HoverGunProjectile.cc
   code/branches/Presentation_FS19/src/modules/weapons/projectiles/HoverGunProjectile.h
   code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/HoverGun.cc
   code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/HoverGun.h
Modified:
   code/branches/Presentation_FS19/
   code/branches/Presentation_FS19/data/levels/Hover.oxw
   code/branches/Presentation_FS19/data/levels/includes/weaponSettingsHover.oxi
   code/branches/Presentation_FS19/data/levels/templates/spaceshipGhost.oxt
   code/branches/Presentation_FS19/data/levels/templates/spaceshipHover.oxt
   code/branches/Presentation_FS19/src/modules/hover/Hover.cc
   code/branches/Presentation_FS19/src/modules/hover/Hover.h
   code/branches/Presentation_FS19/src/modules/hover/HoverShip.cc
   code/branches/Presentation_FS19/src/modules/hover/HoverShip.h
   code/branches/Presentation_FS19/src/modules/hover/HoverWall.cc
   code/branches/Presentation_FS19/src/modules/weapons/projectiles/CMakeLists.txt
   code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/CMakeLists.txt
Log:
Merged Boxhead_FS19

Index: code/branches/Presentation_FS19
===================================================================
--- code/branches/Presentation_FS19	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19	2019-05-22 12:45:31 UTC (rev 12410)

Property changes on: code/branches/Presentation_FS19
___________________________________________________________________
Modified: svn:mergeinfo
## -6,6 +6,7 ##
 /code/branches/Asteroid_HS17:11456-11724
 /code/branches/BigShip_HS16:11213-11356
 /code/branches/BossFight_FS19:12207-12408
+/code/branches/Boxhead_FS19:12209-12409
 /code/branches/CampaignMap_HS17:11458-11742
 /code/branches/Dialog_HS17:11455-11746
 /code/branches/Dialogue_FS17:11360-11450
Modified: code/branches/Presentation_FS19/data/levels/Hover.oxw
===================================================================
--- code/branches/Presentation_FS19/data/levels/Hover.oxw	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/data/levels/Hover.oxw	2019-05-22 12:45:31 UTC (rev 12410)
@@ -12,19 +12,19 @@
 ?>
 
 <?lua
-  include("templates/spaceshipPirate.oxt")
   include("templates/spaceshipHover.oxt")
-  include("overlays/HoverHUD.oxo")
+  include("templates/spaceshipzombie.oxt")
 ?>
 
+
 <?lua
 MAZE_NUM_CELLS = 10
 MAZE_CELL_SIZE = 100
-MAZE_CELL_HEIGHT = 30
+MAZE_CELL_HEIGHT = 400000000
 MAZE_SIZE = MAZE_NUM_CELLS*MAZE_CELL_SIZE
 ?>
 
-<Level
+<Level 
 plugins = hover
 gametype = Hover
 >
@@ -36,7 +36,7 @@
   <Scene
     ambientlight = "0.8, 0.8, 0.8"
     skybox       = "Orxonox/Starbox"
-    gravity      = "0, -200, 0"
+    gravity      = "0, -80, 0"
   >
 
     <StaticEntity position="0,0,0" collisionType="static">
@@ -74,12 +74,213 @@
     
     <SpawnPoint
       team=0
-      position="50,20,50"
+      position="500,20,50"
       lookat="100,20,100"
       spawnclass=HoverShip
       pawndesign=spaceshiphover
     />
+
+<SpaceShip position="500,20,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,2020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,4020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,6020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,8020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,10020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,12020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,14020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,16020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,18020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,20020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,22020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,24020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,26020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,28020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,30020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,32020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,34020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,36020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,38020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,40020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,42020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,44020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,46020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,48020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,50020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,52020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,54020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,56020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,58020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,60020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,62020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,64020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,66020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,68020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,70020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,72020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,74020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,76020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,78020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,80020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,82020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,84020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,86020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,88020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,90020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,92020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,94020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,96020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,98020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,100020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,102020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,104020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,106020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,108020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,110020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,112020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,114020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,116020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,118020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,120020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,122020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,124020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,126020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,128020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,130020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,132020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,134020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,136020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,138020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,140020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,142020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,144020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,146020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,148020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,150020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,152020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,154020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,156020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,158020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,160020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,162020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,164020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,166020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,168020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,170020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,172020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,174020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,176020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,178020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,180020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,182020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,184020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,186020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,188020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,190020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,192020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,194020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,196020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+<SpaceShip position="500,198020,500" lookat="50,20,50" name="enemy" health="200" maxhealth="200" initialhealth="80" > <templates> <Template link=spaceshipzombie /> </templates> </SpaceShip> 
+
+
     
   </Scene>
 </Level>
-

Modified: code/branches/Presentation_FS19/data/levels/includes/weaponSettingsHover.oxi
===================================================================
--- code/branches/Presentation_FS19/data/levels/includes/weaponSettingsHover.oxi	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/data/levels/includes/weaponSettingsHover.oxi	2019-05-22 12:45:31 UTC (rev 12410)
@@ -6,7 +6,7 @@
   <WeaponSet firemode=0 />
   <WeaponSet firemode=1 />
 </weaponsets>
-<!--<weaponpacks>
+<weaponpacks>
   <WeaponPack>
     <links>
       <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -13,10 +13,10 @@
       <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
     </links>
     <Weapon>
-      <IceGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" projectileMesh="LaserBeam2.mesh" />
+      <HoverGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" projectileMesh="LaserBeam2.mesh" />
     </Weapon>
     <Weapon>
-      <IceGun mode=0 munitionpershot=0 delay=0     damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" projectileMesh="LaserBeam2.mesh" />
+      <HoverGun mode=0 munitionpershot=0 delay=0     damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" projectileMesh="LaserBeam2.mesh" />
     </Weapon>
   </WeaponPack>
   <WeaponPack>
@@ -24,7 +24,7 @@
       <DefaultWeaponmodeLink firemode=1 weaponmode=0 />
     </links>
   </WeaponPack>
-</weaponpacks> --> 
+</weaponpacks>  
 <munition>
-  <IceMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/>
+  <LaserMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/>
 </munition>

Modified: code/branches/Presentation_FS19/data/levels/templates/spaceshipGhost.oxt
===================================================================
--- code/branches/Presentation_FS19/data/levels/templates/spaceshipGhost.oxt	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/data/levels/templates/spaceshipGhost.oxt	2019-05-22 12:45:31 UTC (rev 12410)
@@ -6,29 +6,20 @@
    spawnparticleduration  = 3
    explosionchunks        = 6
 
-   health            = 30
-   maxhealth         = 50
-   initialhealth     = 30
+   health            = 100
+   maxhealth         = 100
+   initialhealth     = 100
+  
 
-   shieldhealth        = 100
-   initialshieldhealth = 100
-   maxshieldhealth     = 150
-   shieldabsorption    = 0.9
-   shieldrechargerate  = 3
-   shieldrechargewaittime = 0.0
-
-   primaryThrust     = 600
-   auxilaryThrust    = 30
+   primaryThrust     = 25
+   auxilaryThrust    = 25
    rotationThrust    = 25
 
    lift = 1;
-   stallSpeed = 220;
+   stallSpeed = 100;
 
-   boostPower            = 30
-   boostPowerRate        = 1
-   boostRate             = 5
-   boostCooldownDuration = 15
 
+
    shakeFrequency = 20
    shakeAmplitude = 6
 
@@ -44,12 +35,7 @@
       <Model position="0,0,0" scale=2 yaw=90 pitch=-90 roll=0 mesh="ghost.mesh" />
     </attached>
     <collisionShapes>
-      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
-      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
-      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
-      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
-      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
-      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+      <BoxCollisionShape position="0,-2 ,7" halfExtents="7, 4 ,30" />
     </collisionShapes>
     <explosion >
       <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" />
@@ -62,10 +48,10 @@
       <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
       <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
     </explosion>
-<?lua
+<!-- <?lua
   include("../includes/weaponSettingsGhost.oxi")
 ?>
-  </SpaceShip>
+ -->  </SpaceShip>
 </Template>
 
 <Template name=spaceshipghostcameras defaults=0>
@@ -82,16 +68,16 @@
   <MultiStateEngine
    boostfactor    = 2
 
-   speedfront     = 600
+   speedfront     =  50
    speedback      =  50
    speedleftright =  50
-   speedupdown    =  50
+   speedupdown    =  0
 
    accelerationfront     = 1000
    accelerationbrake     = 300
    accelerationback      =  100
    accelerationleftright =  100
-   accelerationupdown    =  100
+   accelerationupdown    =  0
   >
     <EffectContainer condition="normal or boost">
       <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 3, 6" colour="0.0, 0.0, 0.0, 0.5" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />

Modified: code/branches/Presentation_FS19/data/levels/templates/spaceshipHover.oxt
===================================================================
--- code/branches/Presentation_FS19/data/levels/templates/spaceshipHover.oxt	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/data/levels/templates/spaceshipHover.oxt	2019-05-22 12:45:31 UTC (rev 12410)
@@ -1,6 +1,6 @@
 <Template name=spaceshiphover>
   <SpaceShip
-   hudtemplate            = spaceshiphoverhud
+   hudtemplate            = spaceshiphud
    camerapositiontemplate = spaceshiphovercameras
    spawnparticlesource    = "Orxonox/fairytwirl"
    spawnparticleduration  = 3
@@ -19,7 +19,7 @@
 
    primaryThrust     = 200
    auxilaryThrust    = 30
-   rotationThrust    = 25
+   rotationThrust    = 20
 
    jumpBoost = 90
 
@@ -26,7 +26,7 @@
    lift = 1;
    stallSpeed = 220;
 
-   boostPower            = 10
+   boostPower            = 30
    boostPowerRate        = 1
    boostRate             = 5
    boostCooldownDuration = 10
@@ -35,6 +35,9 @@
    mass              = 100
    linearDamping     = 0.2
    angularDamping    = 0.9999999
+   collisiondamage = 20
+   enablecollisiondamage = true
+
   >
     <engines>
       <MultiStateEngine position=" 0, 0, 0" template=spaceshiphoverengine />
@@ -78,16 +81,16 @@
   <MultiStateEngine
    boostfactor    = 2
 
-   speedfront     = 90
-   speedback      =  40
-   speedleftright =  40
-   speedupdown    =  40
+   speedfront     =   90
+   speedback      =   90
+   speedleftright =   90
+   speedupdown    =   0
 
-   accelerationfront     = 500
-   accelerationbrake     = 500
-   accelerationback      =  125
-   accelerationleftright =  125
-   accelerationupdown    =  125
+   accelerationfront     =  500
+   accelerationbrake     =  500
+   accelerationback      =  500
+   accelerationleftright =  500
+   accelerationupdown    =  0
   >
     <EffectContainer condition="not idle">
       <FadingBillboard mainstate=activity active=false scale=0.02 position=" 1.3, 0, 15" colour="1.0, 0.65, 0.2, 1.0" material="Examples/FlareZwei" turnontime=0.5 turnofftime=0.5 />

Copied: code/branches/Presentation_FS19/data/levels/templates/spaceshipzombie.oxt (from rev 12409, code/branches/Boxhead_FS19/data/levels/templates/spaceshipzombie.oxt)
===================================================================
--- code/branches/Presentation_FS19/data/levels/templates/spaceshipzombie.oxt	                        (rev 0)
+++ code/branches/Presentation_FS19/data/levels/templates/spaceshipzombie.oxt	2019-05-22 12:45:31 UTC (rev 12410)
@@ -0,0 +1,126 @@
+<Template name=spaceshipzombie>
+  <SpaceShip
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = spaceshiphovercameras
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 6
+
+   health            = 200
+   maxhealth         = 200
+   initialhealth     = 50
+
+   shieldhealth        = 25
+   initialshieldhealth = 0
+   maxshieldhealth     = 40
+   shieldabsorption    = 0.6
+   reloadrate          = 2
+   reloadwaittime      = 0.5
+
+   primaryThrust     = 200
+   auxilaryThrust    = 30
+   rotationThrust    = 20
+
+   jumpBoost = 0
+
+   lift = 1;
+   stallSpeed = 220;
+
+   boostPower            = 30
+   boostPowerRate        = 1
+   boostRate             = 5
+   boostCooldownDuration = 10
+
+   collisionType     = "dynamic"
+   mass              = 4000
+   linearDamping     = 0
+   angularDamping    = 0
+
+
+  >
+    <engines>
+      <MultiStateEngine position=" 0, 0, 0" template=spaceshiphoverengine />
+    </engines>
+  <attached>
+      <Model position="0,0,0" yaw=90 pitch=0 roll=0 scale=4 mesh="escortShip.mesh" />
+      <Model position="0,0,0" yaw=180 pitch=90 roll=0 scale=4 mesh="escortWeapon.mesh" />
+      
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0    ,0 ,  3" halfExtents="10,   4,8" />
+      <BoxCollisionShape position="12.6 ,-2,  3" halfExtents="2.8,2.8,11"/>
+      <BoxCollisionShape position="-12.6,-2,  3" halfExtents="2.8,2.8,11"/>
+      <BoxCollisionShape position="0,     0,-12" halfExtents="4  , 4 ,7" />
+    </collisionShapes>
+    <explosion >
+      <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" />
+      <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" />
+      <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" />
+
+      <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" />
+      <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+      <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+      <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+      <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+    </explosion>
+
+<!-- <?lua
+  include("../includes/weaponSettingsHover.oxi")
+?> -->
+    <controller>
+      <WaypointPatrolController alertnessradius=300000 attackradius=1 team=1 >
+         <waypoints>
+          <Model mesh="cube.mesh" scale=0 position="15500,15500,15500" />
+
+          </waypoints>
+      
+      </WaypointPatrolController>
+
+    </controller>
+
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshiphovercameras defaults=0>
+  <SpaceShip>
+    <camerapositions>
+      <CameraPosition position="0,8, 5" drag=true mouselook=true />
+      <CameraPosition position="0,8,5" yaw="180" drag=true mouselook=true />
+    </camerapositions>
+  </SpaceShip>
+</Template>
+
+<Template name=spaceshiphoverengine baseclass=Engine>
+  <MultiStateEngine
+   boostfactor    = 2
+
+   speedfront     =   80
+   speedback      =   80
+   speedleftright =   80
+   speedupdown    =   0
+
+   accelerationfront     =  500
+   accelerationbrake     =  500
+   accelerationback      =  500
+   accelerationleftright =  500
+   accelerationupdown    =  0
+  >
+    <EffectContainer condition="not idle">
+      <FadingBillboard mainstate=activity active=false scale=0.02 position=" 1.3, 0, 15" colour="1.0, 0.65, 0.2, 1.0" material="Examples/FlareZwei" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.02 position=" 0, 0, 15" colour="1.0, 0.65, 0.2, 1.0" material="Examples/FlareZwei" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.02 position="-1.3, 0, 15" colour="1.0, 0.65, 0.2, 1.0" material="Examples/FlareZwei" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+    <EffectContainer condition="normal or boost">
+      <Backlight mainstate=activity active=false scale=0.8 name=bltest position=" 0, 0,  40" colour="1.0, 0.65, 0.2, 1.0" width=10 length=800 lifetime=1 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+     
+    </EffectContainer>
+    <EffectContainer condition="boost">
+      <Backlight mainstate=activity active=false scale=0.8 name=bltest position="  0, 0, 40" colour="1.0, 0.65, 0.2, 1.0" width=10 length=1600 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+    </EffectContainer>
+    <EffectContainer condition="brake">
+      <FadingBillboard mainstate=activity active=false scale=0.5 position=" 0, 0, 40" colour="0.8, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      
+    </EffectContainer>
+  </MultiStateEngine>
+</Template>
+

Modified: code/branches/Presentation_FS19/src/modules/hover/Hover.cc
===================================================================
--- code/branches/Presentation_FS19/src/modules/hover/Hover.cc	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/src/modules/hover/Hover.cc	2019-05-22 12:45:31 UTC (rev 12410)
@@ -35,10 +35,21 @@
 
 #include "HoverOrigin.h"
 #include "HoverWall.h"
-#include "HoverFlag.h"
+
 #include "MazeGenerator.h"
 #include "core/CoreIncludes.h"
+#include "worldentities/pawns/Pawn.h"
+#include "worldentities/pawns/ScriptableControllerDrone.h"
+#include "worldentities/pawns/SpaceShip.h"
 
+#include "tools/Timer.h"
+#include "infos/Bot.h"
+#include "worldentities/pawns/ModularSpaceShip.h"
+#include "graphics/Model.h"
+
+
+
+
 namespace orxonox
 {
     RegisterUnloadableClass(Hover);
@@ -48,12 +59,84 @@
         RegisterObject(Hover);
 
         this->origin_ = nullptr;
-        this->numberOfFlags_ = 1;
         this->firstTick_ = true;
 
         this->setHUDTemplate("HoverHUD");
     }
+    // void Hover::spawnZombie(std::string id)
+    // {
+    //     Identifier *identifier = ClassByString("SpaceShip");
 
+    //       if(!identifier)
+    //     {
+    //         orxout(user_error) << "Script tried to spawn unknown object" << std::endl;
+    //         return;
+    //     }
+
+    //     if(!identifier->isLoadable())
+    //     {
+    //         orxout(user_error) << "Script tried to spawn unloadable object" << std::endl;
+    //         return;
+    //     }
+        
+    
+    //     WorldEntity *entity;
+    //     Identifiable *obj = identifier->fabricate(this->controller_->getWorldEntityByID("Player")->getContext());
+
+
+
+    //     orxout(user_status) << "First hit!" << std::endl;
+
+    //    if(obj->isA(ClassIdentifier<WorldEntity>::getIdentifier()))
+    //     {
+    //         orxout(user_status) << "Is WorldEntity!" << std::endl;
+    //         entity = orxonox_cast<WorldEntity*>(obj);
+    //     }
+    //     else if(obj->isA(ClassIdentifier<PlayerInfo>::getIdentifier()))
+    //     {
+    //         // TODO This does not work yet because somehow the controllable entity is not set
+    //         // yet at this stage.
+    // //        entity = orxonox_cast<PlayerInfo*>(obj)->getControllableEntity();
+
+    //         orxout(user_status) << "Is PlayerInfo!" << std::endl;
+
+    //         //use TEMPLATES in the map to define objects that are not present on the map yet
+    //         return;
+    //     }
+    //     else
+    //     {
+    //         orxout(user_warning) << "Script tried to spawn an object that is neither a WorldEntity, nor a PlayerInfo" << std::endl;
+            
+    //         return;
+    //     }
+       
+    //     if(entity->isA(ClassIdentifier<MobileEntity>::getIdentifier())) {
+    //         orxout(user_status) << "Is MobileEntity!" << std::endl;
+    //         this->controller_->registerMobileEntity(id, orxonox_cast<MobileEntity*>(entity));
+    //     }
+
+        
+
+    //     if(entity->isA(ClassIdentifier<Pawn>::getIdentifier())) {
+    //         orxout(user_status) << "Is Pawn!" << std::endl;
+    //         this->controller_->registerPawn(id, orxonox_cast<Pawn*>(entity));
+    //     }
+        
+    //     this->controller_->registerWorldEntity(id, orxonox_cast<WorldEntity*>(entity));
+
+
+    //     ///////////////GOLD!!!!!!!!!!!!!!!////////////////////////
+    //     Pawn* pawn = this->controller_->getPawnByID(id);
+
+    //     //Attach to pawn
+    //     SpaceShip* drone = new SpaceShip(pawn->getContext()); // this is neccessary because the projectiles fired need a valid creator for the particlespawner (when colliding against something)
+        
+    //     drone->addTemplate("spaceshipzombie"); //ScriptableControllerDroneTemplate spaceshipescort
+
+    //     Vector3 spawnPosition = pawn->getWorldPosition() + Vector3(500,20,500);
+    //     drone->setPosition(spawnPosition);
+    // }
+
     void Hover::tick(float dt)
     {
         SUPER(Hover, tick, dt);
@@ -81,35 +164,46 @@
             }
 
             //Generate inner Walls according to levelcode
-            for(int y=0; y<numCells; y++){
-                for(int x=0; x<numCells; x++){
-                    switch(levelcode[ y * numCells + x ]){
-                        case 1: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
-                                break;
-                        case 3: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
-                        case 2: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 0);
-                        default: break;
-                    }
-                }   
-            }
+            // for(int y=0; y<numCells; y++){
+            //     for(int x=0; x<numCells; x++){
+            //         switch(levelcode[ y * numCells + x ]){
+            //             case 1: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
+            //                     break;
+            //             case 3: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
+            //             case 2: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 0);
+            //             default: break;
+            //         }
+            //     }   
+            // }
 
+            
+
+
+
             //Generate 5 flags randomly
-            for ( int i = 0; i < 5; i++ )
-            {
-                HoverFlag* flag = new HoverFlag(origin_->getContext());
-                flag->init(rand()%numCells, rand()%numCells, cellSize);
-                flags_.push_back(flag);
-            }
+            // for ( int i = 0; i < 5; i++ )
+            // {
+            //     HoverFlag* zombieship = new SpaceShip(origin_->getContext());
+            //     flag->init(rand()%numCells, rand()%numCells, cellSize);
+            //     flags_.push_back(flag);
+            // }
 
+
+
         }//firsttick end
 
         // Check if ship collided with one of the flags
-        for ( unsigned int i = 0; i < flags_.size(); i++ ){
-            if(flags_[i]->getCollided()){
-                flags_[i]->destroyLater();
-                flags_.erase (flags_.begin()+i);
-            }
-        }
-        numberOfFlags_ = flags_.size();
+        // for ( unsigned int i = 0; i < flags_.size(); i++ ){
+        //     if(flags_[i]->getCollided()){
+        //         flags_[i]->destroyLater();
+        //         flags_.erase (flags_.begin()+i);
+        //     }
+        // }
+        // numberOfFlags_ = flags_.size();
+
+        //Spawn Zombies
+        //spawnZombie(z1);
+
+
     }
 }

Modified: code/branches/Presentation_FS19/src/modules/hover/Hover.h
===================================================================
--- code/branches/Presentation_FS19/src/modules/hover/Hover.h	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/src/modules/hover/Hover.h	2019-05-22 12:45:31 UTC (rev 12410)
@@ -44,6 +44,10 @@
 
 namespace orxonox
 {
+
+
+   
+
     class _HoverExport Hover : public Gametype
     {
        public:
@@ -57,6 +61,7 @@
             inline int getNumberOfFlags() const
                 { return this->numberOfFlags_; }
 
+
         private:
             WeakPtr<HoverOrigin> origin_;
             std::vector<HoverFlag*> flags_;
@@ -65,4 +70,5 @@
     };
 }
 
+
 #endif /* _Hover_H__ */

Modified: code/branches/Presentation_FS19/src/modules/hover/HoverShip.cc
===================================================================
--- code/branches/Presentation_FS19/src/modules/hover/HoverShip.cc	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/src/modules/hover/HoverShip.cc	2019-05-22 12:45:31 UTC (rev 12410)
@@ -47,11 +47,21 @@
         jumpBoost_ = 0;
     }
 
+    // //moves slightly right and left, that zombieship approaches
+    // void HoverShip::leftright(const Vector2& value)
+    //     {   
+    //         this->steering_.z += 5;
+    //         this->steering_.z -= 5;
+    //     }
+
     void HoverShip::moveFrontBack(const Vector2& value)
         { this->steering_.z -= value.x; }
 
     void HoverShip::moveRightLeft(const Vector2& value)
-        { this->steering_.x += value.x; }
+        { this->steering_.x += value.x;
+            // value.x += 0.001;
+            // value.x -= 0.001;
+        }
 
     void HoverShip::moveUpDown(const Vector2& value)
         { this->steering_.y += value.x; }
@@ -100,6 +110,11 @@
             this->isFloor_ = false;
         }
 
+        if(otherObject->isA(Class(SpaceShip)))
+        {
+            removeHealth(0.2);
+        }
+
         return false;
     }
 

Modified: code/branches/Presentation_FS19/src/modules/hover/HoverShip.h
===================================================================
--- code/branches/Presentation_FS19/src/modules/hover/HoverShip.h	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/src/modules/hover/HoverShip.h	2019-05-22 12:45:31 UTC (rev 12410)
@@ -52,6 +52,9 @@
             inline float getJumpBoost() const
                 { return this->jumpBoost_; }
 
+            /////moves slightly right and left, that zombieship approaches
+            // virtual void leftright(const Vector2& value);
+
             virtual void moveFrontBack(const Vector2& value) override;
 
             virtual void moveRightLeft(const Vector2& value) override;

Modified: code/branches/Presentation_FS19/src/modules/hover/HoverWall.cc
===================================================================
--- code/branches/Presentation_FS19/src/modules/hover/HoverWall.cc	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/src/modules/hover/HoverWall.cc	2019-05-22 12:45:31 UTC (rev 12410)
@@ -1,4 +1,4 @@
-/*
+    /*
  *   ORXONOX - the hottest 3D action shooter ever to exist
  *                    > www.orxonox.net <
  *
@@ -101,14 +101,14 @@
 
 
         model_ = new Model(this->getContext());
-        model_->setMeshSource("CuboidBody.mesh");
-        model_->setScale3D(Vector3(xSize_*1.0f, cellHeight*1.0f, zSize_*1.0f));
+        // model_->setMeshSource("CuboidBody.mesh");
+        model_->setScale3D(Vector3(xSize_*1.0f, cellHeight*400000000.0f, zSize_*1.0f));
         model_->setPosition(Vector3(xPos_*1.0f, 0.0f, zPos_*1.0f));
 
         this->attach(model_);
 
         cs_ = new BoxCollisionShape(this->getContext());
-        cs_->setHalfExtents(Vector3(xSize_*1.0f, cellHeight*1.0f, zSize_*1.0f));
+        cs_->setHalfExtents(Vector3(xSize_*1.0f, cellHeight*400000000.0f, zSize_*1.0f));
         cs_->setPosition(Vector3(xPos_*1.0f, 0.0f, zPos_*1.0f));
 
         this->attachCollisionShape(cs_);

Modified: code/branches/Presentation_FS19/src/modules/weapons/projectiles/CMakeLists.txt
===================================================================
--- code/branches/Presentation_FS19/src/modules/weapons/projectiles/CMakeLists.txt	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/src/modules/weapons/projectiles/CMakeLists.txt	2019-05-22 12:45:31 UTC (rev 12410)
@@ -14,4 +14,5 @@
   GravityBombField.cc
   MineProjectile.cc
   WagnisProjectile.cc
+  HoverGunProjectile.cc
 )

Copied: code/branches/Presentation_FS19/src/modules/weapons/projectiles/HoverGunProjectile.cc (from rev 12409, code/branches/Boxhead_FS19/src/modules/weapons/projectiles/HoverGunProjectile.cc)
===================================================================
--- code/branches/Presentation_FS19/src/modules/weapons/projectiles/HoverGunProjectile.cc	                        (rev 0)
+++ code/branches/Presentation_FS19/src/modules/weapons/projectiles/HoverGunProjectile.cc	2019-05-22 12:45:31 UTC (rev 12410)
@@ -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:
+ *      Fabian 'x3n' Landau
+ *   Co-authors:
+ *      simonmie
+ *
+ */
+
+/**
+    @file HoverGunProjectile.h
+    @brief Implementation of the HoverGunProjectile class.
+*/
+
+#include "HoverGunProjectile.h"
+
+#include "core/config/ConfigValueIncludes.h"
+#include "core/CoreIncludes.h"
+#include "core/GameMode.h"
+#include "core/command/Executor.h"
+
+#include "worldentities/pawns/Pawn.h"
+
+namespace orxonox
+{
+    RegisterClass(HoverGunProjectile);
+
+    HoverGunProjectile::HoverGunProjectile(Context* context) : MovableEntity(context), BasicProjectile()
+    {
+        RegisterObject(HoverGunProjectile);
+
+        this->setConfigValues();
+
+        // Get notification about collisions
+        if (GameMode::isMaster())
+        {
+            this->setMass(0.0000000001f);
+            this->enableCollisionCallback();
+            this->setCollisionResponse(false);
+            this->setCollisionType(CollisionType::Dynamic);
+
+            // Create a sphere collision shape and attach it to the projectile.
+            collisionShape_ = new SphereCollisionShape(this->getContext());
+            setCollisionShapeRadius(2.0f);
+            this->attachCollisionShape(collisionShape_);
+
+            this->destroyTimer_.setTimer(this->lifetime_, false, createExecutor(createFunctor(&BasicProjectile::destroyObject, this)));
+        }
+    }
+
+    HoverGunProjectile::~HoverGunProjectile()
+    {
+    }
+
+    void HoverGunProjectile::setConfigValues()
+    {
+        SetConfigValue(lifetime_, 4.0f).description("The time in seconds a projectile stays alive");
+    }
+
+
+    bool HoverGunProjectile::collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint)
+    {
+        return this->processCollision(otherObject, contactPoint, cs);
+    }
+
+    void HoverGunProjectile::setCollisionShapeRadius(float radius)
+    {
+        if (collisionShape_ != nullptr && radius > 0)
+        {
+            collisionShape_->setRadius(radius);
+        }        
+    }
+}

Copied: code/branches/Presentation_FS19/src/modules/weapons/projectiles/HoverGunProjectile.h (from rev 12409, code/branches/Boxhead_FS19/src/modules/weapons/projectiles/HoverGunProjectile.h)
===================================================================
--- code/branches/Presentation_FS19/src/modules/weapons/projectiles/HoverGunProjectile.h	                        (rev 0)
+++ code/branches/Presentation_FS19/src/modules/weapons/projectiles/HoverGunProjectile.h	2019-05-22 12:45:31 UTC (rev 12410)
@@ -0,0 +1,79 @@
+/*
+ *   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:
+ *      Fabian 'x3n' Landau
+ *   Co-authors:
+ *      simonmie
+ *
+ */
+
+/**
+    @file HoverGunProjectile.h
+    @brief Definition of the HoverGunProjectile class.
+*/
+
+#ifndef _HoverGunProjectile_H__
+#define _HoverGunProjectile_H__
+
+#include "weapons/WeaponsPrereqs.h"
+
+#include "tools/Timer.h"
+#include "worldentities/MovableEntity.h"
+#include "objects/collisionshapes/SphereCollisionShape.h"
+
+#include "BasicProjectile.h"
+
+namespace orxonox
+{
+
+    /**
+    @brief
+        Represents all 'standard' projectiles.
+
+    @author
+        Fabian 'x3n' Landau
+    @author
+        Simon Miescher
+    @ingroup WeaponsProjectiles
+    */
+    class _WeaponsExport HoverGunProjectile : public MovableEntity, public BasicProjectile
+    {
+        public:
+            HoverGunProjectile(Context* context);
+            virtual ~HoverGunProjectile();
+
+            void setConfigValues();
+
+           
+            virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint) override;
+
+        protected:
+            virtual void setCollisionShapeRadius(float radius);
+            float lifetime_; //!< The time the projectile exists.
+
+        private:
+            Timer destroyTimer_; //!< Timer to destroy the projectile after its lifetime has run out.
+            WeakPtr<SphereCollisionShape> collisionShape_; // The collision shape of the projectile.
+    };
+}
+
+#endif /* _Projectile_H__ */

Modified: code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/CMakeLists.txt
===================================================================
--- code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/CMakeLists.txt	2019-05-22 12:16:19 UTC (rev 12409)
+++ code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/CMakeLists.txt	2019-05-22 12:45:31 UTC (rev 12410)
@@ -4,6 +4,7 @@
   LaserFire.cc
   HsW01.cc
   LightningGun.cc
+  HoverGun.cc
   SplitGun.cc
   IceGun.cc
   FlameGun.cc
@@ -13,4 +14,5 @@
   GravityBombFire.cc
   MineGun.cc
   WagnisGun.cc
+  HoverGun.cc
 )

Copied: code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/HoverGun.cc (from rev 12409, code/branches/Boxhead_FS19/src/modules/weapons/weaponmodes/HoverGun.cc)
===================================================================
--- code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/HoverGun.cc	                        (rev 0)
+++ code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/HoverGun.cc	2019-05-22 12:45:31 UTC (rev 12410)
@@ -0,0 +1,147 @@
+/*
+ *   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:
+ *      Hagen Seifert
+ *   Co-authors:
+ *      simonmie
+ *
+ */
+
+/**
+    @file HoverGun.h
+    @brief Implementation of the HoverGun class.
+*/
+
+#include "HoverGun.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "core/command/Executor.h"
+
+#include "graphics/Model.h"
+#include "weaponsystem/Weapon.h"
+#include "weaponsystem/WeaponPack.h"
+#include "weaponsystem/WeaponSystem.h"
+#include "worldentities/WorldEntity.h"
+#include "worldentities/pawns/Pawn.h"
+
+#include "weapons/projectiles/HoverGunProjectile.h"
+#include "weapons/MuzzleFlash.h"
+
+namespace orxonox
+{
+    RegisterClass(HoverGun);
+
+    HoverGun::HoverGun(Context* context) : WeaponMode(context)
+    {
+        RegisterObject(HoverGun);
+
+        this->reloadTime_ = 0.25f;
+        this->damage_ = 0.0f; //default 15
+        this->speed_ = 750.0f;
+        this->delay_ = 0.0f;
+        this->setMunitionName("LaserMunition");
+        this->mesh_ = "laserbeam.mesh";
+
+
+        this->delayTimer_.setTimer(this->delay_, false, createExecutor(createFunctor(&HoverGun::shot, this)));
+        this->delayTimer_.stopTimer();
+
+        this->setFireSound("sounds/Weapon_HsW01.ogg");
+        this->setReloadSound("sounds/Reload_HsW01.ogg", 0.5);
+
+        hudImageString_ = "Orxonox/WSHUD_WM_HsW01";
+    }
+
+    HoverGun::~HoverGun()
+    {
+    }
+
+    void HoverGun::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(HoverGun, XMLPort, xmlelement, mode);
+
+        XMLPortParam(HoverGun, "delay", setDelay, getDelay, xmlelement, mode);
+        XMLPortParam(HoverGun, "material", setMaterial, getMaterial, xmlelement, mode);
+        XMLPortParam(HoverGun, "projectileMesh", setMesh, getMesh, xmlelement, mode);
+        XMLPortParam(HoverGun, "sound", setSound, getSound, xmlelement, mode);
+    }
+
+    /**
+    @brief
+        Set the firing delay.
+    @param delay
+        The firing delay in seconds.
+    */
+    void HoverGun::setDelay(float delay)
+    {
+        this->delay_ = delay;
+        this->delayTimer_.setInterval(this->delay_);
+    }
+
+    void HoverGun::fire()
+    {
+        this->delayTimer_.startTimer();
+    }
+
+    /**
+    @brief
+        Fires the weapon. Creates a projectile and fires it.
+    */
+    void HoverGun::shot()
+    {
+        assert( this->getWeapon() && this->getWeapon()->getWeaponPack() && this->getWeapon()->getWeaponPack()->getWeaponSystem() && this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn() );
+
+        // Create the projectile.
+        HoverGunProjectile* projectile = new HoverGunProjectile(this->getContext());
+        Model* model = new Model(projectile->getContext());
+        model->setMeshSource(mesh_);
+        model->setCastShadows(false);
+        projectile->attach(model);
+        model->setScale(5);
+
+        this->computeMuzzleParameters(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()->getAimPosition());
+        projectile->setOrientation(this->getMuzzleOrientation());
+        projectile->setPosition(this->getMuzzlePosition());
+        projectile->setVelocity(this->getMuzzleDirection() * this->speed_);
+
+        projectile->setShooter(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn());
+        projectile->setDamage(this->getDamage());
+        projectile->setShieldDamage(this->getShieldDamage());
+        projectile->setHealthDamage(this->getHealthDamage());
+
+        // Display the muzzle flash.
+        this->HoverGun::muzzleflash();
+    }
+
+    /**
+    @brief
+        Displays the muzzle flash.
+    */
+    void HoverGun::muzzleflash()
+    {
+        MuzzleFlash *muzzleFlash = new MuzzleFlash(this->getContext());
+        this->getWeapon()->attach(muzzleFlash);
+        muzzleFlash->setPosition(this->getMuzzleOffset());
+        muzzleFlash->setMaterial(this->material_);
+    }
+}

Copied: code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/HoverGun.h (from rev 12409, code/branches/Boxhead_FS19/src/modules/weapons/weaponmodes/HoverGun.h)
===================================================================
--- code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/HoverGun.h	                        (rev 0)
+++ code/branches/Presentation_FS19/src/modules/weapons/weaponmodes/HoverGun.h	2019-05-22 12:45:31 UTC (rev 12410)
@@ -0,0 +1,126 @@
+/*
+ *   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:
+ *      Hagen Seifert
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file HoverGun.h
+    @brief Definition of the HoverGun class.
+*/
+
+#ifndef _HoverGun_H__
+#define _HoverGun_H__
+
+#include "weapons/WeaponsPrereqs.h"
+
+#include "tools/Timer.h"
+#include "weaponsystem/WeaponMode.h"
+
+namespace orxonox
+{
+
+    /**
+    @brief
+        Shoots laser beams.
+    @author
+        Hagen Seifert
+    @ingroup WeaponsWeaponModes
+    */
+    class _WeaponsExport HoverGun : public WeaponMode
+    {
+        public:
+            HoverGun(Context* context);
+            virtual ~HoverGun();
+
+            virtual void fire() override;
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+
+        protected:
+            /**
+            @brief Set the mesh.
+            @param mesh The mesh name.
+            */
+            void setMesh(const std::string& mesh)
+                { this->mesh_ = mesh; }
+
+            /**
+            @brief Get the mesh.
+            @return Returns the mesh name.
+            */
+            const std::string& getMesh() const
+                { return this->mesh_; }
+
+            /**
+            @brief Set the sound.
+            @param sound The Sound name.
+            */
+            void setSound(const std::string& sound)
+                { this->sound_ = sound; }
+
+            /**
+            @brief Get the sound.
+            @return Returns the sound name.
+            */
+            const std::string& getSound() const
+                { return this->sound_; }
+
+            /**
+            @brief Set the material.
+            @param material The material name.
+            */
+            void setMaterial(const std::string& material)
+                { this->material_ = material; }
+            /**
+            @brief Get the material.
+            @return Returns the material name.
+            */
+            const std::string& getMaterial() const
+                { return this->material_; }
+
+            void setDelay(float delay);
+            /**
+            @brief Get the firing delay.
+            @return Returns the firing delay in seconds.
+            */
+            float getDelay() const
+                { return this->delay_; }
+
+            virtual void shot();
+            void muzzleflash();
+
+            std::string material_; //!< The material.
+            std::string mesh_; //!< The mesh.
+            std::string sound_; //!< The sound.
+
+
+
+            float speed_; //!< The speed of the fired projectile.
+            float delay_; //!< The firing delay.
+            Timer delayTimer_; //!< A timer to delay the firing.
+    };
+}
+
+#endif /* _HoverGun_H__ */



More information about the Orxonox-commit mailing list