diff --git a/res/core/messages.xml b/res/core/messages.xml
index 0afc458c2..71a870475 100644
--- a/res/core/messages.xml
+++ b/res/core/messages.xml
@@ -1182,7 +1182,25 @@
"$unit($unit) drowns in $region($region)."
-
+
+
+
+
+
+ "$unit($unit) nimmt Schaden durch den Giftelementar in $region($region)."
+ "$unit($unit) is taking poison damage in $region($region)."
+
+
+
+
+
+
+
+ "$unit($unit) stirbt am Schaden durch den Giftelementar in $region($region)."
+ "$unit($unit) dies from poison damage taken in $region($region)."
+
+
+
diff --git a/src/spells.c b/src/spells.c
index 401f0ac9e..b7e1e6868 100644
--- a/src/spells.c
+++ b/src/spells.c
@@ -2820,9 +2820,9 @@ static int dc_age(struct curse *c)
if (curse_active(c))
while (*up != NULL) {
unit *u = *up;
+ int hp;
double damage = c->effect * u->number;
- freset(u->faction, FFL_SELECT);
if (u->number <= 0 || target_resists_magic(mage, u, TYP_UNIT, 0)) {
up = &u->next;
continue;
@@ -2830,8 +2830,9 @@ static int dc_age(struct curse *c)
/* Reduziert durch Magieresistenz */
damage *= (1.0 - magic_resistance(u));
- change_hitpoints(u, -(int)damage);
+ hp = change_hitpoints(u, -(int)damage);
+ ADDMSG(&u->faction->msgs, msg_message((hp>0)?"poison_damage":"poison_death", "region unit", r, u));
if (*up == u)
up = &u->next;
}