diff --git a/src/common/gamecode/randenc.c b/src/common/gamecode/randenc.c
index e63974921..b1ed7e63b 100644
--- a/src/common/gamecode/randenc.c
+++ b/src/common/gamecode/randenc.c
@@ -682,7 +682,7 @@ drown(region *r)
#else
int amphibian_level = 0;
#endif
- if (u->ship || u->race == new_race[RC_SPELL]) {
+ if (u->ship || u->race == new_race[RC_SPELL] || u->number==0) {
up=&u->next;
continue;
}
diff --git a/src/common/kernel/item.c b/src/common/kernel/item.c
index ccfb7338a..02ee1a7c4 100644
--- a/src/common/kernel/item.c
+++ b/src/common/kernel/item.c
@@ -1098,11 +1098,18 @@ use_bloodpotion(struct unit *u, const struct item_type *itype, int amount, struc
if (u->race == new_race[RC_DAEMON] ) {
change_effect(u, itype->rtype->ptype, 100*amount);
} else {
- trigger * trestore = trigger_changerace(u, u->race, u->irace);
- int duration = 2 + rng_int() % 8;
+ static race * rcfailure;
+ if (!rcfailure) {
+ rcfailure = rc_find("smurf");
+ if (!rcfailure) rcfailure = rc_find("toad");
+ }
+ if (rcfailure) {
+ trigger * trestore = trigger_changerace(u, u->race, u->irace);
+ int duration = 2 + rng_int() % 8;
- add_trigger(&u->attribs, "timer", trigger_timeout(duration, trestore));
- u->irace = u->race = new_race[RC_TOAD];
+ add_trigger(&u->attribs, "timer", trigger_timeout(duration, trestore));
+ u->irace = u->race = rcfailure;
+ }
}
use_pooled(u, itype->rtype, GET_SLACK|GET_RESERVE|GET_POOLED_SLACK, amount);
usetpotionuse(u, itype->rtype->ptype);
diff --git a/src/res/de/strings.xml b/src/res/de/strings.xml
index d83dbd129..257c467d3 100644
--- a/src/res/de/strings.xml
+++ b/src/res/de/strings.xml
@@ -2948,6 +2948,23 @@
braineater
+
+ Schlumpf
+ smurf
+
+
+ Schlümpfe
+ smurfs
+
+
+ Schlumpf
+ smurf
+
+
+ Schlümpfen
+ smurfs
+
+
Kröte
toad
diff --git a/src/res/races.xml b/src/res/races.xml
index bdf8b0763..dac83c8a9 100644
--- a/src/res/races.xml
+++ b/src/res/races.xml
@@ -608,6 +608,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+