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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +