[Orxonox-commit 6498] r11142 - in code/branches/sagerjFS16/src: modules/weapons/weaponmodes orxonox/controllers orxonox/weaponsystem
sagerj at orxonox.net
sagerj at orxonox.net
Thu Mar 17 15:53:20 CET 2016
Author: sagerj
Date: 2016-03-17 15:53:19 +0100 (Thu, 17 Mar 2016)
New Revision: 11142
Added:
code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.cc
code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.h
Modified:
code/branches/sagerjFS16/src/orxonox/controllers/NewHumanController.cc
code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.h
Log:
first commit, added discharger weaponclass
Added: code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.cc (rev 0)
+++ code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.cc 2016-03-17 14:53:19 UTC (rev 11142)
@@ -0,0 +1,86 @@
+/*
+ * ORXONOX - the hottest 3D action shooter ever to exist
+ * > www.orxonox.net <
+ *
+ *
+ * License notice:
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Author:
+ * Martin Polak
+ * Co-authors:
+ * simonmie
+ *
+ */
+
+/**
+ @file Discharger.cc
+ @brief Definition of the Discharger class.
+*/
+
+#include "Discharger.h"
+
+#include "core/CoreIncludes.h"
+
+#include "weaponsystem/Weapon.h"
+#include "weaponsystem/WeaponPack.h"
+#include "weaponsystem/WeaponSystem.h"
+#include "worldentities/pawns/Pawn.h"
+
+#include "weapons/projectiles/BillboardProjectile.h"
+
+namespace orxonox
+{
+ RegisterClass(Discharger);
+
+ Discharger::Discharger(Context* context) : WeaponMode(context)
+ {
+ RegisterObject(Discharger);
+
+ this->reloadTime_ = 0.1f;
+ this->damage_ = 9000.1f;
+ this->speed_ = 9000.1f;
+
+ this->setMunitionName("dEnergy");
+ this->setFireSound("sounds/Weapon_Discharger.ogg");
+ this->setReloadSound("sounds/Reload_Discharger.ogg", 0.8);
+
+ hudImageString_ = "Orxonox/WSHUD_WM_LaserFire";
+ }
+
+ /**
+ @brief
+ Fires the weapon. Creates a projectile and fires it.
+ */
+ void Discharger::fire()
+ {
+
+ }
+ void Discharger::unfire()
+ {
+ BillboardProjectile* projectile = new BillboardProjectile(this->getContext());
+
+ this->computeMuzzleParameters(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()->getAimPosition());
+ projectile->setOrientation(this->getMuzzleOrientation());
+ projectile->setPosition(this->getMuzzlePosition());
+ projectile->setVelocity(this->getMuzzleDirection() * this->speed_);
+
+ projectile->setShooter(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn());
+ projectile->setDamage(this->getDamage());
+ projectile->setShieldDamage(this->getShieldDamage());
+ projectile->setHealthDamage(this->getHealthDamage());
+ }
+}
Added: code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.h
===================================================================
--- code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.h (rev 0)
+++ code/branches/sagerjFS16/src/modules/weapons/weaponmodes/Discharger.h 2016-03-17 14:53:19 UTC (rev 11142)
@@ -0,0 +1,64 @@
+/*
+ * ORXONOX - the hottest 3D action shooter ever to exist
+ * > www.orxonox.net <
+ *
+ *
+ * License notice:
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Author:
+ * Martin Polak
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file Discharger.cc
+ @brief Definition of the Discharger class.
+*/
+
+#ifndef _Discharger_H__
+#define _Discharger_H__
+
+#include "weapons/WeaponsPrereqs.h"
+#include "weaponsystem/WeaponMode.h"
+
+namespace orxonox
+{
+
+ /**
+ @brief
+ Charges energy upon releasing it with a powerful discharge
+ @author
+ Johannes Sager
+ @ingroup WeaponsWeaponModes
+ */
+ class _WeaponsExport Discharger : public WeaponMode
+ {
+ public:
+ Discharger(Context* context);
+ virtual ~Discharger() {}
+
+ virtual void fire() override;
+ virtual void unfire() override;
+
+ private:
+ float speed_; //!< The speed of the fired projectile.
+ };
+}
+
+#endif /* _Discharger_H__ */
Modified: code/branches/sagerjFS16/src/orxonox/controllers/NewHumanController.cc
===================================================================
--- code/branches/sagerjFS16/src/orxonox/controllers/NewHumanController.cc 2016-03-17 14:40:22 UTC (rev 11141)
+++ code/branches/sagerjFS16/src/orxonox/controllers/NewHumanController.cc 2016-03-17 14:53:19 UTC (rev 11142)
@@ -347,6 +347,7 @@
{
if (NewHumanController::localController_s)
NewHumanController::localController_s->doUnfire();
+ orxout() << "unfire" << endl;
}
void NewHumanController::doUnfire()
Modified: code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.h
===================================================================
--- code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.h 2016-03-17 14:40:22 UTC (rev 11141)
+++ code/branches/sagerjFS16/src/orxonox/weaponsystem/WeaponMode.h 2016-03-17 14:53:19 UTC (rev 11142)
@@ -44,7 +44,9 @@
{
/**
@brief
- A WeaponMode defines how a Weapon is used. It specifies what kind of @ref orxonox::Projectile is created when you fire it, how much time it takes to reload, what sound you hear while shooting, how much damage the projectile deals to a target, ...
+ A WeaponMode defines how a Weapon is used. It specifies what kind of
+ @ref orxonox::Projectile is created when you fire it, how much time it takes to reload,
+ what sound you hear while shooting, how much damage the projectile deals to a target, ...
*/
class _OrxonoxExport WeaponMode : public BaseObject
{
More information about the Orxonox-commit
mailing list