[Orxonox-commit 6221] r10878 - in code/branches/fabienHS15: data/levels/includes src/modules/overlays/hud src/modules/weapons/munitions src/orxonox/controllers src/orxonox/weaponsystem

fvultier at orxonox.net fvultier at orxonox.net
Fri Nov 27 18:49:55 CET 2015


Author: fvultier
Date: 2015-11-27 18:49:54 +0100 (Fri, 27 Nov 2015)
New Revision: 10878

Modified:
   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/src/modules/overlays/hud/HUDEnemyShieldBar.cc
   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/GravityBombMunition.cc
   code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.cc
   code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc
   code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.cc
   code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.cc
   code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.cc
   code/branches/fabienHS15/src/orxonox/controllers/HumanController.cc
   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
Log:


Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff.oxi	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -44,7 +44,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=2 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsAssff2.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -42,7 +42,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -46,7 +46,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -26,5 +26,5 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/>
     </munition>      

Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS.oxi	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -50,6 +50,6 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=5 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=5 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsFPS_HS14.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -50,6 +50,6 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=5 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=5 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsFS15.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -50,7 +50,7 @@
   </WeaponPack>
 </weaponpacks>
 <munition>
-  <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+  <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/>
   <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
   <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />
   <GravityBombMunition initialmagazines=3 maxmagazines=3 munitionpermagazine=1 />

Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -36,7 +36,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -43,6 +43,6 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=10 maxmagazines=10 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=10 maxmagazines=10 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/>
     </munition>
 

Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHXY.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHXY.oxi	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHXY.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -25,6 +25,6 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=10 maxmagazines=10 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=10 maxmagazines=10 munitionpermagazine=10 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -41,7 +41,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=0.25/>
+      <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=6.0/>
       <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 />
       <RocketMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=1 />
       <GravityBombMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 />

Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -44,7 +44,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=5.0/>
       <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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -46,7 +46,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.0/>
       <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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsImmTest.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -56,7 +56,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.0/>
       <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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -23,5 +23,5 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.0/>
     </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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -29,7 +29,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/>
+      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/>
       <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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -88,7 +88,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=0.2/>
+      <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/>
       <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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -24,6 +24,6 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -25,6 +25,6 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -21,5 +21,5 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/>
     </munition>

Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret1.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret1.oxi	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsTurret1.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -21,5 +21,5 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/>
+      <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi	2015-11-27 17:49:54 UTC (rev 10878)
@@ -47,7 +47,7 @@
       </WeaponPack>
     </weaponpacks>
     <munition>
-      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=0.4/>
+      <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/>
       <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/src/modules/overlays/hud/HUDEnemyShieldBar.cc
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDEnemyShieldBar.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDEnemyShieldBar.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -70,11 +70,11 @@
             while (target && !target->isA(Class(Pawn)))
                 target = target->getParent();
             pawn = orxonox_cast<Pawn*>(target);
-            // Don't show the HealthBar if the pawn is invisible
+            // Don't show the EnemyShieldBar if the pawn is invisible
             if (pawn && !pawn->isVisible())
                 pawn = NULL;
         }
-        // Set the pawn as owner of the HealthBar
+        // Set the pawn as owner of the EnemyShieldBar
         this->setShieldBarOwner(pawn);
         this->setVisible(pawn != NULL);
     }

