[Orxonox-commit 6133] r10791 - in code/branches/fabienHS15: data/levels data/levels/includes data/levels/templates src/modules/overlays/hud src/modules/weapons/munitions src/orxonox/weaponsystem src/orxonox/worldentities src/orxonox/worldentities/pawns
fvultier at orxonox.net
fvultier at orxonox.net
Mon Nov 9 17:55:43 CET 2015
Author: fvultier
Date: 2015-11-09 17:55:42 +0100 (Mon, 09 Nov 2015)
New Revision: 10791
Removed:
code/branches/fabienHS15/data/levels/includes/towerWeaponSettings.oxi
Modified:
code/branches/fabienHS15/data/levels/includes/invaderWeapon.oxi
code/branches/fabienHS15/data/levels/includes/invaderWeaponEnemy.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff2.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS_HS14.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsFS15.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsHXY.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsImmTest.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret1.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi
code/branches/fabienHS15/data/levels/templates/pickupRepresentationTemplates.oxt
code/branches/fabienHS15/data/levels/towerDefense.oxw
code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc
code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.cc
code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.h
code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.cc
code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.h
code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.cc
code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.h
code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc
code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.h
code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.cc
code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.h
code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.cc
code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.h
code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.cc
code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.h
code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc
code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h
code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.cc
code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.h
code/branches/fabienHS15/src/orxonox/weaponsystem/Weapon.cc
code/branches/fabienHS15/src/orxonox/weaponsystem/Weapon.h
code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponMode.cc
code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponMode.h
code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponPack.cc
code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponPack.h
code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponSystem.cc
code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponSystem.h
code/branches/fabienHS15/src/orxonox/worldentities/MobileEntity.h
code/branches/fabienHS15/src/orxonox/worldentities/StaticEntity.h
code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.cc
code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.h
code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h
Log:
Munition may and must now be defined for each pawn separately. This way a heavy cruiser may carry more munition than a drone.
Modified: code/branches/fabienHS15/data/levels/includes/invaderWeapon.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/invaderWeapon.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/invaderWeapon.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -6,7 +6,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -24,4 +24,7 @@
<DefaultWeaponmodeLink firemode=1 weaponmode=0 />
</links>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/invaderWeaponEnemy.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/invaderWeaponEnemy.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/invaderWeaponEnemy.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -6,7 +6,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -24,4 +24,7 @@
<DefaultWeaponmodeLink firemode=1 weaponmode=0 />
</links>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ </munition>
Deleted: code/branches/fabienHS15/data/levels/includes/towerWeaponSettings.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/towerWeaponSettings.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/towerWeaponSettings.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -1,55 +0,0 @@
- <weaponslots>
- <WeaponSlot position="-15.0,-1.5,0" />
- <WeaponSlot position=" 15.0,-1.5,0" />
- <WeaponSlot position=" 0, 0,0" />
- </weaponslots>
- <weaponsets>
- <WeaponSet firemode=0 />
- <WeaponSet firemode=1 />
- <WeaponSet firemode=2 />
- <WeaponSet firemode=3 />
- </weaponsets>
- <weapons>
- <WeaponPack>
- <links>
- <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
- <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
- <DefaultWeaponmodeLink firemode=2 weaponmode=2 />
- <DefaultWeaponmodeLink firemode=3 weaponmode=3 />
- </links>
- <Weapon>
- <attached>
- <Model mesh="LightningGun.mesh" pitch="100" roll="90" yaw="90" position="0,-1.3,200" scale=1/>
- <Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,200" scale=1 />
- <Model mesh="hs-w01_reduced.mesh" roll="45" pitch="-76" yaw="-45" position="-1.5,1,200" scale=10 />
- </attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.005 damage=31.4159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=314.159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
- <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
- </Weapon>
-
- <Weapon>
- <attached>
- <Model mesh="LightningGun.mesh" pitch="103" roll="90" yaw="90" position="0,-1.35,0" />
- <Model mesh="LightningGun-s.mesh" pitch="103" roll="90" yaw="90" position="0.2,-1.35,0" />
- <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 />
- </attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
- <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
- </Weapon>
- <Weapon>
- <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 />
- <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />
- </Weapon>
-
- </WeaponPack>
- <WeaponPack>
- <links>
- <DefaultWeaponmodeLink firemode=1 weaponmode=0 />
- </links>
- <!--Weapon>
- <EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
- </Weapon-->
- </WeaponPack>
- </weapons>
\ No newline at end of file
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -9,7 +9,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -42,4 +42,9 @@
<RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff2.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff2.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff2.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -8,8 +8,8 @@
<WeaponSet firemode=1 />
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
- </weaponsets>
- <weapons>
+ </weaponsets>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -40,4 +40,9 @@
<RocketFire mode=3 muzzleoffset="0,0,0" damage=100 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -9,7 +9,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -44,4 +44,9 @@
<RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -6,7 +6,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -14,11 +14,9 @@
</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" />
- <!--HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" projectileMesh="LaserBeam2.mesh" /-->
</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" />
- <!--HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" projectileMesh="LaserBeam2.mesh" /-->
</Weapon>
</WeaponPack>
<WeaponPack>
@@ -26,4 +24,7 @@
<DefaultWeaponmodeLink firemode=1 weaponmode=0 />
</links>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -10,7 +10,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack firemode=0>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -48,4 +48,8 @@
unlimitedMunition=true
/-->
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=5 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=2 maxmagazines=2 munitionpermagazine=8 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS_HS14.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS_HS14.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS_HS14.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -10,7 +10,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack firemode=0>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -48,4 +48,8 @@
unlimitedMunition=true
/-->
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=5 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=2 maxmagazines=2 munitionpermagazine=8 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsFS15.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsFS15.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsFS15.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -11,7 +11,7 @@
<WeaponSet firemode=3 />
<WeaponSet firemode=4 />
</weaponsets>
-<weapons>
+<weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -48,4 +48,10 @@
<EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
</Weapon-->
</WeaponPack>
-</weapons>
\ No newline at end of file
+</weaponpacks>
+<munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ <GravityBombMunition initialmagazines=3 maxmagazines=3 munitionpermagazine=1 />
+</munition>
\ No newline at end of file
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -10,7 +10,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=2 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -34,4 +34,9 @@
<SimpleRocketFire mode=2 munitionpershot=1 muzzleoffset="0,0,0" damage=50 delay=0.1 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -7,7 +7,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -41,5 +41,8 @@
<LightningGun mode=0 muzzleoffset="0,0,0" />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=10 maxmagazines=10 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHXY.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHXY.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHXY.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -6,7 +6,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -23,4 +23,8 @@
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20/>
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=10 maxmagazines=10 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -10,7 +10,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -39,12 +39,10 @@
<Weapon>
</Weapon>
</WeaponPack>
- <WeaponPack>
- <links>
- <DefaultWeaponmodeLink firemode=1 weaponmode=0 />
- </links>
- <!--Weapon>
- <EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
- </Weapon-->
- </WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=0.25/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=1 />
+ <GravityBombMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -9,7 +9,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -42,12 +42,9 @@
<RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />
</Weapon>
</WeaponPack>
- <WeaponPack>
- <links>
- <DefaultWeaponmodeLink firemode=1 weaponmode=0 />
- </links>
- <!--Weapon>
- <EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
- </Weapon-->
- </WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -9,7 +9,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -44,4 +44,9 @@
<EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
</Weapon-->
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsImmTest.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsImmTest.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsImmTest.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -9,7 +9,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -54,4 +54,9 @@
<EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
</Weapon-->
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -6,7 +6,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -21,4 +21,7 @@
<HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+ </munition>
\ No newline at end of file
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -1,30 +1,35 @@
-<weaponslots>
- <WeaponSlot position="11,0,-7" />
- <WeaponSlot position="0,0,-7" />
- <WeaponSlot position="-11,0,-7" />
-</weaponslots>
-<weaponsets>
- <WeaponSet firemode=0 />
- <WeaponSet firemode=1 />
- <WeaponSet firemode=2 />
-</weaponsets>
-<weapons>
- <WeaponPack>
- <links>
- <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
- <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
- <DefaultWeaponmodeLink firemode=2 weaponmode=2 />
- </links>
- <Weapon>
- <LaserFire mode=0 munitionpershot=1 damage=10 shielddamage=5 />
- <IceGun mode=1 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset="11,0,-3" freezefactor=0.5 freezetime=2.0 />
- </Weapon>
- <Weapon>
- <LaserFire mode=0 munitionpershot=1 damage=10 shielddamage=5 />
- <IceGun mode=1 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset=" -11,0,-3" freezefactor=0.5 freezetime=2.0 />
- </Weapon>
- <Weapon>
- <GravityBombFire mode=2 munitionpershot=1 delay=0.125 damage=3 muzzleoffset="0,0,-7"/>
- </Weapon>
- </WeaponPack>
-</weapons>
+ <weaponslots>
+ <WeaponSlot position="11,0,-7" />
+ <WeaponSlot position="-11,0,-7" />
+ <WeaponSlot position="0,0,-7" />
+ </weaponslots>
+ <weaponsets>
+ <WeaponSet firemode=0 />
+ <WeaponSet firemode=1 />
+ <WeaponSet firemode=2 />
+ </weaponsets>
+ <weaponpacks>
+ <WeaponPack>
+ <links>
+ <DefaultWeaponmodeLink firemode=0 weaponmode=0 />
+ <DefaultWeaponmodeLink firemode=1 weaponmode=1 />
+ <DefaultWeaponmodeLink firemode=2 weaponmode=2 />
+ </links>
+ <Weapon>
+ <LaserFire mode=0 munitionpershot=1 damage=10 shielddamage=5 />
+ <IceGun mode=1 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset="11,0,-3" freezefactor=0.5 freezetime=2.0 />
+ </Weapon>
+ <Weapon>
+ <LaserFire mode=0 munitionpershot=1 damage=10 shielddamage=5 />
+ <IceGun mode=1 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset=" -11,0,-3" freezefactor=0.5 freezetime=2.0 />
+ </Weapon>
+ <Weapon>
+ <GravityBombFire mode=2 munitionpershot=1 delay=0.125 damage=3 muzzleoffset="0,0,-7"/>
+ </Weapon>
+ </WeaponPack>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+ <GravityBombMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=1 />
+ <IceMunition initialmagazines=16 maxmagazines=16 munitionpermagazine=1 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -13,7 +13,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -86,4 +86,9 @@
<LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=0.2/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
\ No newline at end of file
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -7,7 +7,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -22,4 +22,8 @@
<LaserFire mode=1 munitionpershot=1 damage=10.0 muzzleoffset="-0.5,0.6,1.7" />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ <SplitMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -6,7 +6,7 @@
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -23,4 +23,8 @@
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -4,7 +4,7 @@
<weaponsets>
<WeaponSet firemode=0 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -19,4 +19,7 @@
<HsW01 mode=0 munitionpershot=0 delay=0 damage=1 material="Flares/point_lensflare" muzzleoffset="-1.7, -1.7,-30" />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ </munition>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret1.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret1.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret1.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -4,7 +4,7 @@
<weaponsets>
<WeaponSet firemode=0 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -19,4 +19,7 @@
<HsW01 mode=0 munitionpershot=0 delay=0 damage=20 material="Flares/point_lensflare" muzzleoffset="-1.7, -1.7,-30" />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ </munition>
\ No newline at end of file
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi 2015-11-09 16:55:42 UTC (rev 10791)
@@ -9,7 +9,7 @@
<WeaponSet firemode=2 />
<WeaponSet firemode=3 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -45,4 +45,9 @@
<EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" />
</Weapon-->
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.4/>
+ <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
+ <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
+ </munition>
\ No newline at end of file
Modified: code/branches/fabienHS15/data/levels/templates/pickupRepresentationTemplates.oxt
===================================================================
--- code/branches/fabienHS15/data/levels/templates/pickupRepresentationTemplates.oxt 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/templates/pickupRepresentationTemplates.oxt 2015-11-09 16:55:42 UTC (rev 10791)
@@ -838,7 +838,7 @@
<weaponsets>
<WeaponSet firemode=0 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -852,7 +852,10 @@
<HsW01 mode=0 munitionpershot=0 delay=0 damage=1.5708 material="Flares/point_lensflare" muzzleoffset="-0.9, 1.1,-4" />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=2 maxmagazines=2 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+ </munition>
</Drone>
</Template>
Modified: code/branches/fabienHS15/data/levels/towerDefense.oxw
===================================================================
--- code/branches/fabienHS15/data/levels/towerDefense.oxw 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/data/levels/towerDefense.oxw 2015-11-09 16:55:42 UTC (rev 10791)
@@ -59,7 +59,7 @@
<weaponsets>
<WeaponSet firemode=0 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -68,7 +68,10 @@
<HsW01 mode=0 munitionpershot=0 muzzleoffset="0,0,0" damage=2 shielddamage=1 material="Flares/point_lensflare" delay=0/>
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LaserMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+ </munition>
</TowerDefenseTower>
</Template>
@@ -96,7 +99,7 @@
<weaponsets>
<WeaponSet firemode=0 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -105,7 +108,10 @@
<LightningGun mode=0 munitionpershot=0 muzzleoffset="0,0,0" damage=2 shielddamage=4 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <LightningMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/>
+ </munition>
<attached>
<Backlight position="0,0,0" scale=2.0 colour="0.4, 0.0, 1.0" width=10 length=10 lifetime=0.3 elements=20 trailmaterial="Trail/backlighttrail" material="Examples/Flare" loop=1 />
</attached>
@@ -136,7 +142,7 @@
<weaponsets>
<WeaponSet firemode=0 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -145,7 +151,10 @@
<SplitGun mode=0 munitionpershot=0 damage=9.3 muzzleoffset=" 1.6, 1.3, -2.0" splittime=0.2 numberofsplits=2 numberofchilds=5 spread=0.1 damagereduction=3.0 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <SplitMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/>
+ </munition>
</TowerDefenseTower>
</Template>
@@ -173,7 +182,7 @@
<weaponsets>
<WeaponSet firemode=0 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -182,7 +191,10 @@
<RocketFire mode=0 munitionpershot=0 muzzleoffset="0,0,0" damage=2 shielddamage=4 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <RocketMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/>
+ </munition>
<attached>
<ParticleSpawner position="0,0,0" source="Orxonox/sparks" lifetime=3.0 autostart=1 loop=1 />
</attached>
@@ -213,7 +225,7 @@
<weaponsets>
<WeaponSet firemode=0 />
</weaponsets>
- <weapons>
+ <weaponpacks>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
@@ -222,7 +234,10 @@
<IceGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 muzzleoffset=" 0,0,0" freezefactor=0.5 freezetime=2.0 />
</Weapon>
</WeaponPack>
- </weapons>
+ </weaponpacks>
+ <munition>
+ <IceMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/>
+ </munition>
</TowerDefenseTower>
</Template>
Modified: code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -72,7 +72,7 @@
// Create two text overlays
this->textOverlayLeft_ = new OverlayText(this->getContext());
assert(this->textOverlayLeft_.get());
- this->textOverlayLeft_->setCaption("???");
+ this->textOverlayLeft_->setCaption("?");
textOverlayLeft_->setPickPoint(Vector2(0.0f,0.0f));
textOverlayLeft_->setVisible(true);
textOverlayLeft_->setAlignment(OverlayText::Center);
@@ -82,8 +82,8 @@
textOverlayLeft_->setZOrder(600);
this->textOverlayRight_ = new OverlayText(this->getContext());
- assert(this->textOverlayLeft_.get());
- this->textOverlayRight_->setCaption("???");
+ assert(this->textOverlayRight_.get());
+ this->textOverlayRight_->setCaption("?");
textOverlayRight_->setPickPoint(Vector2(0.0f,0.0f));
textOverlayRight_->setVisible(true);
textOverlayRight_->setAlignment(OverlayText::Center);
@@ -92,7 +92,7 @@
textOverlayRight_->setAspectCorrection(false);
textOverlayRight_->setZOrder(600);
- materialNameState_ = "Orxonox/WSHUD_Reloading";
+ materialNameState_ = "Orxonox/WSHUD_Empty";
overlayElementReplenish_->setMaterialName("Orxonox/WSHUD_Replenish");
}
@@ -154,21 +154,21 @@
{
materialNameState_ = "Orxonox/WSHUD_Empty";
}
- }
- if (munition->isA(Class(ReplenishingMunition)))
- {
- ReplenishingMunition* replenishingMunition = dynamic_cast<ReplenishingMunition*>(munition);
+ if (munition->isA(Class(ReplenishingMunition)))
+ {
+ ReplenishingMunition* replenishingMunition = dynamic_cast<ReplenishingMunition*>(munition);
- if (replenishingMunition->canAddMunition(1))
- {
- float progress = 1.0f - replenishingMunition->getProgress();
- overlayElementReplenish_->setDimensions(1.0f,progress);
+ if (replenishingMunition->canAddMunition(1))
+ {
+ float progress = 1.0f - replenishingMunition->getProgress();
+ overlayElementReplenish_->setDimensions(1.0f,progress);
+ }
+ else
+ {
+ overlayElementReplenish_->setDimensions(1.0f,1.0f);
+ }
}
- else
- {
- overlayElementReplenish_->setDimensions(1.0f,1.0f);
- }
}
if (materialNameState_ != lastMaterialNameState)
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -33,6 +33,7 @@
#include "FusionMunition.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -55,4 +56,9 @@
this->reloadTime_ = 0.5f;
}
+
+ void FusionMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(FusionMunition, XMLPort, xmlelement, mode);
+ }
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -52,6 +52,7 @@
public:
FusionMunition(Context* context);
virtual ~FusionMunition() {}
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
};
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -6,6 +6,7 @@
*/
#include "GravityBombMunition.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -26,6 +27,10 @@
this->reloadTime_ = 0.0f;
}
+ void GravityBombMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(GravityBombMunition, XMLPort, xmlelement, mode);
+ }
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -27,6 +27,7 @@
public:
GravityBombMunition(Context* context);
virtual ~GravityBombMunition() {}
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
};
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -33,6 +33,7 @@
#include "IceMunition.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -53,4 +54,9 @@
this->reloadTime_ = 0.5f;
}
+
+ void IceMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(IceMunition, XMLPort, xmlelement, mode);
+ }
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -52,6 +52,7 @@
public:
IceMunition(Context* context);
virtual ~IceMunition() {}
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
};
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -33,6 +33,7 @@
#include "LaserMunition.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -52,8 +53,13 @@
this->bAllowMultiMunitionRemovementUnderflow_ = true;
this->replenishInterval_ = 0.5f;
- this->replenishMunitionAmount_ = 1;
+ this->replenishAmount_ = 1;
this->reloadTime_ = 0.5f;
}
+
+ void LaserMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(LaserMunition, XMLPort, xmlelement, mode);
+ }
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -52,6 +52,7 @@
public:
LaserMunition(Context* context);
virtual ~LaserMunition() {}
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
};
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -33,6 +33,7 @@
#include "LightningMunition.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -53,4 +54,9 @@
this->reloadTime_ = 0.5f;
}
+
+ void LightningMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(LightningMunition, XMLPort, xmlelement, mode);
+ }
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -52,6 +52,7 @@
public:
LightningMunition(Context* context);
virtual ~LightningMunition() {}
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
};
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -33,6 +33,7 @@
#include "RocketMunition.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -53,4 +54,9 @@
this->reloadTime_ = 0.5f;
}
+
+ void RocketMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(RocketMunition, XMLPort, xmlelement, mode);
+ }
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -52,6 +52,7 @@
public:
RocketMunition(Context* context);
virtual ~RocketMunition() {}
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
};
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -33,6 +33,7 @@
#include "SplitMunition.h"
#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -53,4 +54,9 @@
this->reloadTime_ = 0.5f;
}
+
+ void SplitMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(SplitMunition, XMLPort, xmlelement, mode);
+ }
}
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.h
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -52,6 +52,7 @@
public:
SplitMunition(Context* context);
virtual ~SplitMunition() {}
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
};
}
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -23,7 +23,7 @@
* Martin Polak
* Fabian 'x3n' Landau
* Co-authors:
- * ...
+ * Fabien Vultier
*
*/
@@ -31,6 +31,7 @@
#include "core/CoreIncludes.h"
#include "core/command/Executor.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -59,6 +60,15 @@
delete it->second;
}
+ void Munition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(Munition, XMLPort, xmlelement, mode);
+
+ XMLPortParam(Munition, "initialmagazines", setNumMagazines, getNumMagazines, xmlelement, mode);
+ XMLPortParam(Munition, "maxmagazines", setMaxMagazines, getMaxMagazines, xmlelement, mode);
+ XMLPortParam(Munition, "munitionpermagazine", setMaxMunitionPerMagazine, getMaxMunitionPerMagazine, xmlelement, mode);
+ }
+
Munition::Magazine* Munition::getMagazine(WeaponMode* user) const
{
if (deployment_ == MunitionDeployment::Separate)
@@ -120,6 +130,11 @@
return this->magazines_;
}
+ void Munition::setNumMagazines(unsigned int numMagazines)
+ {
+ this->magazines_ = numMagazines;
+ }
+
unsigned int Munition::getMaxMunition() const
{
if (deployment_ == MunitionDeployment::Stack)
@@ -137,17 +152,26 @@
// If we stack munition, we don't care about the current magazine - we just need enough munition in total
if (deployment_ == MunitionDeployment::Stack)
+ {
munition += this->maxMunitionPerMagazine_ * this->magazines_;
+ }
if (munition == 0)
+ {
// Absolutely no munition - no chance to take munition
return false;
+ }
else if (this->bAllowMultiMunitionRemovementUnderflow_)
+ {
// We're not empty AND we allow underflow, so this will always work
return true;
+ }
else
+ {
// We don't allow underflow, so we have to check the amount
return (munition >= amount);
+ }
+
}
return false;
}
@@ -199,7 +223,7 @@
bool Munition::canReload() const
{
// As long as we have enough magazines (and don't stack munition) we can reload
- return (this->magazines_ > 0 && !deployment_ == MunitionDeployment::Stack);
+ return (this->magazines_ > 0 && deployment_ != MunitionDeployment::Stack);
}
bool Munition::needReload(WeaponMode* user) const
@@ -235,8 +259,10 @@
return false;
// If we don't use separate magazines, set user to 0
- if (!deployment_ == MunitionDeployment::Separate)
- user = 0;
+ if (deployment_ != MunitionDeployment::Separate)
+ {
+ user = NULL;
+ }
// Remove the current magazine for the given user
std::map<WeaponMode*, Magazine*>::iterator it = this->currentMagazines_.find(user);
@@ -288,7 +314,7 @@
if (deployment_ == MunitionDeployment::Stack)
{
// Stacking munition means, if a magazine gets full, the munition adds to a new magazine
- Magazine* magazine = this->getMagazine(0);
+ Magazine* magazine = this->getMagazine(NULL);
if (magazine)
{
// Add the whole amount
@@ -385,7 +411,7 @@
int needed_magazines = this->maxMagazines_ - this->magazines_ - this->currentMagazines_.size();
// If zero or less magazines are needed, we definitively don't need more magazines (unless we stack munition - then a magazine contributes directly to the munition)
- if (needed_magazines <= 0 && !deployment_ == MunitionDeployment::Stack)
+ if (needed_magazines <= 0 && deployment_ != MunitionDeployment::Stack)
return false;
if (amount <= static_cast<unsigned int>(needed_magazines))
@@ -469,8 +495,8 @@
return false;
// If we don't use separate magazines, set user to 0
- if (!deployment_ == MunitionDeployment::Separate)
- user = 0;
+ if (deployment_ != MunitionDeployment::Separate)
+ user = NULL;
// Remove the current magazine for the given user
std::map<WeaponMode*, Magazine*>::iterator it = this->currentMagazines_.find(user);
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -23,7 +23,7 @@
* Martin Polak
* Fabian 'x3n' Landau
* Co-authors:
- * ...
+ * Fabien Vultier
*
*/
@@ -68,6 +68,8 @@
Munition(Context* context);
virtual ~Munition();
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
unsigned int getNumMunition(WeaponMode* user) const;
unsigned int getNumMunitionInCurrentMagazine(WeaponMode* user) const;
unsigned int getNumMagazines() const;
@@ -117,6 +119,11 @@
private:
Magazine* getMagazine(WeaponMode* user) const;
+ inline void setMaxMagazines(unsigned int maxMagazines)
+ { this->maxMagazines_ = maxMagazines; }
+ inline void setMaxMunitionPerMagazine(unsigned int maxMunitionPerMagazine)
+ { this->maxMunitionPerMagazine_ = maxMunitionPerMagazine; }
+ void setNumMagazines(unsigned int numMagazines);
};
}
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -35,6 +35,7 @@
#include "core/CoreIncludes.h"
#include "core/command/Executor.h"
+#include "core/XMLPort.h"
namespace orxonox
{
@@ -45,7 +46,7 @@
RegisterObject(ReplenishingMunition);
this->replenishInterval_ = 1.0f;
- this->replenishMunitionAmount_ = 1;
+ this->replenishAmount_ = 1;
// Use the timer to initialize itself after the first tick (because the real values for
// replenishIntervall_ and replenishMunitionAmount_ will be set in the constructor of the
@@ -53,6 +54,14 @@
this->replenishingTimer_.setTimer(0.0f, false, createExecutor(createFunctor(&ReplenishingMunition::initializeTimer, this)));
}
+ void ReplenishingMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+ {
+ SUPER(ReplenishingMunition, XMLPort, xmlelement, mode);
+
+ XMLPortParam(ReplenishingMunition, "replenishamount", setReplenishAmount, getReplenishAmount, xmlelement, mode);
+ XMLPortParam(ReplenishingMunition, "replenishinterval", setReplenishInterval, getReplenishInterval, xmlelement, mode);
+ }
+
float ReplenishingMunition::getProgress()
{
return replenishingTimer_.getRemainingTime()/this->replenishInterval_;
@@ -66,7 +75,7 @@
void ReplenishingMunition::replenish()
{
- if (this->canAddMunition(this->replenishMunitionAmount_))
+ if (this->canAddMunition(this->replenishAmount_))
{
// Make a temporary copy of bAllowMunitionRefilling_, because this might be disallowed in every
// case except the internal munition replenishing
@@ -74,7 +83,7 @@
this->bAllowMunitionRefilling_ = true;
// Replenish munition
- this->addMunition(this->replenishMunitionAmount_);
+ this->addMunition(this->replenishAmount_);
// Write back the temporary value
this->bAllowMunitionRefilling_ = temp;
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -52,19 +52,29 @@
public:
ReplenishingMunition(Context* context);
virtual ~ReplenishingMunition() {}
+
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
virtual float getProgress();
- inline float getReplenishingMunitionAmount() const
- { return replenishMunitionAmount_; }
+ inline float getReplenishAmount() const
+ { return replenishAmount_; }
+ inline float getReplenishInterval() const
+ { return replenishInterval_; }
protected:
float replenishInterval_; //!< The interval in which the munition is replenished.
- unsigned int replenishMunitionAmount_; //!< The amount by which it is replenished.
+ unsigned int replenishAmount_; //!< The amount by which it is replenished.
private:
void replenish();
void initializeTimer();
Timer replenishingTimer_; //!< Timer to do the replenishing.
+
+ inline void setReplenishAmount(unsigned int replenishAmount)
+ { this->replenishAmount_ = replenishAmount; }
+ inline void setReplenishInterval(float replenishInterval)
+ { this->replenishInterval_ = replenishInterval; }
};
}
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/Weapon.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/Weapon.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/Weapon.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -154,4 +154,10 @@
for (std::multimap<unsigned int, WeaponMode*>::iterator it = this->weaponmodes_.begin(); it != this->weaponmodes_.end(); ++it)
it->second->setWeapon(this);
}
+
+ void Weapon::updateMunition()
+ {
+ for (std::multimap<unsigned int, WeaponMode*>::iterator it = this->weaponmodes_.begin(); it != this->weaponmodes_.end(); ++it)
+ it->second->updateMunition();
+ }
}
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/Weapon.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/Weapon.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/Weapon.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -78,6 +78,7 @@
{ this->weaponSlot_ = wSlot; }
inline WeaponSlot * getWeaponSlot() const
{ return this->weaponSlot_; }
+ void updateMunition();
private:
void reloaded();
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponMode.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponMode.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponMode.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -242,7 +242,9 @@
}
}
else
- this->munition_ = 0;
+ {
+ this->munition_ = NULL;
+ }
}
void WeaponMode::reloaded()
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponMode.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponMode.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponMode.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -152,6 +152,7 @@
inline const std::string& getHUDImageString() const
{ return this->hudImageString_; }
+ void updateMunition();
protected:
virtual void fire() = 0;
@@ -170,8 +171,7 @@
std::string hudImageString_;
- private:
- void updateMunition();
+ private:
void reloaded();
Weapon* weapon_;
@@ -188,7 +188,7 @@
Quaternion muzzleOrientation_;
WorldSound* defSndWpnFire_;
- bool bSoundAttached_;
+ bool bSoundAttached_;
};
}
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponPack.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponPack.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponPack.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -160,4 +160,10 @@
for (std::vector<Weapon *>::const_iterator it = this->weapons_.begin(); it != this->weapons_.end(); ++it)
(*it)->setWeaponPack(this);
}
+
+ void WeaponPack::updateMunition()
+ {
+ for (std::vector<Weapon *>::const_iterator it = this->weapons_.begin(); it != this->weapons_.end(); ++it)
+ (*it)->updateMunition();
+ }
}
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponPack.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponPack.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponPack.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -65,6 +65,7 @@
{ this->weaponSystem_ = weaponSystem; this->notifyWeapons(); }
inline WeaponSystem * getWeaponSystem() const
{ return this->weaponSystem_; }
+ void updateMunition();
private:
void notifyWeapons();
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponSystem.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponSystem.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponSystem.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -314,15 +314,37 @@
{
return it->second;
}
- else if (identifier->getIdentifier()->isA(Class(Munition)))
+ else
{
- Munition* munition = identifier->fabricate(this->getContext());
- this->munitions_[identifier->getIdentifier()] = munition;
- return munition;
+ return NULL;
}
+ }
+
+ void WeaponSystem::addMunition(Munition* munition)
+ {
+ if (munition == NULL)
+ {
+ return;
+ }
+
+ SubclassIdentifier<Munition> identifier = munition->getIdentifier();
+
+ if (identifier)
+ {
+ this->munitions_[identifier] = munition;
+ updateMunition();
+ }
else
{
- return 0;
+ orxout(internal_warning) << "Adding munition failed. identifier == NULL " << endl;
}
}
-}
+
+ void WeaponSystem::updateMunition()
+ {
+ for (std::vector<WeaponPack*>::iterator it = this->weaponPacks_.begin(); it != this->weaponPacks_.end(); ++it)
+ {
+ (*it)->updateMunition();
+ }
+ }
+}
\ No newline at end of file
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponSystem.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponSystem.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/WeaponSystem.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -76,6 +76,7 @@
void reload();
Munition * getMunition(SubclassIdentifier<Munition> * identifier);
+ void addMunition(Munition* munition);
inline void setPawn(Pawn * pawn)
{ this->pawn_ = pawn; }
@@ -95,6 +96,8 @@
static const unsigned int WEAPON_MODE_UNASSIGNED = static_cast<unsigned int>(-1);
private:
+ void updateMunition();
+
std::map<unsigned int, WeaponSet *> weaponSets_;
std::vector<WeaponSlot *> weaponSlots_;
std::vector<WeaponPack *> weaponPacks_;
Modified: code/branches/fabienHS15/src/orxonox/worldentities/MobileEntity.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/worldentities/MobileEntity.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/worldentities/MobileEntity.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -46,6 +46,8 @@
Every time the @see tick function is called the linear acceleration is multiplied by the time since the last call of tick and then added to the
linear velocity. Then the linear velocity is multiplied by the time since the last call of tick and then added to the position. The same happens with
the angular acceleration and velocity. With this procedure MobileEntities can change their position and orientation with time.
+
+ A MobileEntity can only have the collisition type WorldEntity::None, WorldEntity::Dynamic or WorldEntity::Kinematic. The collsion type WorldEntity::Static is illegal.
*/
class _OrxonoxExport MobileEntity : public WorldEntity, public Tickable
Modified: code/branches/fabienHS15/src/orxonox/worldentities/StaticEntity.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/worldentities/StaticEntity.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/worldentities/StaticEntity.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -43,6 +43,8 @@
In contrast to the MobileEntity the StaticEntity cannot move with respect to the parent to which it is attached. That's why
it is called StaticEntity. It will keep the same position (always with respect to its parent) forever unless you call the
function @see setPosition to changee it.
+
+ A StaticEntity can only have the collisition type WorldEntity::None or WorldEntity::Static. The collsion types WorldEntity::Dynamic and WorldEntity::Kinematic are illegal.
*/
class _OrxonoxExport StaticEntity : public WorldEntity
Modified: code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.cc 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.cc 2015-11-09 16:55:42 UTC (rev 10791)
@@ -45,6 +45,7 @@
#include "weaponsystem/WeaponSlot.h"
#include "weaponsystem/WeaponPack.h"
#include "weaponsystem/WeaponSet.h"
+#include "weaponsystem/Munition.h"
#include "sound/WorldSound.h"
#include "controllers/FormationController.h"
@@ -138,7 +139,8 @@
XMLPortObject(Pawn, WeaponSlot, "weaponslots", addWeaponSlot, getWeaponSlot, xmlelement, mode);
XMLPortObject(Pawn, WeaponSet, "weaponsets", addWeaponSet, getWeaponSet, xmlelement, mode);
- XMLPortObject(Pawn, WeaponPack, "weapons", addWeaponPackXML, getWeaponPack, xmlelement, mode);
+ XMLPortObject(Pawn, WeaponPack, "weaponpacks", addWeaponPackXML, getWeaponPack, xmlelement, mode);
+ XMLPortObject(Pawn, Munition, "munition", addMunitionXML, getMunitionXML, xmlelement, mode);
XMLPortParam(Pawn, "reloadrate", setShieldRechargeRate, getShieldRechargeRate, xmlelement, mode).defaultValues(0);
XMLPortParam(Pawn, "reloadwaittime", setShieldRechargeWaitTime, getShieldRechargeWaitTime, xmlelement, mode).defaultValues(1.0f);
@@ -556,6 +558,19 @@
return 0;
}
+ void Pawn::addMunitionXML(Munition* munition)
+ {
+ if (this->weaponSystem_ && munition)
+ {
+ this->weaponSystem_->addMunition(munition);
+ }
+ }
+
+ Munition* Pawn::getMunitionXML() const
+ {
+ return NULL;
+ }
+
Munition* Pawn::getMunition(SubclassIdentifier<Munition> * identifier)
{
if (weaponSystem_)
@@ -569,7 +584,7 @@
//Tell the Map (RadarViewable), if this is a playership
void Pawn::startLocalHumanControl()
{
-// SUPER(ControllableEntity, changedPlayer());
+// SUPER(ControllableEntity, startLocalHumanControl());
ControllableEntity::startLocalHumanControl();
this->isHumanShip_ = true;
}
Modified: code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/worldentities/pawns/Pawn.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -150,8 +150,11 @@
void addWeaponPackXML(WeaponPack * wPack);
WeaponPack * getWeaponPack(unsigned int index) const;
std::vector<WeaponPack *> * getAllWeaponPacks();
+
+ void addMunitionXML(Munition* munition);
+ Munition* getMunitionXML() const;
- Munition * getMunition(SubclassIdentifier<Munition> * identifier);
+ Munition* getMunition(SubclassIdentifier<Munition> * identifier);
virtual void addedWeaponPack(WeaponPack* wPack) {}
Modified: code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h 2015-11-09 16:53:19 UTC (rev 10790)
+++ code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h 2015-11-09 16:55:42 UTC (rev 10791)
@@ -54,6 +54,8 @@
- The <b>boost shaking</b>, when the SpaceShip boosts, the camera shakes to create a more immersive effect. Two parameters can be used to adjust the effect. The <b>shakeFrequency</b> is the frequency with which the camera shakes. And the <b>shakeAmplitude</b> is the amount with which the camera shakes. Again these parameters must bee non-negative.
- The <b>lift</b> creates a more natural flight feeling through the addition of a lift force. There are again two parameters that can be specified. The <b>lift</b> which is the lift force that is applied. And the <b>stallSpeed</b> which is the forward speed after which no more lift is generated.
+ A spaceship always needs to have the collision type "dynamic". Other collision types are illegal.
+
As mentioned @ref orxonox::Engine Engines can be mounted on the SpaceShip. Here is a (primitive) example of a SpaceShip defined in XML:
@code
<SpaceShip
More information about the Orxonox-commit
mailing list