Skip to content
Snippets Groups Projects
Select Git revision
  • 5f1aae9ab9e291e85a4f109aae139ae38613a6f3
  • main default protected
  • leveleditor
  • david-author
  • clang-tidy-cleanup
  • architecture-refactoring
  • cleanUpMenus
  • doxygen-cleanup
  • project-structure-refactoring
  • interpolation
  • buildingFeatures
  • win_end_screen
  • helpMenu
  • leveleditor-placement
  • text-rendering
  • updated_unit_contextmenu
  • level-from-commandline
  • unit_contextmenu
  • player
  • engine-scaling
  • clang-tidy
21 results

unit.cpp

Blame
  • unit.cpp 880 B
    #include "unit.hpp"
    
    Unit::Unit(std::string name, int health, int speed, int attack, std::pair<int, int> range, MovementType movement, WeaponType weapon)
        : name(std::move(name)), health(health), speed(speed), attack(attack), range(range), movement(movement), weapon(weapon) {}
    
    
    //TODO: IF necessary, implement scaling attack by remaining health
    void Unit::init_combat(Unit &defender)
    {
        //Attacker gets first move, inflicts its damage upon the the defender
        defender.setHealth(defender.getHealth() - this.getAttack());
    
        //if defender survives, it gets to inflict its damage upon the attacker
        if(defender.getHealth() > 0) {
            this.setHealth(this.getHealth() - defender.getAttack());
        } else { //if ded, defender gets deleted
            defender.~Unit();
        }
    }
    
    void Unit::update_position(int posX, int posY)
    {
        this.setX(posX);
        this.setY(posY);
    }