Modified: code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -159,7 +159,7 @@
                 {
                     ReplenishingMunition* replenishingMunition = dynamic_cast<ReplenishingMunition*>(munition);
 
-                    if (replenishingMunition->canAddMunition(1))
+                    if (replenishingMunition->canAddMagazines(1))
                     {
                         float progress = 1.0f - replenishingMunition->getProgress();
                         overlayElementReplenish_->setDimensions(1.0f,progress);                    

Modified: code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/FusionMunition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -45,7 +45,7 @@
 
         this->maxMunitionPerMagazine_ = 10;
         this->maxMagazines_ = 10;
-        this->magazines_ = 10;
+        this->unassignedMagazines_ = 10;
 
         this->deployment_ = MunitionDeployment::Separate;
 

Modified: code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/GravityBombMunition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -17,7 +17,7 @@
         RegisterObject(GravityBombMunition);
         this->maxMunitionPerMagazine_ = 1;
         this->maxMagazines_ = 30;
-        this->magazines_ = 15;
+        this->unassignedMagazines_ = 15;
 
         this->deployment_ = MunitionDeployment::Stack;
 

Modified: code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/IceMunition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -45,7 +45,7 @@
 
         this->maxMunitionPerMagazine_ = 1;
         this->maxMagazines_ = 50;
-        this->magazines_ = 25;
+        this->unassignedMagazines_ = 25;
 
         this->deployment_ = MunitionDeployment::Stack;
 

Modified: code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -45,14 +45,14 @@
 
         this->maxMunitionPerMagazine_ = 20;
         this->maxMagazines_ = 10;
-        this->magazines_ = 10;
+        this->unassignedMagazines_ = 10;
 
         this->deployment_ = MunitionDeployment::Separate;
 
         this->bAllowMunitionRefilling_ = true;
         this->bAllowMultiMunitionRemovementUnderflow_ = true;
 
-        this->replenishInterval_ = 0.5f;
+        this->replenishInterval_ = 7.0f;
         this->replenishAmount_ = 1;
 
         this->reloadTime_ = 0.5f;

Modified: code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/LightningMunition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -45,7 +45,7 @@
 
         this->maxMunitionPerMagazine_ = 20;
         this->maxMagazines_ = 1;
-        this->magazines_ = 1;
+        this->unassignedMagazines_ = 1;
 
         this->deployment_ = MunitionDeployment::Share;
 

Modified: code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/RocketMunition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -45,7 +45,7 @@
 
         this->maxMunitionPerMagazine_ = 1;
         this->maxMagazines_ = 30;
-        this->magazines_ = 10;
+        this->unassignedMagazines_ = 10;
 
         this->deployment_ = MunitionDeployment::Stack;
 

Modified: code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/SplitMunition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -45,7 +45,7 @@
 
         this->maxMunitionPerMagazine_ = 5;
         this->maxMagazines_ = 10;
-        this->magazines_ = 5;
+        this->unassignedMagazines_ = 5;
 
         this->deployment_ = MunitionDeployment::Share;
 

Modified: code/branches/fabienHS15/src/orxonox/controllers/HumanController.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/controllers/HumanController.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/orxonox/controllers/HumanController.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -198,7 +198,7 @@
     /**
     @brief
         Starts the boosting mode.
-        Resets the boosting timeout and ells the ControllableEntity to boost (or not boost anymore).
+        Resets the boosting timeout and tells the ControllableEntity to boost (or not boost anymore).
     */
     void HumanController::startBoosting(void)
     {

Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -43,7 +43,7 @@
 
         this->maxMunitionPerMagazine_ = 10;
         this->maxMagazines_ = 10;
-        this->magazines_ = 10;
+        this->unassignedMagazines_ = 10;
 
         this->deployment_ = MunitionDeployment::Stack;
         this->bAllowMunitionRefilling_ = true;
@@ -56,7 +56,7 @@
 
     Munition::~Munition()
     {
-        for (std::map<WeaponMode*, Magazine*>::iterator it = this->currentMagazines_.begin(); it != this->currentMagazines_.end(); ++it)
+        for (std::map<WeaponMode*, Magazine*>::iterator it = this->assignedMagazines_.begin(); it != this->assignedMagazines_.end(); ++it)
             delete it->second;
     }
 
@@ -78,15 +78,15 @@
                 return 0;
 
             // Use the map to get the magazine assigned to the given user
-            std::map<WeaponMode*, Magazine*>::const_iterator it = this->currentMagazines_.find(user);
-            if (it != this->currentMagazines_.end())
+            std::map<WeaponMode*, Magazine*>::const_iterator it = this->assignedMagazines_.find(user);
+            if (it != this->assignedMagazines_.end())
                 return it->second;
         }
         else
         {
             // We don't use separate magazines for each user, so just take the first magazine
-            if (this->currentMagazines_.size() > 0)
-                return this->currentMagazines_.begin()->second;
+            if (this->assignedMagazines_.size() > 0)
+                return this->assignedMagazines_.begin()->second;
         }
 
         return 0;
@@ -99,7 +99,7 @@
         {
             if (deployment_ == MunitionDeployment::Stack)
                 // With stacked munition every magazine contributes to the total amount
-                return this->maxMunitionPerMagazine_ * this->magazines_ + magazine->munition_;
+                return this->maxMunitionPerMagazine_ * this->unassignedMagazines_ + magazine->munition_;
             else
                 // Wihtout stacked munition we just consider the current magazine
                 return magazine->munition_;
@@ -124,15 +124,15 @@
             // If we stack munition and the current magazine is still full, it counts too
             Magazine* magazine = this->getMagazine(0);
             if (magazine && magazine->munition_ == this->maxMunitionPerMagazine_)
-                return this->magazines_ + 1;
+                return this->unassignedMagazines_ + 1;
         }
 
-        return this->magazines_;
+        return this->unassignedMagazines_;
     }
 
     void Munition::setNumMagazines(unsigned int numMagazines)
     {
-        this->magazines_ = numMagazines;
+        this->unassignedMagazines_ = numMagazines;
     }
 
     unsigned int Munition::getMaxMunition() const
@@ -153,7 +153,7 @@
             // 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_;
+                munition += this->maxMunitionPerMagazine_ * this->unassignedMagazines_;
             }
 
             if (munition == 0)
