adg5/Healer.cpp
2025-04-21 15:55:46 +10:00

25 lines
531 B
C++

#include "Healer.h"
#include "Actor.h"
#include "Destructible.h"
Healer::Healer(float amount) : amount(amount) {
}
bool Healer::use(Actor* owner, Actor* wearer) {
if (wearer->destructible) {
float amountHealed = wearer->destructible->heal(amount);
if (amountHealed > 0) {
return Pickable::use(owner, wearer);
}
}
return false;
}
void Healer::load(TCODZip& zip) {
amount = zip.getFloat();
}
void Healer::save(TCODZip& zip) {
zip.putInt(HEALER);
zip.putFloat(amount);
}