diff --git a/unit.cpp b/unit.cpp index aec3522..17eaa84 100755 --- a/unit.cpp +++ b/unit.cpp @@ -322,9 +322,11 @@ namespace battleship{ vector currTechs = player->getTechnologies(); string name = unitTable["name"]; - health = unitTable["health"]; health += game->calcAbilFromTech(Ability::Type::HEALTH, currTechs, (int)GameObject::type, id); vehicle = unitTable["isVehicle"]; - maxHealth = health; + health += game->calcAbilFromTech(Ability::Type::HEALTH, currTechs, (int)GameObject::type, id); + maxHealth = unitTable["health"]; + + if(health == 0) health = maxHealth; lineOfSight = unitTable["lineOfSight"]; lineOfSight += game->calcAbilFromTech(Ability::Type::LINE_OF_SIGHT, currTechs, (int)GameObject::type, id); unitClass = (UnitClass)unitTable["unitClass"]; diff --git a/unit.h b/unit.h index eaa0725..a09e3c7 100755 --- a/unit.h +++ b/unit.h @@ -176,7 +176,7 @@ namespace battleship{ UnitType type; std::vector orders; std::string guiScreen = ""; - int health, maxHealth, playerId, lenHpBar = 200; + int health = 0, maxHealth, playerId, lenHpBar = 200; vb01::s64 orderLineDispTime = 0, lastFireTime = 0; float lineOfSight; std::vector armorTypes;