--- /dev/null
+#ifndef DAMAGESOURCE_H_
+#define DAMAGESOURCE_H_
+
+#include <msp/game/component.h>
+
+struct DamageSourceSetup
+{
+ unsigned amount = 1;
+ unsigned type = 0;
+};
+
+class DamageSource: public Msp::Game::Component
+{
+public:
+ using Setup = DamageSourceSetup;
+
+private:
+ const Setup &setup;
+
+public:
+ DamageSource(Msp::Game::Handle<Msp::Game::Entity>, const Setup &);
+
+ unsigned get_amount() const { return setup.amount; }
+ unsigned get_type() const { return setup.type; }
+};
+
+#endif