aboutsummaryrefslogtreecommitdiff
path: root/cpp04/ex01/Character.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp04/ex01/Character.cpp')
-rw-r--r--cpp04/ex01/Character.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpp04/ex01/Character.cpp b/cpp04/ex01/Character.cpp
index 5f865c7..0952738 100644
--- a/cpp04/ex01/Character.cpp
+++ b/cpp04/ex01/Character.cpp
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/14 13:44:35 by charles #+# #+# */
-/* Updated: 2020/11/12 14:28:26 by cacharle ### ########.fr */
+/* Updated: 2020/11/13 11:51:31 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -41,7 +41,7 @@ void Character::equip(AWeapon *weapon)
void Character::attack(Enemy *enemy)
{
- if (m_weapon == NULL || m_ap < m_weapon->getAPCost())
+ if (enemy == NULL || m_weapon == NULL || m_ap < m_weapon->getAPCost())
return;
std::cout << m_name << " attacks " << enemy->getType() << " with a " << m_weapon->getName() << std::endl;
m_weapon->attack();
@@ -49,6 +49,8 @@ void Character::attack(Enemy *enemy)
if (enemy->getHP() <= 0)
delete enemy;
m_ap -= m_weapon->getAPCost();
+ if (m_ap < 0)
+ m_ap = 0;
}
std::string const& Character::getName() const { return m_name; }