#include "Glock.h" #define print(n) std::cout << n << std::endl; Glock::Glock(const int damagePerRound, const int clipSize, const int remainingAmmo) : Pistol(damagePerRound, clipSize, remainingAmmo) {} bool Glock::fire(PlayerVitalData& enemyData) { for (int i = 0; i < ROUNDS_PER_FIRE; i++) { this->_currClipBullets--; if (this->_currClipBullets < 0) { Pistol::reload(); break; } else { if (enemyData.armor == 0) { enemyData.health -= _damagePerRound; } else if ((_damagePerRound * 0.50) > enemyData.armor) // Проверявам дали 50% от текущата щета е по-голяма от бронята { enemyData.health -= _damagePerRound - enemyData.armor; enemyData.armor = 0; } else { enemyData.armor -= _damagePerRound * 0.50; enemyData.health -= _damagePerRound * 0.50; } } print("Enemy left with: " << enemyData.health << " health and " << enemyData.armor << " armor"); if (enemyData.health <= 0) return true; } return false; }