@@ -199,7 +199,7 @@
                     amount -= magazine->munition_;
                     magazine->munition_ = 0;
 
-                    if (this->reload(0))
+                    if (this->reload(NULL))
                         // Successfully reloaded, continue recursively
                         return this->takeMunition(amount, 0);
                     else
@@ -223,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->unassignedMagazines_ > 0 && deployment_ != MunitionDeployment::Stack);
     }
 
     bool Munition::needReload(WeaponMode* user) const
@@ -251,7 +251,7 @@
             return false;
 
         // Check if we actually can reload
-        if (this->magazines_ == 0)
+        if (this->unassignedMagazines_ == 0)
             return false;
 
         // If we use separate magazines for each user, we definitively need a user given
@@ -265,20 +265,20 @@
         }
 
         // Remove the current magazine for the given user
-        std::map<WeaponMode*, Magazine*>::iterator it = this->currentMagazines_.find(user);
-        if (it != this->currentMagazines_.end())
+        std::map<WeaponMode*, Magazine*>::iterator it = this->assignedMagazines_.find(user);
+        if (it != this->assignedMagazines_.end())
         {
             if (it->first == lastFilledWeaponMode_)
             {
                 lastFilledWeaponMode_ = NULL;
             }            
             delete it->second;
-            this->currentMagazines_.erase(it);
+            this->assignedMagazines_.erase(it);
         }
 
         // Load a new magazine
-        this->currentMagazines_[user] = new Magazine(this, bUseReloadTime);
-        this->magazines_--;
+        this->assignedMagazines_[user] = new Magazine(this, bUseReloadTime);
+        this->unassignedMagazines_--;
 
         return true;
     }
@@ -298,7 +298,7 @@
         else
         {
             // Return true if any of the current magazines is not full (loading counts as full although it returns 0 munition)
-            for (std::map<WeaponMode*, Magazine*>::const_iterator it = this->currentMagazines_.begin(); it != this->currentMagazines_.end(); ++it)
+            for (std::map<WeaponMode*, Magazine*>::const_iterator it = this->assignedMagazines_.begin(); it != this->assignedMagazines_.end(); ++it)
                 if (it->second->munition_ < this->maxMunitionPerMagazine_ && it->second->bLoaded_)
                     return true;
         }
@@ -324,13 +324,13 @@
                 while (magazine->munition_ > this->maxMunitionPerMagazine_)
                 {
                     magazine->munition_ -= this->maxMunitionPerMagazine_;
-                    this->magazines_++;
+                    this->unassignedMagazines_++;
                 }
 
                 // If we reached the limit, reduce both magazines and munition to the maximum
-                if (this->magazines_ >= this->maxMagazines_)
+                if (this->unassignedMagazines_ >= this->maxMagazines_)
                 {
-                    this->magazines_ = this->maxMagazines_;
+                    this->unassignedMagazines_ = this->maxMagazines_;
                     magazine->munition_ = this->maxMunitionPerMagazine_;
                 }
 
