Index: code/branches/sagerjFS16/src/modules/invader/InvaderEnemyShooter.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/invader/InvaderEnemyShooter.cc	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/invader/InvaderEnemyShooter.cc	(revision 11175)
@@ -71,5 +71,5 @@
     void InvaderEnemyShooter::shoot()
     {
-        ControllableEntity::fire(0);
+        ControllableEntity::push(0);
     }
 
Index: code/branches/sagerjFS16/src/modules/invader/InvaderShip.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/invader/InvaderShip.cc	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/invader/InvaderShip.cc	(revision 11175)
@@ -91,5 +91,5 @@
         // shoot!
         if (isFireing)
-            ControllableEntity::fire(0);
+            ControllableEntity::push(0);
 
         // Camera
Index: code/branches/sagerjFS16/src/modules/jump/JumpFigure.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/jump/JumpFigure.cc	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/jump/JumpFigure.cc	(revision 11175)
@@ -398,10 +398,10 @@
     }
 
-    void JumpFigure::fire(unsigned int firemode)
-    {
-
-    }
-
-    void JumpFigure::fired(unsigned int firemode)
+    void JumpFigure::push(unsigned int firemode)
+    {
+
+    }
+
+    void JumpFigure::pushed(unsigned int firemode)
     {
         firePressed_ = true;
Index: code/branches/sagerjFS16/src/modules/jump/JumpFigure.h
===================================================================
--- code/branches/sagerjFS16/src/modules/jump/JumpFigure.h	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/jump/JumpFigure.h	(revision 11175)
@@ -47,6 +47,6 @@
             virtual void rotatePitch(const Vector2& value) override;
             virtual void rotateRoll(const Vector2& value) override;
-            void fire(unsigned int firemode);
-            virtual void fired(unsigned int firemode) override;
+            void push(unsigned int firemode);
+            virtual void pushed(unsigned int firemode) override;
             virtual void JumpFromPlatform(JumpPlatform* platform);
             virtual void JumpFromSpring(JumpSpring* spring);
Index: code/branches/sagerjFS16/src/modules/objects/controllers/TurretController.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/objects/controllers/TurretController.cc	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/objects/controllers/TurretController.cc	(revision 11175)
@@ -198,5 +198,5 @@
             {
 
-                this->getControllableEntity()->fire(0);
+                this->getControllableEntity()->push(0);
             }
         }
Index: code/branches/sagerjFS16/src/modules/towerdefense/TowerDefenseSelecter.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/towerdefense/TowerDefenseSelecter.cc	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/towerdefense/TowerDefenseSelecter.cc	(revision 11175)
@@ -146,9 +146,9 @@
     }
 
-    void TowerDefenseSelecter::fire(unsigned int firemode)
+    void TowerDefenseSelecter::push(unsigned int firemode)
     {
     }
 
-    void TowerDefenseSelecter::fired(unsigned int firemode)
+    void TowerDefenseSelecter::pushed(unsigned int firemode)
     {
         
Index: code/branches/sagerjFS16/src/modules/towerdefense/TowerDefenseSelecter.h
===================================================================
--- code/branches/sagerjFS16/src/modules/towerdefense/TowerDefenseSelecter.h	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/towerdefense/TowerDefenseSelecter.h	(revision 11175)
@@ -47,6 +47,6 @@
             virtual void rotatePitch(const Vector2& value) override;
             virtual void rotateRoll(const Vector2& value) override;
-            void fire(unsigned int firemode);
-            virtual void fired(unsigned int firemode) override;
+            void push(unsigned int firemode);
+            virtual void pushed(unsigned int firemode) override;
             virtual void boost(bool bBoost) override;
             virtual void setSelectedPosition(TDCoordinate* newPos);
Index: code/branches/sagerjFS16/src/modules/weapons/projectiles/Rocket.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/weapons/projectiles/Rocket.cc	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/weapons/projectiles/Rocket.cc	(revision 11175)
@@ -218,5 +218,5 @@
         Destroys the Rocket upon pressing "fire".
     */
-    void Rocket::fired(unsigned int firemode)
+    void Rocket::pushed(unsigned int firemode)
     {
         this->destroyObject();
Index: code/branches/sagerjFS16/src/modules/weapons/projectiles/Rocket.h
===================================================================
--- code/branches/sagerjFS16/src/modules/weapons/projectiles/Rocket.h	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/weapons/projectiles/Rocket.h	(revision 11175)
@@ -116,5 +116,5 @@
             virtual void setShooter(Pawn* shooter) override;
 
-            virtual void fired(unsigned int firemode) override;
+            virtual void pushed(unsigned int firemode) override;
 
             /**
Index: code/branches/sagerjFS16/src/modules/weapons/projectiles/RocketOld.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/weapons/projectiles/RocketOld.cc	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/weapons/projectiles/RocketOld.cc	(revision 11175)
@@ -218,5 +218,5 @@
         Destroys the RocketOld upon pressing "fire".
     */
-    void RocketOld::fired(unsigned int firemode)
+    void RocketOld::pushed(unsigned int firemode)
     {
         this->destroyObject();
Index: code/branches/sagerjFS16/src/modules/weapons/projectiles/RocketOld.h
===================================================================
--- code/branches/sagerjFS16/src/modules/weapons/projectiles/RocketOld.h	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/weapons/projectiles/RocketOld.h	(revision 11175)
@@ -116,5 +116,5 @@
             virtual void setShooter(Pawn* shooter) override;
 
-            virtual void fired(unsigned int firemode) override;
+            virtual void pushed(unsigned int firemode) override;
 
         private:
Index: code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.cc	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.cc	(revision 11175)
@@ -54,5 +54,5 @@
         this->damage_ = 90.01f;
         this->speed_ = 90.01f;
-        this->chargeable_ = 0;
+        this->chargeable_ = true;
 
         this->setMunitionName("LaserMunition");
@@ -65,5 +65,5 @@
     void Discharger::fire()
     {
-        orxout() << "release" << cTime_ << endl;
+        // orxout() << "release" << cTime_ << endl;
         BillboardProjectile* projectile = new BillboardProjectile(this->getContext());
 
@@ -71,11 +71,11 @@
         projectile->setOrientation(this->getMuzzleOrientation());
         projectile->setPosition(this->getMuzzlePosition());
-        projectile->setVelocity(this->getMuzzleDirection() * this->speed_ * charges_);
+        projectile->setVelocity(this->getMuzzleDirection() * this->speed_);
 
         projectile->setShooter(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn());
         projectile->setDamage(this->getDamage() * charges_);
-        projectile->setShieldDamage(this->getShieldDamage() * charges_);
-        projectile->setHealthDamage(this->getHealthDamage() * charges_);
-        this->charges_ = 0;
+        projectile->setShieldDamage(this->getShieldDamage());
+        projectile->setHealthDamage(this->getHealthDamage());
+        //  this->charges_ = 0;
     }
 }
Index: code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.h
===================================================================
--- code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.h	(revision 11174)
+++ code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.h	(revision 11175)
@@ -58,8 +58,9 @@
 
         private:
-            bool chargeable_;       // An indicator that this weapon type is chargeable.
-            float speed_;           // The speed of the fired projectile.
-            float ctime_;           // time the weapon has charged.
-    };
+            //bool chargeable_;     // An indicator that this weapon type is chargeable.
+            int charges_;
+            float speed_;                  // The speed of the fired projectile.
+            float ctime_;                  // time the weapon has charged.
+    }; 
 }
 
