diff --git a/src/common/gamecode/study.c b/src/common/gamecode/study.c index 5f10afef0..1e4938079 100644 --- a/src/common/gamecode/study.c +++ b/src/common/gamecode/study.c @@ -754,7 +754,6 @@ void teaching(void) { region *r; - unit *u; /* das sind alles befehle, die 30 tage brauchen, und die in thisorder * stehen! von allen 30-tage befehlen wird einfach der letzte verwendet * (dosetdefaults). @@ -762,6 +761,7 @@ teaching(void) * lehren vor lernen. */ for (r = regions; r; r = r->next) { + unit *u; for (u = r->units; u; u = u->next) { @@ -783,7 +783,17 @@ teaching(void) if (attacked(u)){ cmistake(u, u->thisorder, 52, MSG_PRODUCE); continue; - } + } else { + static const curse_type * gbdream_ct = NULL; + if (gbdream_ct==0) gbdream_ct = ct_find("gbdream"); + if (gbdream_ct) { + if (get_curse(u->region->attribs, gbdream_ct)) { + ADDMSG(&u->faction->msgs, + msg_feedback(u, u->thisorder, "gbdream_noteach", "")); + continue; + } + } + } teach(u, u->thisorder); break; } diff --git a/src/res/messages.xml b/src/res/messages.xml index 782bba650..5f1126437 100644 --- a/src/res/messages.xml +++ b/src/res/messages.xml @@ -3359,6 +3359,16 @@ "$unit($unit) in $region($region): '$order($command)' - Im astralen Nebel konnte niemand entdeckt werden." + + + + + + + "$unit($unit) in $region($region): '$order($command)' - Ein Zauber in dieser Region verhindert das." + "$unit($unit) in $region($region): '$order($command)' - There is an active spell in this region that prevents this." + "$unit($unit) in $region($region): '$order($command)' - There is an active spell in this region that prevents this." +