@@ -348,11 +348,11 @@
             // Otherwise set it to the next weapon mode
             if (lastFilledWeaponMode_ == NULL)
             {
-                it = this->currentMagazines_.begin();
+                it = this->assignedMagazines_.begin();
             }
             else
             {
-                it = this->currentMagazines_.find(lastFilledWeaponMode_);
+                it = this->assignedMagazines_.find(lastFilledWeaponMode_);
                 ++ it;
             }
 
@@ -361,7 +361,7 @@
             while (amount > 0)
             {
                 bool change = false;
-                while (it != this->currentMagazines_.end())
+                while (it != this->assignedMagazines_.end())
                 {
                     // Add munition if the magazine isn't full (but only to loaded magazines)
                     if (amount > 0 && it->second->munition_ < this->maxMunitionPerMagazine_ && it->second->bLoaded_)
@@ -382,7 +382,7 @@
                     break;
                 }                    
 
-                it = this->currentMagazines_.begin();
+                it = this->assignedMagazines_.begin();
                 firstLoop = false;
             }
 
@@ -399,30 +399,34 @@
             return (this->getNumMunition(0) < this->getMaxMunition());
         else
             // If we don't stack munition, we're more limited
-            return ((this->currentMagazines_.size() + this->magazines_) < this->maxMagazines_);
+            return ((this->assignedMagazines_.size() + this->unassignedMagazines_) < this->maxMagazines_);
     }
 
-    bool Munition::addMagazines(unsigned int amount)
+    unsigned int Munition::addMagazines(unsigned int amount)
     {
+        unsigned int addedMagazines = 0;
+
         if (!this->canAddMagazines(amount))
-            return false;
+            return 0;
 
         // Calculate how many magazines are needed
-        int needed_magazines = this->maxMagazines_ - this->magazines_ - this->currentMagazines_.size();
+        int needed_magazines = this->maxMagazines_ - this->unassignedMagazines_ - this->assignedMagazines_.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)
-            return false;
+            return 0;
 
         if (amount <= static_cast<unsigned int>(needed_magazines))
         {
             // We need more magazines than we get, so just add them
-            this->magazines_ += amount;
+            this->unassignedMagazines_ += amount;
+            addedMagazines = amount;
         }
         else
         {
             // We get more magazines than we need, so just add the needed amount
-            this->magazines_ += needed_magazines;
+            this->unassignedMagazines_ += needed_magazines;
+            addedMagazines = needed_magazines;
             if (deployment_ == MunitionDeployment::Stack)
             {
                 // We stack munition, so the additional amount contributes directly to the munition of the current magazine
@@ -432,19 +436,33 @@
             }
         }
 
