[Orxonox-commit 6306] r10963 - in code/branches/presentationHS15: . data/levels data/levels/includes data/levels/templates data/particle src/modules/weapons src/modules/weapons/munitions src/modules/weapons/projectiles src/modules/weapons/weaponmodes src/orxonox/weaponsystem
maxima at orxonox.net
maxima at orxonox.net
Wed Dec 9 16:56:39 CET 2015
Author: maxima
Date: 2015-12-09 16:56:39 +0100 (Wed, 09 Dec 2015)
New Revision: 10963
Added:
code/branches/presentationHS15/data/levels/includes/weaponSettingsEscortMine.oxi
code/branches/presentationHS15/data/levels/mineLevel.oxw
code/branches/presentationHS15/data/levels/templates/spaceshipEscortMine.oxt
code/branches/presentationHS15/data/particle/MineExpl.particle
code/branches/presentationHS15/data/particle/MineExpl1.particle
code/branches/presentationHS15/data/particle/MineExpl2.particle
code/branches/presentationHS15/data/particle/engine.particle
code/branches/presentationHS15/data/particle/ice.particle
code/branches/presentationHS15/data/particle/mineparticle.particle
code/branches/presentationHS15/data/particle/psygun.particle
code/branches/presentationHS15/src/modules/weapons/munitions/MineMunition.cc
code/branches/presentationHS15/src/modules/weapons/munitions/MineMunition.h
code/branches/presentationHS15/src/modules/weapons/projectiles/MineProjectile.cc
code/branches/presentationHS15/src/modules/weapons/projectiles/MineProjectile.h
code/branches/presentationHS15/src/modules/weapons/weaponmodes/MineGun.cc
code/branches/presentationHS15/src/modules/weapons/weaponmodes/MineGun.h
Modified:
code/branches/presentationHS15/
code/branches/presentationHS15/data/levels/emptyLevel.oxw
code/branches/presentationHS15/data/levels/includes/weaponSettingsAssff2.oxi
code/branches/presentationHS15/data/levels/pong.oxw
code/branches/presentationHS15/data/levels/templates/spaceshipEscort.oxt
code/branches/presentationHS15/data/particle/engineglow.particle
code/branches/presentationHS15/data/particle/rocketfire.particle
code/branches/presentationHS15/src/modules/weapons/WeaponsPrereqs.h
code/branches/presentationHS15/src/modules/weapons/munitions/CMakeLists.txt
code/branches/presentationHS15/src/modules/weapons/projectiles/CMakeLists.txt
code/branches/presentationHS15/src/modules/weapons/projectiles/IceGunProjectile.cc
code/branches/presentationHS15/src/modules/weapons/projectiles/IceGunProjectile.h
code/branches/presentationHS15/src/modules/weapons/projectiles/Projectile.h
code/branches/presentationHS15/src/modules/weapons/weaponmodes/CMakeLists.txt
code/branches/presentationHS15/src/orxonox/weaponsystem/WeaponMode.cc
Log:
Merged presentation and particleEffects branches. Added a new level, spaceshiptemplate and weaponsettings for the mine.
Property changes on: code/branches/presentationHS15
___________________________________________________________________
Modified: svn:mergeinfo
- /code/branches/ParticleEffectsFS15:10309-10612
/code/branches/Racingbot:9388-9513
/code/branches/SciptableControllerFS15:10308-10613
/code/branches/ScriptableController:9999-10075
/code/branches/ai:6592-7033
/code/branches/ai2:8721-8880
/code/branches/bigships:8137-8588
/code/branches/buildsystem:1874-2276,2278-2400
/code/branches/buildsystem2:2506-2658
/code/branches/buildsystem3:2662-2708
/code/branches/ceguilua:1802-1808
/code/branches/chat:6527-6797
/code/branches/chat2:6836-6910
/code/branches/clangenb:10385-10609
/code/branches/console:5941-6104
/code/branches/consolecommands2:6451-7178
/code/branches/consolecommands3:7178-7283
/code/branches/core3:1572-1739
/code/branches/core4:3221-3224,3227,3234-3238,3242,3244-3250,3252-3254,3256,3259-3261,3264-3265,3268-3275,3277-3278,3280,3284-3285,3287,3289-3294,3305,3309-3310
/code/branches/core5:5768-5928,6009
/code/branches/core6:9552-9666
/code/branches/core7:10328-10623
/code/branches/data_cleanup:7537-7686
/code/branches/doc:7290-7400
/code/branches/dockingsystem:8101-8192
/code/branches/dockingsystem2:8196-8560
/code/branches/dynamicmatch:6584-7030
/code/branches/environment3:8887-8975
/code/branches/explosionChunksHS15:10641-10961
/code/branches/fabienHS15:10685-10960
/code/branches/formation:8885-8991
/code/branches/formationFS15:10320-10610
/code/branches/formationupdate:9580-9624
/code/branches/fps:6591-7072
/code/branches/gamecontent:8893-8968
/code/branches/gameimmersion:8102-8577
/code/branches/gamestate:6430-6572,6621-6661
/code/branches/gamestates2:6594-6745
/code/branches/gametypes:2826-3031
/code/branches/gcc43:1580
/code/branches/gui:1635-1723,2795-2894
/code/branches/hoverHS15:10633-10959
/code/branches/hud:8883-8986
/code/branches/hudHS14:10083-10241
/code/branches/hudelements:6584-6941
/code/branches/hudimprovements:7920-8672
/code/branches/ingamemenu:6000-6023
/code/branches/input:1629-1636
/code/branches/invaders:9694-9896
/code/branches/ipv6:7293-7458
/code/branches/keckslevelHS14:10082-10222
/code/branches/kicklib:7940-8096,8098-8277
/code/branches/kicklib2:8282-8350
/code/branches/largeShip1:9384-9515
/code/branches/lastmanstanding:7479-7644
/code/branches/lastmanstanding3:7903-8175
/code/branches/levelElias:9697-9921
/code/branches/levelKaan:9695-9921
/code/branches/levelMichael:9696-9921
/code/branches/leveljoemeHS14:10087-10223
/code/branches/libraries:5612-5692
/code/branches/libraries2:5703-5737
/code/branches/libs:9668-9674
/code/branches/lod:6586-6911
/code/branches/lodfinal:2372-2411
/code/branches/mac_osx:7789-8128,8135
/code/branches/map:2801-3086,3089
/code/branches/masterserver:7502-7738
/code/branches/masterserverfix:8933-8936
/code/branches/menu:5941-6146,6148,7536-7687
/code/branches/menue:8884-8976
/code/branches/minigame4DHS14:10081-10230
/code/branches/miniprojects:2754-2824
/code/branches/modularships:9994-10071
/code/branches/multiplayerFS15:10324-10611
/code/branches/netp2:2835-2988
/code/branches/netp3:2988-3082
/code/branches/netp6:3214-3302
/code/branches/network:2356
/code/branches/network2:6434-6465
/code/branches/network3:7196-7344
/code/branches/network4:7497-7755
/code/branches/network5:7757-7781
/code/branches/network6:7823-8315
/code/branches/network64:2210-2355
/code/branches/newlevel2012:9033-9244
/code/branches/notifications:7314-7401
/code/branches/objecthierarchy:1911-2085,2100,2110-2169
/code/branches/objecthierarchy2:2171-2479
/code/branches/ois_update:7506-7788
/code/branches/output:8739-8857
/code/branches/overlay:2117-2385
/code/branches/pCuts:9023-9284
/code/branches/particles:2829-3085
/code/branches/particles2:6050-6106,6109
/code/branches/pch:3113-3194
/code/branches/physics:1912-2055,2107-2439
/code/branches/physics_merge:2436-2457
/code/branches/pickup:8145-8555
/code/branches/pickup2:5942-6405
/code/branches/pickup2012:9029-9189
/code/branches/pickup3:6418-6523
/code/branches/pickup4:6594-6710
/code/branches/pickups:1926-2086,2127,2827-2915
/code/branches/pickups2:2107-2497,2915-3071
/code/branches/pickupsFS14:10000-10259
/code/branches/png2:7262-7263
/code/branches/portals:8087-8455
/code/branches/portals2:8460-8602
/code/branches/ppspickups1:6552-6708
/code/branches/ppspickups2:6527-6532,6554-6709
/code/branches/ppspickups3:6757-6997
/code/branches/ppspickups4:7003-7089
/code/branches/presentation:2369-2652,2654-2660,7736-7786,8500-8705
/code/branches/presentation2:6106-6416,7787-7800
/code/branches/presentation2011:8974-9015
/code/branches/presentation2012:9189-9268
/code/branches/presentation2012merge:9266-9347
/code/branches/presentation3:6913-7162
/code/branches/presentationFS14:10069-10215
/code/branches/presentationFS15:10499
/code/branches/presentationFS15merge:10595-10621
/code/branches/presentationHS12:9481-9525
/code/branches/presentationHS13:9891-9938
/code/branches/presentationHS14merge:10222-10257
/code/branches/questsystem:1894-2088
/code/branches/questsystem2:2107-2259
/code/branches/questsystem5:2776-2905
/code/branches/radarDreiD:9690-9901
/code/branches/releasetodo:7614-7647
/code/branches/resource:3327-3366
/code/branches/resource2:3372-5694
/code/branches/rocket:6523-6950
/code/branches/rocket2:6953-6970
/code/branches/script_trigger:1295-1953,1955
/code/branches/sfxThilo:9691-9917
/code/branches/shipSelection:9038-9206
/code/branches/skybox2:6559-6989
/code/branches/sound:2829-3010
/code/branches/sound2012:9205-9214
/code/branches/sound3:5941-6102
/code/branches/spaceNavigation:9381-9497
/code/branches/spaceboundaries:8085-8457
/code/branches/spaceboundaries2:8460-8613
/code/branches/spacerace:8182-8630
/code/branches/spaceraceTwo:8881-8996
/code/branches/spacestationentry:9699-9905
/code/branches/steering:5949-6091,8140-8595
/code/branches/storymodeHS14:10085-10254
/code/branches/surfaceRace:9028-9199
/code/branches/surfaceraceHS14:10080-10236
/code/branches/testing:9015-9549
/code/branches/tetris:8100-8563
/code/branches/towerdefenseFS15:10283-10614
/code/branches/towerdefenseHS14:10086-10247
/code/branches/turret:9380-9501
/code/branches/turretFS14:9998-10070
/code/branches/tutoriallevel:7827-8370
/code/branches/tutoriallevel2:8370-8452
/code/branches/tutoriallevel3:8453-8636
/code/branches/unity_build:8440-8716
/code/branches/usability:7915-8078
/code/branches/weapon:1925-2094
/code/branches/weapon2:2107-2488
/code/branches/weaponFS15:10302-10615
/code/branches/weapons:2897-3051,8143-8591
/code/branches/weaponsystem:2742-2890
/code/branches/weaponupdateHS14:10084-10237
+ /code/branches/ParticleEffectsFS15:10309-10612
/code/branches/Racingbot:9388-9513
/code/branches/SciptableControllerFS15:10308-10613
/code/branches/ScriptableController:9999-10075
/code/branches/ai:6592-7033
/code/branches/ai2:8721-8880
/code/branches/bigships:8137-8588
/code/branches/buildsystem:1874-2276,2278-2400
/code/branches/buildsystem2:2506-2658
/code/branches/buildsystem3:2662-2708
/code/branches/ceguilua:1802-1808
/code/branches/chat:6527-6797
/code/branches/chat2:6836-6910
/code/branches/clangenb:10385-10609
/code/branches/console:5941-6104
/code/branches/consolecommands2:6451-7178
/code/branches/consolecommands3:7178-7283
/code/branches/core3:1572-1739
/code/branches/core4:3221-3224,3227,3234-3238,3242,3244-3250,3252-3254,3256,3259-3261,3264-3265,3268-3275,3277-3278,3280,3284-3285,3287,3289-3294,3305,3309-3310
/code/branches/core5:5768-5928,6009
/code/branches/core6:9552-9666
/code/branches/core7:10328-10623
/code/branches/data_cleanup:7537-7686
/code/branches/doc:7290-7400
/code/branches/dockingsystem:8101-8192
/code/branches/dockingsystem2:8196-8560
/code/branches/dynamicmatch:6584-7030
/code/branches/environment3:8887-8975
/code/branches/explosionChunksHS15:10641-10961
/code/branches/fabienHS15:10685-10960
/code/branches/formation:8885-8991
/code/branches/formationFS15:10320-10610
/code/branches/formationupdate:9580-9624
/code/branches/fps:6591-7072
/code/branches/gamecontent:8893-8968
/code/branches/gameimmersion:8102-8577
/code/branches/gamestate:6430-6572,6621-6661
/code/branches/gamestates2:6594-6745
/code/branches/gametypes:2826-3031
/code/branches/gcc43:1580
/code/branches/gui:1635-1723,2795-2894
/code/branches/hoverHS15:10633-10959
/code/branches/hud:8883-8986
/code/branches/hudHS14:10083-10241
/code/branches/hudelements:6584-6941
/code/branches/hudimprovements:7920-8672
/code/branches/ingamemenu:6000-6023
/code/branches/input:1629-1636
/code/branches/invaders:9694-9896
/code/branches/ipv6:7293-7458
/code/branches/keckslevelHS14:10082-10222
/code/branches/kicklib:7940-8096,8098-8277
/code/branches/kicklib2:8282-8350
/code/branches/largeShip1:9384-9515
/code/branches/lastmanstanding:7479-7644
/code/branches/lastmanstanding3:7903-8175
/code/branches/levelElias:9697-9921
/code/branches/levelKaan:9695-9921
/code/branches/levelMichael:9696-9921
/code/branches/leveljoemeHS14:10087-10223
/code/branches/libraries:5612-5692
/code/branches/libraries2:5703-5737
/code/branches/libs:9668-9674
/code/branches/lod:6586-6911
/code/branches/lodfinal:2372-2411
/code/branches/mac_osx:7789-8128,8135
/code/branches/map:2801-3086,3089
/code/branches/masterserver:7502-7738
/code/branches/masterserverfix:8933-8936
/code/branches/menu:5941-6146,6148,7536-7687
/code/branches/menue:8884-8976
/code/branches/minigame4DHS14:10081-10230
/code/branches/miniprojects:2754-2824
/code/branches/modularships:9994-10071
/code/branches/multiplayerFS15:10324-10611
/code/branches/netp2:2835-2988
/code/branches/netp3:2988-3082
/code/branches/netp6:3214-3302
/code/branches/network:2356
/code/branches/network2:6434-6465
/code/branches/network3:7196-7344
/code/branches/network4:7497-7755
/code/branches/network5:7757-7781
/code/branches/network6:7823-8315
/code/branches/network64:2210-2355
/code/branches/newlevel2012:9033-9244
/code/branches/notifications:7314-7401
/code/branches/objecthierarchy:1911-2085,2100,2110-2169
/code/branches/objecthierarchy2:2171-2479
/code/branches/ois_update:7506-7788
/code/branches/output:8739-8857
/code/branches/overlay:2117-2385
/code/branches/pCuts:9023-9284
/code/branches/particleEffectsHS15:10644-10962
/code/branches/particles:2829-3085
/code/branches/particles2:6050-6106,6109
/code/branches/pch:3113-3194
/code/branches/physics:1912-2055,2107-2439
/code/branches/physics_merge:2436-2457
/code/branches/pickup:8145-8555
/code/branches/pickup2:5942-6405
/code/branches/pickup2012:9029-9189
/code/branches/pickup3:6418-6523
/code/branches/pickup4:6594-6710
/code/branches/pickups:1926-2086,2127,2827-2915
/code/branches/pickups2:2107-2497,2915-3071
/code/branches/pickupsFS14:10000-10259
/code/branches/png2:7262-7263
/code/branches/portals:8087-8455
/code/branches/portals2:8460-8602
/code/branches/ppspickups1:6552-6708
/code/branches/ppspickups2:6527-6532,6554-6709
/code/branches/ppspickups3:6757-6997
/code/branches/ppspickups4:7003-7089
/code/branches/presentation:2369-2652,2654-2660,7736-7786,8500-8705
/code/branches/presentation2:6106-6416,7787-7800
/code/branches/presentation2011:8974-9015
/code/branches/presentation2012:9189-9268
/code/branches/presentation2012merge:9266-9347
/code/branches/presentation3:6913-7162
/code/branches/presentationFS14:10069-10215
/code/branches/presentationFS15:10499
/code/branches/presentationFS15merge:10595-10621
/code/branches/presentationHS12:9481-9525
/code/branches/presentationHS13:9891-9938
/code/branches/presentationHS14merge:10222-10257
/code/branches/questsystem:1894-2088
/code/branches/questsystem2:2107-2259
/code/branches/questsystem5:2776-2905
/code/branches/radarDreiD:9690-9901
/code/branches/releasetodo:7614-7647
/code/branches/resource:3327-3366
/code/branches/resource2:3372-5694
/code/branches/rocket:6523-6950
/code/branches/rocket2:6953-6970
/code/branches/script_trigger:1295-1953,1955
/code/branches/sfxThilo:9691-9917
/code/branches/shipSelection:9038-9206
/code/branches/skybox2:6559-6989
/code/branches/sound:2829-3010
/code/branches/sound2012:9205-9214
/code/branches/sound3:5941-6102
/code/branches/spaceNavigation:9381-9497
/code/branches/spaceboundaries:8085-8457
/code/branches/spaceboundaries2:8460-8613
/code/branches/spacerace:8182-8630
/code/branches/spaceraceTwo:8881-8996
/code/branches/spacestationentry:9699-9905
/code/branches/steering:5949-6091,8140-8595
/code/branches/storymodeHS14:10085-10254
/code/branches/surfaceRace:9028-9199
/code/branches/surfaceraceHS14:10080-10236
/code/branches/testing:9015-9549
/code/branches/tetris:8100-8563
/code/branches/towerdefenseFS15:10283-10614
/code/branches/towerdefenseHS14:10086-10247
/code/branches/turret:9380-9501
/code/branches/turretFS14:9998-10070
/code/branches/tutoriallevel:7827-8370
/code/branches/tutoriallevel2:8370-8452
/code/branches/tutoriallevel3:8453-8636
/code/branches/unity_build:8440-8716
/code/branches/usability:7915-8078
/code/branches/weapon:1925-2094
/code/branches/weapon2:2107-2488
/code/branches/weaponFS15:10302-10615
/code/branches/weapons:2897-3051,8143-8591
/code/branches/weaponsystem:2742-2890
/code/branches/weaponupdateHS14:10084-10237
Modified: code/branches/presentationHS15/data/levels/emptyLevel.oxw
===================================================================
--- code/branches/presentationHS15/data/levels/emptyLevel.oxw 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/data/levels/emptyLevel.oxw 2015-12-09 15:56:39 UTC (rev 10963)
@@ -12,9 +12,7 @@
?>
<?lua
- include("templates/spaceshipAssff.oxt")
include("templates/spaceshipEscort.oxt")
- include("templates/spaceshipHover.oxt")
?>
<Level>
@@ -31,35 +29,7 @@
<Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/>
<SpawnPoint team=0 position="-200,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipescort />
- <SpaceShip
- team = "1"
- position = "1000,0,0"
- >
- <templates>
- <Template link=spaceshipassff />
- </templates>
- </SpaceShip>
- <SpaceShip
- team = "1"
- position = "1000,200,0"
- >
- <templates>
- <Template link=spaceshiphover />
- </templates>
-
- </SpaceShip>
- <SpaceShip
- team = "1"
- position = "1000,400,0"
- >
- <templates>
- <Template link=spaceshipescort />
- </templates>
-
-
- </SpaceShip>
-
</Scene>
</Level>
Modified: code/branches/presentationHS15/data/levels/includes/weaponSettingsAssff2.oxi
===================================================================
--- code/branches/presentationHS15/data/levels/includes/weaponSettingsAssff2.oxi 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/data/levels/includes/weaponSettingsAssff2.oxi 2015-12-09 15:56:39 UTC (rev 10963)
@@ -1,4 +1,4 @@
- <weaponslots>
+t <weaponslots>
<WeaponSlot position="-15.0,-1.5,0" />
<WeaponSlot position=" 15.0,-1.5,0" />
<WeaponSlot position=" 0, 0,0" />
Added: code/branches/presentationHS15/data/levels/includes/weaponSettingsEscortMine.oxi
===================================================================
--- code/branches/presentationHS15/data/levels/includes/weaponSettingsEscortMine.oxi (rev 0)
+++ code/branches/presentationHS15/data/levels/includes/weaponSettingsEscortMine.oxi 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,34 @@
+ <weaponslots>
+ <WeaponSlot position="-9.2,2,-13" />
+ <WeaponSlot position=" 9.2,2,-13" />
+ </weaponslots>
+ <weaponsets>
+ <WeaponSet firemode=0 />
+ <WeaponSet firemode=1 />
+ </weaponsets>
+ <weaponpacks>
+ <WeaponPack>
+ <links>
+ <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
+ <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
+ </links>
+ <Weapon>
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" projectileMesh="LaserBeam2.mesh" />
+ <MineGun mode=0 munitionpershot=1 delay=0.125 damage=50 shielddamage=15 healthdamage=10 muzzleoffset=" 0.1, 1.4,-10" maxtimeuntilexplosion=25 timeuntilactivation=2.5/>
+ </Weapon>
+ <Weapon>
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" projectileMesh="LaserBeam2.mesh" />
+ <IceGun mode=0 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset=" 0.1, 1.4,-3" freezefactor=0.5 freezetime=2.0 />
+ </Weapon>
+ </WeaponPack>
+ <WeaponPack>
+ <links>
+ <DefaultWeaponmodeLink firemode=1 weaponmode=0 />
+ </links>
+ </WeaponPack>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/>
+ <IceMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/>
+ <MineMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/>
+ </munition>
Added: code/branches/presentationHS15/data/levels/mineLevel.oxw
===================================================================
--- code/branches/presentationHS15/data/levels/mineLevel.oxw (rev 0)
+++ code/branches/presentationHS15/data/levels/mineLevel.oxw 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,64 @@
+ <LevelInfo
+ name = "Mine level"
+ description = "A test level with the new mine weapon."
+ tags = "test"
+ screenshot = "emptylevel.png"
+/>
+
+<?lua
+ include("stats.oxo")
+ include("HUDTemplates3.oxo")
+ include("templates/lodInformation.oxt")
+?>
+
+<?lua
+ include("templates/spaceshipAssff.oxt")
+ include("templates/spaceshipEscortMine.oxt")
+ include("templates/spaceshipHover.oxt")
+?>
+
+<Level>
+ <templates>
+ <Template link=lodtemplate_default />
+ </templates>
+ <?lua include("includes/notifications.oxi") ?>
+
+ <Scene
+ ambientlight = "0.8, 0.8, 0.8"
+ skybox = "Orxonox/Starbox"
+ >
+
+ <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/>
+ <SpawnPoint team=0 position="-200,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipescortmine />
+
+ <Pawn team=1 health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box RVName = "Box 4" >
+ <events>
+ <visibility>
+ <EventListener event="flying4" />
+ </visibility>
+ </events>
+ <attached>
+ <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
+ </attached>
+ <collisionShapes>
+ <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
+ </collisionShapes>
+ </Pawn>
+
+ <Pawn team=1 health=30 position="0,200,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box RVName = "Box 3">
+ <events>
+ <visibility>
+ <EventListener event="flying4" />
+ </visibility>
+ </events>
+ <attached>
+ <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
+ </attached>
+ <collisionShapes>
+ <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
+ </collisionShapes>
+ </Pawn>
+
+ </Scene>
+</Level>
+
Modified: code/branches/presentationHS15/data/levels/pong.oxw
===================================================================
--- code/branches/presentationHS15/data/levels/pong.oxw 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/data/levels/pong.oxw 2015-12-09 15:56:39 UTC (rev 10963)
@@ -42,7 +42,7 @@
<!--Billboard scale=0.2 colour="1.0, 1.0, 0.5" material="Examples/Flare" /-->
<Backlight scale=0.2 colour="1.0, 1.0, 0.5" width=7 length=500 lifetime=0.3 elements=20 trailmaterial="Trail/backlighttrail" material="Examples/Flare" />
<Light type=point diffuse="1.0, 1.0, 0.5" specular="1.0, 1.0, 0.5" attenuation="1200, 1.0, 0.0035, 0.00005" />
- <ParticleSpawner name=hiteffect position="0,0,0" source="Orxonox/sparks2" lifetime=0.01 autostart=0 mainstate=spawn />
+ <ParticleSpawner name=hiteffect position="0,0,0" source="Orxonox/engineglow" lifetime=0.01 autostart=0 mainstate=spawn />
</attached>
<eventlisteners>
<EventTarget target=hiteffect />
Modified: code/branches/presentationHS15/data/levels/templates/spaceshipEscort.oxt
===================================================================
--- code/branches/presentationHS15/data/levels/templates/spaceshipEscort.oxt 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/data/levels/templates/spaceshipEscort.oxt 2015-12-09 15:56:39 UTC (rev 10963)
@@ -103,6 +103,12 @@
>
<EffectContainer condition="idle">
<WorldSound mainstate="activity" source="sounds/Engine_idle.ogg" looping=1 active=false/>
+ />
+
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, -2, 14" colour="0.2, 0.5, 0.65, 1.0" width=150 length=15 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=2 turnofftime=1 material="Flares/ThrusterFlare1" />
+
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, -2, 14" colour="0.2, 0.5, 0.65, 1.0" width=15 length=15 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=2 turnofftime=1 material="Flares/ThrusterFlare1" />
+
</EffectContainer>
<EffectContainer condition="not idle">
<FadingBillboard mainstate=activity active=false scale=0.09 position="12, -2, 13" colour="0.2, 1.0, 0.65, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
@@ -111,10 +117,15 @@
<EffectContainer condition="normal or brake">
</EffectContainer>
+
<EffectContainer condition="normal or boost">
- <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, 0, 10" colour="0.2, 1.0, 0.65, 1.0" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
- <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, 0, 10" colour="0.2, 1.0, 0.65, 1.0" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+
+
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, -2, 14" colour="0.2, 1.0, 0.65, 1.0" width=5 length=1500 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, -2, 14" colour="0.2, 1.0, 0.65, 1.0" width=15 length=1500 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
</EffectContainer>
+
<EffectContainer condition="boost">
<Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, 0, 10" colour="0.6, 0.8, 0.75, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
<Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, 0, 10" colour="0.6, 0.8, 0.75, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
Added: code/branches/presentationHS15/data/levels/templates/spaceshipEscortMine.oxt
===================================================================
--- code/branches/presentationHS15/data/levels/templates/spaceshipEscortMine.oxt (rev 0)
+++ code/branches/presentationHS15/data/levels/templates/spaceshipEscortMine.oxt 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,135 @@
+<Template name=spaceshipescortmine>
+ <SpaceShip
+ hudtemplate = spaceshiphud
+ camerapositiontemplate = spaceshipescortcameras
+ spawnparticlesource = "Orxonox/fairytwirl"
+ spawnparticleduration = 3
+ explosionchunks = 10
+
+ health = 80
+ maxhealth = 200
+ initialhealth = 80
+
+ shieldhealth = 35
+ initialshieldhealth = 35
+ maxshieldhealth = 60
+ shieldabsorption = 0.9
+ shieldrechargerate = 1
+ shieldrechargewaittime = 1
+
+ primaryThrust = 150
+ auxilaryThrust = 30
+ rotationThrust = 50
+
+ lift = 1;
+ stallSpeed = 220;
+
+ boostPower = 20
+ boostPowerRate = 1
+ boostRate = 5
+ boostCooldownDuration = 10
+
+ shakeFrequency = 15
+ shakeAmplitude = 6
+
+ collisionType = "dynamic"
+ mass = 80
+ linearDamping = 0.7
+ angularDamping = 0.9999999
+ >
+ <engines>
+ <MultiStateEngine position=" 7.6, 0, 6" template=spaceshipescortengine />
+ <MultiStateEngine position="-7.6, 0, 0" template=spaceshipescortengine />
+ </engines>
+ <attached>
+ <Model position="0,0,0" yaw=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" />
+<!--Model mesh="cube.mesh" mass=10 position="0,0,3" scale3D="10,4,8" />
+<Model mesh="cube.mesh" mass=10 position="12.6,-2,3" scale3D="2.8,2.8,11" />
+<Model mesh="cube.mesh" mass=10 position="-12.6,-2,3" scale3D="2.8,2.8,11" />
+<Model mesh="cube.mesh" mass=10 position="0,0,-12" scale3D="4,4,7" /-->
+ </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 mesh="explosionparts/escort_part_1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+ <ExplosionPart mesh="explosionparts/escort_part_2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+ <ExplosionPart mesh="explosionparts/escort_part_3.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+ <ExplosionPart mesh="explosionparts/escort_part_4.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+ <ExplosionPart mesh="explosionparts/escort_part_5.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+ <ExplosionPart mesh="explosionparts/escort_part_6.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
+ </explosion>
+<?lua
+ include("../includes/weaponSettingsEscortMine.oxi")
+?>
+ </SpaceShip>
+</Template>
+
+<Template name=spaceshipescortcameras defaults=0>
+ <SpaceShip>
+ <camerapositions>
+ <CameraPosition position="0,15, 60" drag=true mouselook=true />
+ <CameraPosition position="0,20, 90" drag=true mouselook=true />
+ <CameraPosition position="0,30,120" drag=true mouselook=true />
+ </camerapositions>
+ </SpaceShip>
+</Template>
+
+<Template name=spaceshipescortengine baseclass=MultiStateEngine>
+ <MultiStateEngine
+ boostfactor = 2.2
+
+ speedfront = 200
+ speedback = 70
+ speedleftright = 70
+ speedupdown = 70
+
+ defEngineSndNormal = "sounds/Engine_low.ogg"
+ defEngineSndBoost = "sounds/Engine_high.ogg"
+
+ accelerationfront = 700
+ accelerationbrake = 700
+ accelerationback = 125
+ accelerationleftright = 125
+ accelerationupdown = 125
+ >
+ <EffectContainer condition="idle">
+ <WorldSound mainstate="activity" source="sounds/Engine_idle.ogg" looping=1 active=false/>
+ />
+
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, -2, 14" colour="0.2, 0.5, 0.65, 1.0" width=150 length=15 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=2 turnofftime=1 material="Flares/ThrusterFlare1" />
+
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, -2, 14" colour="0.2, 0.5, 0.65, 1.0" width=15 length=15 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=2 turnofftime=1 material="Flares/ThrusterFlare1" />
+
+ </EffectContainer>
+ <EffectContainer condition="not idle">
+ <FadingBillboard mainstate=activity active=false scale=0.09 position="12, -2, 13" colour="0.2, 1.0, 0.65, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+ <FadingBillboard mainstate=activity active=false scale=0.09 position="-12, -2, 13" colour="0.2, 1.0, 0.65, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+ </EffectContainer>
+ <EffectContainer condition="normal or brake">
+
+ </EffectContainer>
+
+ <EffectContainer condition="normal or boost">
+
+
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, -2, 14" colour="0.2, 1.0, 0.65, 1.0" width=5 length=1500 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, -2, 14" colour="0.2, 1.0, 0.65, 1.0" width=15 length=1500 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+ </EffectContainer>
+
+ <EffectContainer condition="boost">
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, 0, 10" colour="0.6, 0.8, 0.75, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+ <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, 0, 10" colour="0.6, 0.8, 0.75, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+ </EffectContainer>
+
+ </MultiStateEngine>
+</Template>
Copied: code/branches/presentationHS15/data/particle/MineExpl.particle (from rev 10962, code/branches/particleEffectsHS15/data/particle/MineExpl.particle)
===================================================================
--- code/branches/presentationHS15/data/particle/MineExpl.particle (rev 0)
+++ code/branches/presentationHS15/data/particle/MineExpl.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,95 @@
+particle_system Orxonox/MineExpl
+{
+ material PE/lensflare
+ particle_width 65.0
+ particle_height 40.0
+ quota 500
+ cull_each false
+ sorted false
+ local_space false
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type vertex
+ point_rendering false
+ accurate_facing false
+
+ emitter Point
+ {
+ position 0.0 0.0 0.0
+ direction -1.0 0.0 0.0
+ angle 55
+ emission_rate 1250
+ velocity_min 300
+ velocity_max 300
+ time_to_live_min 1
+ time_to_live_max 2
+ duration_min 0.1
+ duration_max 0.1
+ repeat_delay_min 10
+ repeat_delay_max 10
+ colour_range_start 0 0.333333 1 1
+ colour_range_end 0 0.333333 1 1
+ }
+
+ emitter Point
+ {
+ position 0.0 0.0 0.0
+ direction 1.0 0.0 0.0
+ angle 55
+ emission_rate 200
+ velocity_min 300
+ velocity_max 300
+ time_to_live_min 2
+ time_to_live_max 2.5
+ duration_min 0.1
+ duration_max 0.1
+ repeat_delay_min 10
+ repeat_delay_max 10
+ colour_range_start 0 0.333333 1 1
+ colour_range_end 0 0.333333 1 1
+ }
+
+ emitter Point
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 -1.0
+ angle 55
+ emission_rate 1250
+ velocity_min 300
+ velocity_max 300
+ time_to_live_min 2
+ time_to_live_max 2.5
+ duration_min 0.1
+ duration_max 0.1
+ repeat_delay_min 10
+ repeat_delay_max 10
+ colour_range_start 0 0.333333 1 1
+ colour_range_end 0 0.333333 1 1
+ }
+
+ emitter Point
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 1.0
+ angle 55
+ emission_rate 1250
+ velocity_min 300
+ velocity_max 300
+ time_to_live_min 2
+ time_to_live_max 2.5
+ duration_min 0.1
+ duration_max 0.1
+ repeat_delay_min 10
+ repeat_delay_max 10
+ colour_range_start 0 0.333333 1 1
+ colour_range_end 0 0.333333 1 1
+ }
+
+
+ affector Scaler
+ {
+ rate -2
+ }
+}
Copied: code/branches/presentationHS15/data/particle/MineExpl1.particle (from rev 10962, code/branches/particleEffectsHS15/data/particle/MineExpl1.particle)
===================================================================
--- code/branches/presentationHS15/data/particle/MineExpl1.particle (rev 0)
+++ code/branches/presentationHS15/data/particle/MineExpl1.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,47 @@
+particle_system Orxonox/MineExpl1
+{
+ material PE/lensflare
+ particle_width 35.0
+ particle_height 35.0
+ quota 500
+ cull_each false
+ sorted false
+ local_space false
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type vertex
+ point_rendering false
+ accurate_facing false
+
+ emitter Point
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 1.0 0.0
+ angle 30
+ emission_rate 2000
+ velocity_min 300
+ velocity_max 300
+ time_to_live_min 3
+ time_to_live_max 4
+ duration_min 2.0
+ duration_max 2.5
+ repeat_delay 10
+ repeat_delay_min 10
+ repeat_delay_max 10
+ colour_range_start 0 0.333333 1 1
+ colour_range_end 0 0.333333 1 1
+ }
+
+ affector DirectionRandomiser
+ {
+ randomness 5
+ scope 1
+ keep_velocity true
+ }
+ affector Scaler
+ {
+ rate -2
+ }
+}
Copied: code/branches/presentationHS15/data/particle/MineExpl2.particle (from rev 10962, code/branches/particleEffectsHS15/data/particle/MineExpl2.particle)
===================================================================
--- code/branches/presentationHS15/data/particle/MineExpl2.particle (rev 0)
+++ code/branches/presentationHS15/data/particle/MineExpl2.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,47 @@
+particle_system Orxonox/MineExpl2
+{
+ material PE/lensflare
+ particle_width 35.0
+ particle_height 35.0
+ quota 500
+ cull_each false
+ sorted false
+ local_space false
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type vertex
+ point_rendering false
+ accurate_facing false
+
+ emitter Point
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 -1.0 0.0
+ angle 30
+ emission_rate 2000
+ velocity_min 300
+ velocity_max 300
+ time_to_live_min 2
+ time_to_live_max 2.5
+ duration_min 0.5
+ duration_max 1.5
+ repeat_delay 10
+ repeat_delay_min 10
+ repeat_delay_max 10
+ colour_range_start 0 0.333333 1 1
+ colour_range_end 0 0.333333 1 1
+ }
+
+ affector DirectionRandomiser
+ {
+ randomness 5
+ scope 1
+ keep_velocity true
+ }
+ affector Scaler
+ {
+ rate -2
+ }
+}
Copied: code/branches/presentationHS15/data/particle/engine.particle (from rev 10962, code/branches/particleEffectsHS15/data/particle/engine.particle)
===================================================================
--- code/branches/presentationHS15/data/particle/engine.particle (rev 0)
+++ code/branches/presentationHS15/data/particle/engine.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,70 @@
+particle_system Orxonox/engine
+{
+ material PE/Special.001
+ particle_width 10.0
+ particle_height 10.0
+ quota 2000
+ cull_each false
+ sorted false
+ local_space false
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ point_rendering false
+ accurate_facing false
+
+
+
+ emitter Ring
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 0.5
+ height 0.5
+ depth 0
+ inner_width 0.99
+ inner_height 0.99
+ emission_rate 250
+ velocity_min 50
+ velocity_max 55
+ time_to_live_min 0.075
+ time_to_live_max 0.09
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 1 0.333333 0 1
+ colour_range_end 1 0.333333 0 1
+ }
+
+ emitter Ring
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 0.5
+ height 0.5
+ depth 0
+ inner_width 0.1
+ inner_height 0.25
+ emission_rate 250
+ velocity_min 50
+ velocity_max 55
+ time_to_live_min 0.1
+ time_to_live_max 0.125
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 1 0 0 1
+ colour_range_end 1 0 0 1
+ }
+
+ affector Scaler
+ {
+ rate -40
+ }
+}
Modified: code/branches/presentationHS15/data/particle/engineglow.particle
===================================================================
--- code/branches/presentationHS15/data/particle/engineglow.particle 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/data/particle/engineglow.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -1,40 +1,114 @@
-
particle_system Orxonox/engineglow
{
- quota 200
- material PE/bigFlame
- particle_width 12
- particle_height 12
- cull_each false
- renderer billboard
- billboard_type point
+ material PE/Special.001
+ particle_width 100.0
+ particle_height 100.0
+ quota 2000
+ cull_each false
+ sorted false
+ local_space false
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ point_rendering false
+ accurate_facing false
- emitter HollowEllipsoid
+ emitter Ring
{
- angle 0
- colour 0.46875 0.8125 0.93359375 1
- colour_range_start .6640625 .91796875 .92578125 1
- colour_range_end .08203125 .7578125 .98046875 1
- direction 0 1 0
- emission_rate 45
- position 0 0 0
- velocity 5
- velocity_min 4
- velocity_max 6
- time_to_live 0.5
- time_to_live_min 0.2
- time_to_live_max 0.9
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
- width 4
- height 2.5
- depth 1.3
- inner_width 0.5
- inner_height 0.3
- inner_depth 0.2
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 150
+ height 150
+ depth 1
+ inner_width 0.99
+ inner_height 0.99
+ emission_rate 30
+ velocity_min 20
+ velocity_max 20
+ time_to_live_min 5
+ time_to_live_max 5
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 0.666667 1 0 1
+ colour_range_end 0 1 0 1
}
+
+ emitter Ring
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 130
+ height 130
+ depth 0
+ inner_width 0.99
+ inner_height 0.99
+ emission_rate 10
+ velocity_min 200
+ velocity_max 200
+ time_to_live_min 0.75
+ time_to_live_max 0.75
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 1 1 0 1
+ colour_range_end 1 1 0.498039 1
+ }
+
+ emitter Ring
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 80
+ height 80
+ depth 0
+ inner_width 0.99
+ inner_height 0.99
+ emission_rate 57.89
+ velocity_min 250
+ velocity_max 250
+ time_to_live_min 1
+ time_to_live_max 1
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 1 0.333333 0 1
+ colour_range_end 1 0.333333 0 1
+ }
+
+ emitter Ring
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 50
+ height 50
+ depth 0
+ inner_width 0.01
+ inner_height 0.5
+ emission_rate 37.89
+ velocity_min 300
+ velocity_max 300
+ time_to_live_min 1.5
+ time_to_live_max 1.5
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 1 0 0 1
+ colour_range_end 1 0 0 1
+ }
+
+ affector Scaler
+ {
+ rate -20
+ }
}
Copied: code/branches/presentationHS15/data/particle/ice.particle (from rev 10962, code/branches/particleEffectsHS15/data/particle/ice.particle)
===================================================================
--- code/branches/presentationHS15/data/particle/ice.particle (rev 0)
+++ code/branches/presentationHS15/data/particle/ice.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,59 @@
+particle_system Orxonox/ice
+{
+ material PE/iceCrystal
+ particle_width 5
+ particle_height 5
+ quota 7000
+ cull_each false
+ sorted false
+ local_space false
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ point_rendering false
+ accurate_facing false
+
+ emitter Box
+ {
+ position 0.0 0.0 0.0
+ direction 1.0 1.0 1.0
+ angle 45
+ width 20
+ height 20
+ depth 20
+ emission_rate 200
+ velocity_min 1
+ velocity_max 1
+ time_to_live_min 3
+ time_to_live_max 6
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 1 1 1 1
+ colour_range_end 0.9 1 1 1
+ }
+
+ affector LinearForce
+ {
+ force_vector 0.0 -0.5 1.0
+ force_application add
+ }
+
+ affector DirectionRandomiser
+ {
+ randomness 50
+ scope 100
+ keep_velocity true
+ }
+
+ affector Rotator
+ {
+ rotation_speed_range_start 43.26
+ rotation_speed_range_end 0
+ rotation_range_start 0
+ rotation_range_end 0
+ }
+}
Copied: code/branches/presentationHS15/data/particle/mineparticle.particle (from rev 10962, code/branches/particleEffectsHS15/data/particle/mineparticle.particle)
===================================================================
--- code/branches/presentationHS15/data/particle/mineparticle.particle (rev 0)
+++ code/branches/presentationHS15/data/particle/mineparticle.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,53 @@
+particle_system Orxonox/mineparticle
+{
+ material PE/lensflare
+ particle_width 5.0
+ particle_height 5.0
+ quota 2000
+ cull_each true
+ sorted true
+ local_space false
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type point
+ billboard_origin bottom_right
+ billboard_rotation_type vertex
+ point_rendering false
+ accurate_facing false
+
+ emitter HollowEllipsoid
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 20
+ height 20
+ depth 20
+ inner_width 0.99
+ inner_height 0.99
+ inner_depth 0.99
+ emission_rate 20.12
+ velocity_min 1
+ velocity_max 1
+ time_to_live_min 5
+ time_to_live_max 5
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 1 0 0 1
+ colour_range_end 1 0 0 1
+ }
+
+ affector Scaler
+ {
+ rate -2
+ }
+ affector Rotator
+ {
+ rotation_speed_range_start 100
+ rotation_speed_range_end 500
+ rotation_range_start 0
+ rotation_range_end 180
+ }
+}
Copied: code/branches/presentationHS15/data/particle/psygun.particle (from rev 10962, code/branches/particleEffectsHS15/data/particle/psygun.particle)
===================================================================
--- code/branches/presentationHS15/data/particle/psygun.particle (rev 0)
+++ code/branches/presentationHS15/data/particle/psygun.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,62 @@
+particle_system Orxonox/psygun
+{
+ material PE/glowEffect
+ particle_width 200.0
+ particle_height 200.0
+ quota 300
+ cull_each false
+ sorted false
+ local_space false
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type point
+ billboard_origin top_right
+ billboard_rotation_type vertex
+ point_rendering false
+ accurate_facing true
+
+ emitter Point
+ {
+ position 0.0 0.0 0.0
+ direction 0.0 1.0 0.0
+ angle 154.8
+ emission_rate 400
+ velocity_min 100
+ velocity_max 300
+ time_to_live_min 0
+ time_to_live_max 3.38
+ duration_min 1
+ duration_max 1
+ repeat_delay_min 0.11
+ repeat_delay_max 2.81
+ colour_range_start 0.666667 0 0.498039 1
+ colour_range_end 1 0 0.498039 1
+ }
+
+ affector LinearForce
+ {
+ force_vector 0.0 12.32 0.0
+ force_application add
+ }
+
+ affector Rotator
+ {
+ rotation_speed_range_start 100
+ rotation_speed_range_end 500
+ rotation_range_start 0
+ rotation_range_end 180
+ }
+
+ affector Scaler
+ {
+ rate -98.82
+ }
+
+ affector ColourFader
+ {
+ red -0.93
+ green -1
+ blue 1
+ alpha -1
+ }
+}
Modified: code/branches/presentationHS15/data/particle/rocketfire.particle
===================================================================
--- code/branches/presentationHS15/data/particle/rocketfire.particle 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/data/particle/rocketfire.particle 2015-12-09 15:56:39 UTC (rev 10963)
@@ -1,50 +1,63 @@
particle_system Orxonox/rocketfire
{
- quota 300
- material PE/explosion
- particle_width 15
- particle_height 5
- cull_each false
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
+ material PE/glowEffect
+ particle_width 2
+ particle_height 2
+ quota 10000
+ cull_each true
+ sorted true
+ local_space true
+ iteration_interval 0.0
+ nonvisible_update_timeout 0.0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ point_rendering false
+ accurate_facing false
emitter Ellipsoid
{
- angle 2
- colour 1 0.682759 1 1
- colour_range_start 1 0.682759 1 1
- colour_range_end 1 0.682759 1 1
- direction 0 0 1
- emission_rate 1200
- position 0 0 3
- velocity 10
- velocity_min 10
- velocity_max 48
- time_to_live 0.1
- time_to_live_min 0.1
- time_to_live_max 0.2
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
- width 1.5
- height 1.5
- depth 10
+ position 0.05 0.0 2.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 0
+ height 0
+ depth 0
+ emission_rate 1200
+ velocity_min 10
+ velocity_max 20
+ time_to_live_min 0.1
+ time_to_live_max 0.1
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 1 0.333333 0 1
+ colour_range_end 1 0 0 1
}
+ emitter Ellipsoid
+ {
+ position 0.05 0.0 2.0
+ direction 0.0 0.0 1.0
+ angle 0
+ width 0
+ height 0
+ depth 0
+ emission_rate 100
+ velocity_min 5
+ velocity_max 10
+ time_to_live_min 0.1
+ time_to_live_max 0.1
+ duration_min 0
+ duration_max 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ colour_range_start 0.2 0.5 0.65
+ colour_range_end 0.25 0.55 0.7
+ }
affector Scaler
{
- rate -20
+ rate -8
}
}
Modified: code/branches/presentationHS15/src/modules/weapons/WeaponsPrereqs.h
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/WeaponsPrereqs.h 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/src/modules/weapons/WeaponsPrereqs.h 2015-12-09 15:56:39 UTC (rev 10963)
@@ -101,6 +101,7 @@
class SplitGun;
class LaserFire;
class LightningGun;
+ class MineGun;
class RocketFire;
class RocketFireOld;
class SimpleRocketFire;
Modified: code/branches/presentationHS15/src/modules/weapons/munitions/CMakeLists.txt
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/munitions/CMakeLists.txt 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/src/modules/weapons/munitions/CMakeLists.txt 2015-12-09 15:56:39 UTC (rev 10963)
@@ -6,4 +6,5 @@
GravityBombMunition.cc
IceMunition.cc
SplitMunition.cc
+ MineMunition.cc
)
Copied: code/branches/presentationHS15/src/modules/weapons/munitions/MineMunition.cc (from rev 10962, code/branches/particleEffectsHS15/src/modules/weapons/munitions/MineMunition.cc)
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/munitions/MineMunition.cc (rev 0)
+++ code/branches/presentationHS15/src/modules/weapons/munitions/MineMunition.cc 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,61 @@
+/*
+ * 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:
+ * Fabien Vultier
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file MineMunition.h
+ @brief Implementation of the MineMunition class.
+*/
+
+#include "MineMunition.h"
+#include "core/CoreIncludes.h"
+
+namespace orxonox
+{
+ RegisterClass(MineMunition);
+
+ MineMunition::MineMunition(Context* context) : Munition(context)
+ {
+ RegisterObject(MineMunition);
+
+ this->maxMunitionPerMagazine_ = 1;
+ this->maxMagazines_ = 100;
+ this->unassignedMagazines_ = 25;
+
+ this->deployment_ = MunitionDeployment::Stack;
+
+ this->bAllowMunitionRefilling_ = true;
+ this->bAllowMultiMunitionRemovementUnderflow_ = false;
+
+ this->reloadTime_ = 0.5f;
+ }
+
+ void MineMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(MineMunition, XMLPort, xmlelement, mode);
+ }
+}
\ No newline at end of file
Copied: code/branches/presentationHS15/src/modules/weapons/munitions/MineMunition.h (from rev 10962, code/branches/particleEffectsHS15/src/modules/weapons/munitions/MineMunition.h)
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/munitions/MineMunition.h (rev 0)
+++ code/branches/presentationHS15/src/modules/weapons/munitions/MineMunition.h 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,59 @@
+/*
+ * 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:
+ * Fabien Vultier
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file MineMunition.h
+ @brief Definition of the MineMunition class.
+*/
+
+#ifndef _MineMunition_H__
+#define _MineMunition_H__
+
+#include "weapons/WeaponsPrereqs.h"
+#include "weaponsystem/Munition.h"
+
+namespace orxonox
+{
+
+ /**
+ @brief
+ MineMunition.
+ @author
+ Fabien Vultier
+ @ingroup WeaponsMunitions
+ */
+ class _WeaponsExport MineMunition : public Munition
+ {
+ public:
+ MineMunition(Context* context);
+ virtual ~MineMunition() {}
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+ };
+}
+
+#endif /* _MineMunition_H__ */
Modified: code/branches/presentationHS15/src/modules/weapons/projectiles/CMakeLists.txt
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/projectiles/CMakeLists.txt 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/src/modules/weapons/projectiles/CMakeLists.txt 2015-12-09 15:56:39 UTC (rev 10963)
@@ -11,4 +11,5 @@
SimpleRocket.cc
GravityBomb.cc
GravityBombField.cc
+ MineProjectile.cc
)
Modified: code/branches/presentationHS15/src/modules/weapons/projectiles/IceGunProjectile.cc
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/projectiles/IceGunProjectile.cc 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/src/modules/weapons/projectiles/IceGunProjectile.cc 2015-12-09 15:56:39 UTC (rev 10963)
@@ -33,13 +33,22 @@
#include "IceGunProjectile.h"
+#include <OgreSceneManager.h>
+#include <OgreSceneNode.h>
+
#include "core/CoreIncludes.h"
#include "graphics/Model.h"
+#include "graphics/ParticleSpawner.h"
+#include "Scene.h"
+#include "core/command/Executor.h"
+#include "tools/ParticleInterface.h"
namespace orxonox
{
RegisterClass(IceGunProjectile);
+ const float IceGunProjectile::particleDestructionDelay_ = 15.0f;
+
IceGunProjectile::IceGunProjectile(Context* context) : Projectile(context)
{
RegisterObject(IceGunProjectile);
@@ -54,8 +63,32 @@
model->setScale(15.0);
this->attach(model);
model->setPosition(Vector3(0,0,0));
+
+ // Add effect.
+ emitter_ = new ParticleEmitter(this->getContext());
+ this->attach(emitter_);
+ emitter_->setOrientation(this->getOrientation());
+ emitter_->setSource("Orxonox/ice");
+ emitter_->setDeleteWithParent(false);
}
+ IceGunProjectile::~IceGunProjectile()
+ {
+ if (this->isInitialized())
+ {
+ const Vector3& pos = emitter_->getWorldPosition();
+ const Quaternion& rot = emitter_->getWorldOrientation();
+ this->detach(emitter_);
+ emitter_->setPosition(pos);
+ emitter_->setOrientation(rot);
+ emitter_->getParticleInterface()->setEnabled(false);
+ this->getScene()->getRootSceneNode()->addChild(const_cast<Ogre::SceneNode*>(emitter_->getNode()));
+
+ const ExecutorPtr& executor = createExecutor(createFunctor(&ParticleEmitter::destroy, emitter_));
+ new Timer(particleDestructionDelay_, false, executor, true);
+ }
+ }
+
/**
@brief
Sets the freeze time variable to the passed value.
Modified: code/branches/presentationHS15/src/modules/weapons/projectiles/IceGunProjectile.h
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/projectiles/IceGunProjectile.h 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/src/modules/weapons/projectiles/IceGunProjectile.h 2015-12-09 15:56:39 UTC (rev 10963)
@@ -55,14 +55,16 @@
{
public:
IceGunProjectile(Context* context);
- virtual ~IceGunProjectile() {}
+ virtual ~IceGunProjectile();
virtual void setFreezeTime(float freezeTime);
virtual void setFreezeFactor(float freezeFactor);
protected:
virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint);
- private:
+ static const float particleDestructionDelay_;
+ private:
+ ParticleEmitter* emitter_;
float freezeTime_; //The duration of the freezing effect on a target
float freezeFactor_; //The strength of the freezing effect
};
Copied: code/branches/presentationHS15/src/modules/weapons/projectiles/MineProjectile.cc (from rev 10962, code/branches/particleEffectsHS15/src/modules/weapons/projectiles/MineProjectile.cc)
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/projectiles/MineProjectile.cc (rev 0)
+++ code/branches/presentationHS15/src/modules/weapons/projectiles/MineProjectile.cc 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,281 @@
+/*
+ * 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:
+ * Jannis Holzer
+ * Fabien Vultier
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file MineProjectile.h
+ @brief Implementation of the MineProjectile class.
+*/
+
+#include "MineProjectile.h"
+
+#include "core/CoreIncludes.h"
+#include "graphics/Model.h"
+#include "core/command/Executor.h"
+#include "graphics/ParticleSpawner.h"
+#include "worldentities/pawns/Pawn.h"
+#include "core/EventIncludes.h"
+#include "sound/WorldSound.h"
+
+namespace orxonox
+{
+ RegisterClass(MineProjectile);
+
+ const float MineProjectile::collisionShapeRadius_ = 15.0f;
+ const float MineProjectile::damageRadius_ = 200.0f;
+ const float MineProjectile::triggerRadius_ = 100.0f;
+
+ MineProjectile::MineProjectile(Context* context) : MovableEntity(context), BasicProjectile()
+ {
+ RegisterObject(MineProjectile);
+
+ this->bAllowExplosion_ = false;
+ this->maxTimeUntilExplosion_ = 10.0f;
+ this->timeUntilActivation_ = 1.0f;
+
+ //Create movable entities
+ rings1_ = new MovableEntity(this->getContext());
+ this->attach(rings1_);
+ rings1_->setPosition(Vector3(0.0,0.0,0.0));
+ rings1_->setAngularVelocity(Vector3(0.0,5.0,0.0));
+
+ rings2_ = new MovableEntity(this->getContext());
+ this->attach(rings2_);
+ rings2_->setPosition(Vector3(0.0,0.0,0.0));
+ rings2_->setAngularVelocity(Vector3(0.0,0.0,5.0));
+
+ core_ = new MovableEntity(this->getContext());
+ this->attach(core_);
+ core_->setPosition(Vector3(0.0,0.0,0.0));
+ core_->setAngularVelocity(Vector3(2.5,2.5,0.0));
+
+ //Create Models
+ //Core
+ modelCore_ = new Model(this->getContext());
+ modelCore_->setMeshSource("Mine_Core.mesh");
+ modelCore_->setScale(15.0);
+ core_->attach(modelCore_);
+ modelCore_->setPosition(Vector3(0,0,0));
+
+ //Ring 1
+ modelRing1_ = new Model(this->getContext());
+ modelRing1_->setMeshSource("Mine_Ring.mesh");
+ modelRing1_->setScale(15.0);
+ rings1_->attach(modelRing1_);
+ modelRing1_->setPosition(Vector3(0,0,0));
+ modelRing1_->yaw(Degree(0));
+ //Ring 2
+ modelRing2_ = new Model(this->getContext());
+ modelRing2_->setMeshSource("Mine_Ring.mesh");
+ modelRing2_->setScale(15.0);
+ rings1_->attach(modelRing2_);
+ modelRing2_->setPosition(Vector3(0,0,0));
+ modelRing2_->yaw(Degree(180));
+ //Ring 3
+ modelRing3_ = new Model(this->getContext());
+ modelRing3_->setMeshSource("Mine_Ring.mesh");
+ modelRing3_->setScale(15.0);
+ rings2_->attach(modelRing3_);
+ modelRing3_->setPosition(Vector3(0,0,0));
+ modelRing3_->yaw(Degree(90));
+ //Ring 4
+ modelRing4_ = new Model(this->getContext());
+ modelRing4_->setMeshSource("Mine_Ring.mesh");
+ modelRing4_->setScale(15.0);
+ rings2_->attach(modelRing4_);
+ modelRing4_->setPosition(Vector3(0,0,0));
+ modelRing4_->yaw(Degree(270));
+
+ emitter_ = NULL;
+
+ if (GameMode::isMaster())
+ {
+ this->setMass(10.0f);
+ this->setLinearDamping(0.5f);
+ this->setAngularDamping(0.1f);
+ this->enableCollisionCallback();
+ this->setCollisionResponse(true);
+ this->setCollisionType(Dynamic);
+
+ // Create a sphere collision shape and attach it to the projectile.
+ collisionShape_ = new SphereCollisionShape(this->getContext());
+ collisionShape_->setRadius(collisionShapeRadius_);
+ this->attachCollisionShape(collisionShape_);
+ collisionShape_->setPosition(Vector3(0,0,0));
+
+ // Create a distance trigger and attach it to the projectile.
+ distanceTrigger_ = new DistanceTrigger(this->getContext());
+ this->attach(distanceTrigger_);
+ distanceTrigger_->setPosition(Vector3(0,0,0));
+ distanceTrigger_->setDistance(triggerRadius_);
+ distanceTrigger_->addTarget("Pawn");
+ distanceTrigger_->setStayActive(false);
+
+ this->addEventSource(distanceTrigger_, "explode");
+ }
+ }
+
+ MineProjectile::~MineProjectile()
+ {
+ if (this->isInitialized())
+ {
+ modelCore_->destroy();
+ modelRing1_->destroy();
+ modelRing2_->destroy();
+ modelRing3_->destroy();
+ modelRing4_->destroy();
+
+ if (distanceTrigger_)
+ {
+ distanceTrigger_->destroy();
+ }
+ if (emitter_)
+ {
+ emitter_->destroy();
+ }
+ }
+ }
+
+ /**
+ @brief
+ XMLPort for MineProjectile.
+ */
+ void MineProjectile::XMLEventPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(MineProjectile, XMLEventPort, xmlelement, mode);
+ XMLPortEventState(MineProjectile, BaseObject, "explode", explode, xmlelement, mode);
+ }
+
+ /**
+ @brief
+ Max Time; after this time runs out,the Mine explodes.
+ */
+ void MineProjectile::setMaxTimeUntilExplosion(float maxTimeUntilExplosion)
+ {
+ if (maxTimeUntilExplosion >= 0)
+ {
+ this->maxTimeUntilExplosion_ = maxTimeUntilExplosion;
+ if (GameMode::isMaster())
+ {
+ this->explodeTimer_.setTimer(this->maxTimeUntilExplosion_, false, createExecutor(createFunctor(&MineProjectile::explode, this)));
+ }
+ }
+ else
+ {
+ this->maxTimeUntilExplosion_ = 0;
+ }
+ }
+
+ /**
+ @brief
+ The mine can only explode when the activation time has run out.
+ */
+ void MineProjectile::setTimeUntilActivation(float timeUntilActivation)
+ {
+ timeUntilActivation_ = timeUntilActivation;
+
+ if (GameMode::isMaster())
+ {
+ this->activationTimer_.setTimer(this->timeUntilActivation_, false, createExecutor(createFunctor(&MineProjectile::allowExplosion, this)));
+ }
+ }
+
+ /**
+ @brief
+ Mine explodes, deals damage to pawn within range and destroys itself.
+ */
+ void MineProjectile::explode()
+ {
+ if (bAllowExplosion_)
+ {
+ if (GameMode::isMaster())
+ {
+ // Damage all pawns within the damage radius
+ for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); ++it)
+ {
+ Vector3 distanceVector = it->getWorldPosition()-this->getWorldPosition();
+ if(distanceVector.length()< damageRadius_)
+ {
+ it->hit(this->getShooter(), it->getWorldPosition(), NULL, this->getDamage(), this->getHealthDamage(), this->getShieldDamage());
+ }
+ }
+ }
+
+ this->destructionEffect();
+ this->destroyLater();
+ }
+ }
+
+ /**
+ @brief
+ Mine is ready to explode.
+ */
+ void MineProjectile::allowExplosion()
+ {
+ // Allow explosion
+ bAllowExplosion_ = true;
+ // Add particle effect
+ emitter_ = new ParticleEmitter(this->getContext());
+ this->attach(emitter_);
+ emitter_->setOrientation(this->getOrientation());
+ emitter_->setSource("Orxonox/mineparticle");
+ }
+
+ void MineProjectile::destructionEffect()
+ {
+ ParticleSpawner *effect1, *effect2, *effect3;
+
+ effect1 = new ParticleSpawner(this->getContext());
+ effect2 = new ParticleSpawner(this->getContext());
+ effect3 = new ParticleSpawner(this->getContext());
+
+ effect1->setPosition(this->getPosition());
+ effect1->setOrientation(this->getOrientation());
+ effect1->setDestroyAfterLife(true);
+ effect1->setSource("Orxonox/MineExpl");
+ effect1->setLifetime(2.5f);
+
+ effect2->setPosition(this->getPosition());
+ effect2->setOrientation(this->getOrientation());
+ effect2->setDestroyAfterLife(true);
+ effect2->setSource("Orxonox/MineExpl1");
+ effect2->setLifetime(2.5f);
+
+ effect3->setPosition(this->getPosition());
+ effect3->setOrientation(this->getOrientation());
+ effect3->setDestroyAfterLife(true);
+ effect3->setSource("Orxonox/MineExpl2");
+ effect3->setLifetime(2.5f);
+
+ // Explosion sound effect.
+ WeakPtr<WorldSound> explosionSound_ = new WorldSound(getContext());
+ explosionSound_->setSource("sounds/minesound.ogg");
+ explosionSound_->setVolume(1.0);
+ explosionSound_->play();
+ }
+}
Copied: code/branches/presentationHS15/src/modules/weapons/projectiles/MineProjectile.h (from rev 10962, code/branches/particleEffectsHS15/src/modules/weapons/projectiles/MineProjectile.h)
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/projectiles/MineProjectile.h (rev 0)
+++ code/branches/presentationHS15/src/modules/weapons/projectiles/MineProjectile.h 2015-12-09 15:56:39 UTC (rev 10963)
@@ -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:
+ * Jannis Holzer
+ * Fabien Vultier
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file MineProjectile.h
+ @brief Definition of the MineProjectile class.
+*/
+
+#ifndef _MineProjectile_H__
+#define _MineProjectile_H__
+
+#include "weapons/WeaponsPrereqs.h"
+#include "tools/Timer.h"
+#include "worldentities/MovableEntity.h"
+#include "objects/collisionshapes/SphereCollisionShape.h"
+#include "objects/triggers/DistanceTrigger.h"
+#include "BasicProjectile.h"
+
+namespace orxonox
+{
+
+ /**
+ @brief
+ TODO
+ @ingroup WeaponsProjectiles
+ */
+ class _WeaponsExport MineProjectile : public MovableEntity, public BasicProjectile
+ {
+ public:
+ MineProjectile(Context* context);
+ virtual ~MineProjectile();
+
+ virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
+
+ virtual void setMaxTimeUntilExplosion(float maxTimeUntilExplosion);
+ virtual void setTimeUntilActivation(float timeUntilActivation);
+ protected:
+ static const float triggerRadius_;
+ static const float damageRadius_;
+ static const float collisionShapeRadius_;
+ private:
+ bool bAllowExplosion_; // The mine can only explode if it is active
+ float maxTimeUntilExplosion_;
+ float timeUntilActivation_;
+ Timer activationTimer_;
+ Timer explodeTimer_;
+ Model* modelCore_;
+ Model* modelRing1_;
+ Model* modelRing2_;
+ Model* modelRing3_;
+ Model* modelRing4_;
+ MovableEntity* rings1_;
+ MovableEntity* rings2_;
+ MovableEntity* core_;
+ ParticleEmitter* emitter_;
+
+ WeakPtr<SphereCollisionShape> collisionShape_; // The collision shape of the projectile.
+ WeakPtr<DistanceTrigger> distanceTrigger_;
+
+ virtual void destructionEffect();
+ virtual void allowExplosion();
+ virtual void explode();
+ };
+}
+
+#endif /* _MineProjectile_H__ */
Modified: code/branches/presentationHS15/src/modules/weapons/projectiles/Projectile.h
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/projectiles/Projectile.h 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/src/modules/weapons/projectiles/Projectile.h 2015-12-09 15:56:39 UTC (rev 10963)
@@ -68,11 +68,11 @@
protected:
virtual void setCollisionShapeRadius(float radius);
+ float lifetime_; //!< The time the projectile exists.
private:
- float lifetime_; //!< The time the projectile exists.
Timer destroyTimer_; //!< Timer to destroy the projectile after its lifetime has run out.
- WeakPtr<SphereCollisionShape> collisionShape_; // The collision shape of the projectile.
+ WeakPtr<SphereCollisionShape> collisionShape_; // The collision shape of the projectile.
};
}
Modified: code/branches/presentationHS15/src/modules/weapons/weaponmodes/CMakeLists.txt
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/weaponmodes/CMakeLists.txt 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/src/modules/weapons/weaponmodes/CMakeLists.txt 2015-12-09 15:56:39 UTC (rev 10963)
@@ -10,4 +10,5 @@
RocketFireOld.cc
SimpleRocketFire.cc
GravityBombFire.cc
+ MineGun.cc
)
Copied: code/branches/presentationHS15/src/modules/weapons/weaponmodes/MineGun.cc (from rev 10962, code/branches/particleEffectsHS15/src/modules/weapons/weaponmodes/MineGun.cc)
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/weaponmodes/MineGun.cc (rev 0)
+++ code/branches/presentationHS15/src/modules/weapons/weaponmodes/MineGun.cc 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,99 @@
+/*
+ * 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:
+ * Fabien Vultier
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file MineGun.cc
+ @brief Implementation of the MineGun class.
+*/
+
+#include "MineGun.h"
+
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+#include "weaponsystem/Weapon.h"
+#include "weaponsystem/WeaponPack.h"
+#include "weaponsystem/WeaponSystem.h"
+#include "worldentities/pawns/Pawn.h"
+
+#include "weapons/projectiles/MineProjectile.h"
+
+namespace orxonox
+{
+ RegisterClass(MineGun);
+
+ MineGun::MineGun(Context* context) : WeaponMode(context)
+ {
+ RegisterObject(MineGun);
+
+ this->speed_ = 1000.0f;
+ this->reloadTime_ = 1.0f;
+ this->damage_ = 0.0f;
+ this->maxTimeUntilExplosion_ = 0.0f;
+
+ this->setMunitionName("MineMunition");
+ this->setDefaultSound("sounds/mineactivate.ogg");
+ }
+
+ MineGun::~MineGun()
+ {
+ }
+
+ /**
+ @brief
+ XMLPort for the MineGun.
+ */
+ void MineGun::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(MineGun, XMLPort, xmlelement, mode);
+
+ XMLPortParam(MineGun, "maxtimeuntilexplosion", setMaxTimeUntilExplosion, getMaxTimeUntilExplosion, xmlelement, mode).defaultValues(10.0f);
+ XMLPortParam(MineGun, "timeuntilactivation", setTimeUntilActivation, getTimeUntilActivation, xmlelement, mode).defaultValues(3.0f);
+ }
+
+ /**
+ @brief
+ Fires the weapon. Creates a projectile and fires it.
+ */
+ void MineGun::fire()
+ {
+ MineProjectile* projectile = new MineProjectile(this->getContext());
+
+ this->computeMuzzleParameters(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()->getAimPosition());
+ projectile->setOrientation(this->getMuzzleOrientation());
+ projectile->setPosition(this->getMuzzlePosition());
+ projectile->setVelocity(this->getMuzzleDirection() * this->speed_);
+
+ projectile->setMaxTimeUntilExplosion(getMaxTimeUntilExplosion());
+ projectile->setTimeUntilActivation(getTimeUntilActivation());
+
+ projectile->setShooter(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn());
+ projectile->setDamage(this->getDamage());
+ projectile->setShieldDamage(this->getShieldDamage());
+ projectile->setHealthDamage(this->getHealthDamage());
+ }
+}
Copied: code/branches/presentationHS15/src/modules/weapons/weaponmodes/MineGun.h (from rev 10962, code/branches/particleEffectsHS15/src/modules/weapons/weaponmodes/MineGun.h)
===================================================================
--- code/branches/presentationHS15/src/modules/weapons/weaponmodes/MineGun.h (rev 0)
+++ code/branches/presentationHS15/src/modules/weapons/weaponmodes/MineGun.h 2015-12-09 15:56:39 UTC (rev 10963)
@@ -0,0 +1,80 @@
+/*
+ * ORXONOX - the hottest 3D action shooter ever to exist
+ * > www.orxonox.net <
+ *
+ *
+ * License notice:
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Author:
+ * Fabien Vultier
+ * Jannis Holzer
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file MineGun.h
+ @brief
+
+ Mine is a weapon that explodes if a spaceship goes bellow the mines trigger radius. The mine deals damage too all
+ spaceships within the damageradius.
+
+ The activation time regulates when the mine is live and ready to explode.
+ The mine destroys itself after it exceeds a certain life time.
+*/
+
+#ifndef _MineGun_H__
+#define _MineGun_H__
+
+#include "weapons/WeaponsPrereqs.h"
+#include "weaponsystem/WeaponMode.h"
+
+namespace orxonox
+{
+
+ /**
+ @brief
+ A Weapon that drops mines to space.
+ @ingroup WeaponsWeaponModes
+ */
+ class _WeaponsExport MineGun : public WeaponMode
+ {
+ public:
+ MineGun(Context* context);
+ virtual ~MineGun();
+
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+ virtual void fire();
+
+ inline float getMaxTimeUntilExplosion() const
+ { return this->maxTimeUntilExplosion_; }
+ inline float getTimeUntilActivation() const
+ { return this->timeUntilActivation_; }
+ protected:
+ inline void setMaxTimeUntilExplosion(float maxTimeUntilExplosion)
+ { this->maxTimeUntilExplosion_ = maxTimeUntilExplosion; }
+ inline void setTimeUntilActivation(float timeUntilActivation)
+ { this->timeUntilActivation_ = timeUntilActivation; }
+ private:
+ float speed_; //The speed of the fired projectile.
+ float maxTimeUntilExplosion_;
+ float timeUntilActivation_;
+ };
+}
+
+#endif /* _MineGun_H__ */
Modified: code/branches/presentationHS15/src/orxonox/weaponsystem/WeaponMode.cc
===================================================================
--- code/branches/presentationHS15/src/orxonox/weaponsystem/WeaponMode.cc 2015-12-09 15:03:59 UTC (rev 10962)
+++ code/branches/presentationHS15/src/orxonox/weaponsystem/WeaponMode.cc 2015-12-09 15:56:39 UTC (rev 10963)
@@ -74,7 +74,7 @@
this->muzzlePosition_ = Vector3::ZERO;
this->muzzleOrientation_ = Quaternion::IDENTITY;
- hudImageString_ = "WSHUD_WM_Unknown";
+ hudImageString_ = "Orxonox/WSHUD_WM_Unknown";
if( GameMode::isMaster() )
{
More information about the Orxonox-commit
mailing list