: name("")
, sprite(0)
+, weapon(0)
+, armor(0)
+, shield(0)
+, helmet(0)
+, ring(0)
+, jewel(0)
+
+, meleeAnimation(0)
+, attackAnimation(0)
+, spellAnimation(0)
+
, maxHealth(0)
, health(0)
, maxMana(0)
, mana(0)
-, attack(0)
-, defense(0)
-, agility(0)
-, intelligence(0)
-, gut(0)
-, magicResistance(0)
-
, level(0)
, ip(0) {
}
+
+void Hero::SubtractHealth(int amount) {
+ if (amount > Health()) {
+ health = 0;
+ } else {
+ health -= amount;
+ int ipGain(amount * 255 / health);
+ if (ip + ipGain > 255) {
+ ip = 255;
+ } else {
+ ip += ipGain;
+ }
+ }
+}
+
}