-        return true;
+        // Reload as many empty magazines as possible
+        // Double loop and break is needed because the reload function changes the assigned magazines. This may confuse the iterator.
+        for (unsigned int i = 0; i < addedMagazines; ++i)
+        {
+            for (std::map<WeaponMode*, Magazine*>::iterator it = this->assignedMagazines_.begin(); it != this->assignedMagazines_.end(); ++it)
+            {
+                if (needReload(it->first))
+                {
+                    reload(it->first);
+                    break;
+                }
+            }
+        }
+
+        return addedMagazines;
     }
 
     bool Munition::canRemoveMagazines(unsigned int amount) const
     {
         if (deployment_ == MunitionDeployment::Stack)
         {
-            if (this->magazines_ >= amount)
+            if (this->unassignedMagazines_ >= amount)
             {
                 // We have enough magazines
                 return true;
             }
-            else if (this->magazines_ == amount - 1)
+            else if (this->unassignedMagazines_ == amount - 1)
             {
                 // We lack one magazine, check if the current magazine is still full, if yes we're fine
                 Magazine* magazine = this->getMagazine(0);
@@ -460,7 +478,7 @@
         else
         {
             // In case we're not stacking munition, just check the number of magazines
-            return (this->magazines_ >= amount);
+            return (this->unassignedMagazines_ >= amount);
         }
 
         return false;
@@ -471,15 +489,15 @@
         if (!this->canRemoveMagazines(amount))
             return false;
 
-        if (this->magazines_ >= amount)
+        if (this->unassignedMagazines_ >= amount)
         {
             // We have enough magazines, just remove the amount
-            this->magazines_ -= amount;
+            this->unassignedMagazines_ -= amount;
         }
         else if (deployment_ == MunitionDeployment::Stack)
         {
             // We don't have enough magazines, but we're stacking munition, so additionally remove the bullets from the current magazine
-            this->magazines_ = 0;
+            this->unassignedMagazines_ = 0;
             Magazine* magazine = this->getMagazine(0);
             if (magazine)
                 magazine->munition_ = 0;
@@ -499,15 +517,15 @@
             user = NULL;
 
         // Remove the current magazine for the given user
-        std::map<WeaponMode*, Magazine*>::iterator it = this->currentMagazines_.find(user);
-        if (it != this->currentMagazines_.end())
+        std::map<WeaponMode*, Magazine*>::iterator it = this->assignedMagazines_.find(user);
+        if (it != this->assignedMagazines_.end())
         {
             if (it->first == lastFilledWeaponMode_)
             {
                 lastFilledWeaponMode_ = NULL;
             }
             delete it->second;
-            this->currentMagazines_.erase(it);           
+            this->assignedMagazines_.erase(it);           
             return true;
         }
 

Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h	2015-11-27 17:49:54 UTC (rev 10878)
@@ -96,7 +96,12 @@
             bool addMunition(unsigned int amount);
 
             bool canAddMagazines(unsigned int amount) const;
-            bool addMagazines(unsigned int amount);
+            /**
+            @brief Try to add magazines.
+            @param amount The amount of magazines tried to add.
+            @return The amount of magazines sucessfully added.
+            */
+            unsigned int addMagazines(unsigned int amount);
 
             bool canRemoveMagazines(unsigned int amount) const;
             bool removeMagazines(unsigned int amount);
@@ -106,15 +111,15 @@
         protected:
             unsigned int maxMunitionPerMagazine_;
             unsigned int maxMagazines_;
-            unsigned int magazines_;
-            std::map<WeaponMode*, Magazine*> currentMagazines_; // Maps weapon modes to magazines that are currently used.
+            unsigned int unassignedMagazines_; // Number of magazines that are not assigned to a weapon mode. These are alway treated as full.
+            std::map<WeaponMode*, Magazine*> assignedMagazines_; // Maps weapon modes to magazines that are currently used.
 
             MunitionDeployment::Value deployment_; // Defines the behaviour how munition and magazines are distributed to the consuming weapon modes.
 
             bool bAllowMunitionRefilling_;
             bool bAllowMultiMunitionRemovementUnderflow_;
 
-            float reloadTime_;
+            float reloadTime_; // The time needed to replace a magazine by a new one.
             WeaponMode* lastFilledWeaponMode_; // Pointer to the weapon mode that got the last munition during the last call of addMunition.
 
         private:

Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.cc	2015-11-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.cc	2015-11-27 17:49:54 UTC (rev 10878)
@@ -75,7 +75,7 @@
 
     void ReplenishingMunition::replenish()
     {
-        if (this->canAddMunition(this->replenishAmount_))
+        if (this->canAddMagazines(this->replenishAmount_))
         {
             // Make a temporary copy of bAllowMunitionRefilling_, because this might be disallowed in every
             // case except the internal munition replenishing
@@ -83,7 +83,7 @@
             this->bAllowMunitionRefilling_ = true;
 
             // Replenish munition
-            this->addMunition(this->replenishAmount_);
+            this->addMagazines(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-27 15:42:14 UTC (rev 10877)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/ReplenishingMunition.h	2015-11-27 17:49:54 UTC (rev 10878)
@@ -63,10 +63,10 @@
 
         protected:                          
             float replenishInterval_; //!< The interval in which the munition is replenished.
-            unsigned int replenishAmount_; //!< The amount by which it is replenished.
+            unsigned int replenishAmount_; //!< The amount of magazines by which it is replenished.
 
         private:
-            void replenish();
+            void replenish(); //!< Every call of this function replenishes the munition. This function is called by the timer.
             void initializeTimer();
 
             Timer replenishingTimer_; //!< Timer to do the replenishing.




More information about the Orxonox-commit mailing list