[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