52 lines
1.5 KiB
C++
52 lines
1.5 KiB
C++
#ifndef RTS_ITEMS_HPP
|
|
#define RTS_ITEMS_HPP
|
|
|
|
#include "item.hpp"
|
|
|
|
class Medkit : public Item {
|
|
ITEM_CLASS(Medkit, "Medkit",
|
|
"Standard emergency home medical kit. Use to manage wounds and stabilize a person.");
|
|
private:
|
|
Medkit();
|
|
public:
|
|
virtual bool can_use_on(Unit *used_by, gd::Object *used_on) const override;
|
|
protected:
|
|
virtual void use_on(Unit *used_by, gd::Object *used_on) const override;
|
|
};
|
|
|
|
class Handgun : public Item {
|
|
ITEM_CLASS(Handgun, "9mm handgun.",
|
|
"A standard issue police firearm.");
|
|
private:
|
|
Handgun();
|
|
public:
|
|
virtual bool can_use_on(Unit *used_by, gd::Object *used_on) const override;
|
|
virtual void apply_stats(Stats &stats) const override;
|
|
protected:
|
|
virtual void use_on(Unit *used_by, gd::Object *used_on) const override;
|
|
};
|
|
|
|
class Lasercutter : public Item {
|
|
ITEM_CLASS(Lasercutter, "Lasercutter",
|
|
"A laser cutter, use to clear metal obstacles.");
|
|
private:
|
|
Lasercutter();
|
|
public:
|
|
// virtual bool can_use_on(Unit *used_by, gd::Object *object) const override;
|
|
protected:
|
|
// virtual void use_on(Unit *used_by, gd::Object *object) const override;
|
|
};
|
|
|
|
class Welder : public Item {
|
|
ITEM_CLASS(Welder, "Welder",
|
|
"A welder with tanks intended to be carried on a person's back. Use to repair broken metal parts.");
|
|
private:
|
|
Welder();
|
|
public:
|
|
// virtual bool can_use_on(Unit *used_by, gd::Object *object) const override;
|
|
protected:
|
|
// virtual void use_on(Unit *used_by, gd::Object *object) const override;
|
|
};
|
|
|
|
#endif // !RTS_ITEMS_HPP
|