aboutsummaryrefslogtreecommitdiff
path: root/cpp03/ex03/NinjaTrap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp03/ex03/NinjaTrap.cpp')
-rw-r--r--cpp03/ex03/NinjaTrap.cpp91
1 files changed, 91 insertions, 0 deletions
diff --git a/cpp03/ex03/NinjaTrap.cpp b/cpp03/ex03/NinjaTrap.cpp
index e69de29..2a27eec 100644
--- a/cpp03/ex03/NinjaTrap.cpp
+++ b/cpp03/ex03/NinjaTrap.cpp
@@ -0,0 +1,91 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* NinjaTrap.cpp :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/13 17:33:00 by charles #+# #+# */
+/* Updated: 2020/04/13 17:47:20 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "NinjaTrap.hpp"
+
+NinjaTrap::NinjaTrap():
+ ClapTrap()
+{
+ m_prefix = "NINJ4-TP ";
+ m_hitPoints = 60;
+ m_maxHitPoints = 60;
+ m_energyPoints = 120;
+ m_maxEnergyPoints = 120;
+ m_meleeAttackDamage = 60;
+ m_rangedAttackDamage = 5;
+ m_armorDamageReduction = 0;
+ std::cout << m_prefix << "New " << m_name << ": your gaming references suck" << std::endl;
+}
+
+NinjaTrap::NinjaTrap(std::string name):
+ ClapTrap(name)
+{
+ m_prefix = "NINJ4-TP ";
+ m_hitPoints = 60;
+ m_maxHitPoints = 60;
+ m_energyPoints = 120;
+ m_maxEnergyPoints = 120;
+ m_meleeAttackDamage = 60;
+ m_rangedAttackDamage = 5;
+ m_armorDamageReduction = 0;
+ std::cout << m_prefix << "New " << m_name << ": your gaming references suck" << std::endl;
+}
+
+NinjaTrap::NinjaTrap(NinjaTrap const& other)
+{
+ *this = other;
+}
+
+void NinjaTrap::operator=(NinjaTrap const& other)
+{
+ m_hitPoints = other.m_hitPoints;
+ m_maxHitPoints = other.m_maxHitPoints;
+ m_energyPoints = other.m_energyPoints;
+ m_maxEnergyPoints = other.m_maxEnergyPoints;
+ m_level = other.m_level;
+ m_meleeAttackDamage = other.m_meleeAttackDamage;
+ m_rangedAttackDamage = other.m_rangedAttackDamage;
+ m_armorDamageReduction = other.m_armorDamageReduction;
+}
+
+NinjaTrap::~NinjaTrap()
+{
+ std::cout << m_prefix << "Delete "<< m_name << ": your gaming references still suck" << std::endl;
+}
+
+void NinjaTrap::ninjaShoebox(NinjaTrap const& target)
+{
+ (void)target;
+ std::cout << m_prefix << m_name
+ << " attack other ninja trap, the guy who made the subject didn't gave a fuck" << std::endl;
+}
+
+void NinjaTrap::ninjaShoebox(FragTrap const& target)
+{
+ (void)target;
+ std::cout << m_prefix << m_name
+ << " attack frag trap, leave me alone" << std::endl;
+}
+
+void NinjaTrap::ninjaShoebox(ScavTrap const& target)
+{
+ (void)target;
+ std::cout << m_prefix << m_name
+ << " attack sciv trap, ehehehe look at me I'm being funny" << std::endl;
+}
+
+void NinjaTrap::ninjaShoebox(ClapTrap const& target)
+{
+ (void)target;
+ std::cout << m_prefix << m_name
+ << " attack clap trap, ISN'T THAT WHAT YOU WANTED" << std::endl;
+}