diff --git a/src/common/gamecode/creport.c b/src/common/gamecode/creport.c
index 440cd4382..d2e40ef48 100644
--- a/src/common/gamecode/creport.c
+++ b/src/common/gamecode/creport.c
@@ -251,7 +251,7 @@ print_curses(FILE * F, const faction * viewer, const void * obj, typ_t typ)
}
if (dh==0) {
if (c->type->info_str!=NULL) {
- strcpy(buf, c->type->info_str);
+ sprintf(buf, "%s (%s)", c->type->info_str, itoa36(c->no));
} else {
sprintf(buf, "an unknown curse lies on the region. (%s)", itoa36(c->no));
}
diff --git a/src/common/gamecode/laws.c b/src/common/gamecode/laws.c
index 8808335e4..72e54be16 100644
--- a/src/common/gamecode/laws.c
+++ b/src/common/gamecode/laws.c
@@ -1157,6 +1157,7 @@ parse_quit(void)
if (fval(f, FFL_OVERRIDE)) {
free(f->override);
f->override = strdup(itoa36(rand()));
+ freset(f, FFL_OVERRIDE);
}
if (turn!=f->lastorders) {
char info[256];
diff --git a/src/common/kernel/eressea.c b/src/common/kernel/eressea.c
index 02adbdc9e..e19bfabaf 100644
--- a/src/common/kernel/eressea.c
+++ b/src/common/kernel/eressea.c
@@ -55,7 +55,6 @@
#include "save.h"
#include "ship.h"
#include "skill.h"
-#include "spell.h"
#include "unit.h"
/* util includes */
@@ -3161,7 +3160,6 @@ void
attrib_init(void)
{
/* Alle speicherbaren Attribute müssen hier registriert werden */
- at_register(&at_unitdissolve);
at_register(&at_shiptrail);
at_register(&at_familiar);
at_register(&at_familiarmage);
@@ -3172,7 +3170,6 @@ attrib_init(void)
at_register(&at_mage);
at_register(&at_countdown);
at_register(&at_curse);
- at_register(&at_cursewall);
at_register(&at_seenspell);
at_register(&at_deathcloud);
@@ -3205,9 +3202,6 @@ attrib_init(void)
register_bordertype(&bt_fogwall);
register_bordertype(&bt_wall);
register_bordertype(&bt_illusionwall);
- register_bordertype(&bt_firewall);
- register_bordertype(&bt_wisps);
- register_bordertype(&bt_chaosgate);
register_bordertype(&bt_road);
register_bordertype(&bt_questportal);
@@ -3218,9 +3212,6 @@ attrib_init(void)
at_register(&at_laen); /* required for old datafiles */
#ifdef XECMD_MODULE
at_register(&at_xontormiaexpress); /* required for old datafiles */
-#endif
-#ifdef WDW_PYRAMIDSPELL
- at_register(&at_wdwpyramid);
#endif
at_register(&at_speedup);
at_register(&at_nodestroy);
diff --git a/src/common/kernel/movement.c b/src/common/kernel/movement.c
index 2e524366c..7acac44c4 100644
--- a/src/common/kernel/movement.c
+++ b/src/common/kernel/movement.c
@@ -38,7 +38,6 @@
#include "race.h"
#include "region.h"
#include "render.h"
-#include "spell.h"
#include "ship.h"
#include "skill.h"
#include "teleport.h"
diff --git a/src/common/kernel/reports.c b/src/common/kernel/reports.c
index eadb980a8..3a7fb0741 100644
--- a/src/common/kernel/reports.c
+++ b/src/common/kernel/reports.c
@@ -35,7 +35,6 @@
#include "region.h"
#include "ship.h"
#include "skill.h"
-#include "spell.h"
#include "unit.h"
#ifdef USE_UGROUPS
# include "ugroup.h"
diff --git a/src/common/kernel/spell.c b/src/common/kernel/spell.c
index 9948a88e7..2a7a9dffa 100644
--- a/src/common/kernel/spell.c
+++ b/src/common/kernel/spell.c
@@ -8224,11 +8224,7 @@ static spell spelldaten[] =
(spell_f)sp_blessstonecircle, patzer
},
{
- SPL_GWYRRD_ARMORSHIELD, "Rindenhaut",
- "Dieses vor dem Kampf zu zaubernde Ritual gibt den eigenen Truppen "
- "einen zusätzlichen Bonus auf ihre Rüstung. Jeder Treffer "
- "reduziert die Kraft des Zaubers, so dass der Schild sich irgendwann "
- "im Kampf auflösen wird.", NULL, NULL,
+ SPL_GWYRRD_ARMORSHIELD, "barkskin", NULL, NULL, NULL,
M_DRUIDE, (PRECOMBATSPELL | SPELLLEVEL), 2, 12,
{
{ R_AURA, 4, SPC_LEVEL },
@@ -8240,11 +8236,7 @@ static spell spelldaten[] =
(spell_f)sp_armorshield, patzer
},
{
- SPL_DROUGHT, "Beschwörung eines Hitzeelementar",
- "Dieses Ritual beschwört wütende Elementargeister der Hitze. "
- "Eine Dürre sucht das Land heim. Bäume verdorren, Tiere verenden, "
- "und die Ernte fällt aus. Für Tagelöhner gibt es kaum noch Arbeit "
- "in der Landwirtschaft zu finden.", NULL, NULL,
+ SPL_DROUGHT, "summonfireelemental", NULL, NULL, NULL,
M_DRUIDE, (FARCASTING|REGIONSPELL|TESTRESISTANCE), 5, 13,
{
{ R_AURA, 600, SPC_FIX },
@@ -8256,12 +8248,7 @@ static spell spelldaten[] =
(spell_f)sp_drought, patzer
},
{
- SPL_FOG_OF_CONFUSION, "Nebel der Verwirrung",
- "Der Druide beschwört die Elementargeister des Nebels. Sie werden sich "
- "für einige Zeit in der Umgebung festsetzen und sie mit dichtem Nebel "
- "überziehen. Personen innerhalb des magischen Nebels verlieren die "
- "Orientierung und haben große Schwierigkeiten, sich in eine bestimmte "
- "Richtung zu bewegen.", NULL, NULL,
+ SPL_FOG_OF_CONFUSION, "fogofconfusion", NULL, NULL, NULL,
M_DRUIDE,
(FARCASTING|SPELLLEVEL),
5, 14,
@@ -10602,6 +10589,14 @@ init_spells(void)
for (i=0;spelldaten[i].id!=SPL_NOSPELL;++i) {
register_spell(spelldaten+i);
}
+ at_register(&at_cursewall);
+ at_register(&at_unitdissolve);
+#ifdef WDW_PYRAMIDSPELL
+ at_register(&at_wdwpyramid);
+#endif
+ register_bordertype(&bt_firewall);
+ register_bordertype(&bt_wisps);
+ register_bordertype(&bt_chaosgate);
}
static boolean
diff --git a/src/common/spells/buildingcurse.c b/src/common/spells/buildingcurse.c
index 2219743eb..20afda070 100644
--- a/src/common/spells/buildingcurse.c
+++ b/src/common/spells/buildingcurse.c
@@ -57,30 +57,31 @@ cinfo_building(const struct locale * lang, const void * obj, typ_t typ, curse *c
static int
cinfo_magicrunes(const struct locale* lang, const void * obj, typ_t typ, curse *c, int self)
{
-
+ message * msg = NULL;
if (typ == TYP_BUILDING){
building * b;
b = (building*)obj;
- if (self != 0){
- sprintf(buf, "Auf den Mauern von %s erkennt man seltsame Runen. (%s)",
- b->name, curseid(c));
- return 1;
+ if (self != 0) {
+ msg = msg_message(mkname("curseinfo", "magicrunes_building"), "building id", b, c->no);
}
} else if (typ == TYP_SHIP) {
ship *sh;
sh = (ship*)obj;
if (self != 0){
- sprintf(buf, "Auf den Planken von %s erkennt man seltsame Runen. (%s)",
- sh->name, curseid(c));
- return 1;
- }
+ msg = msg_message(mkname("curseinfo", "magicrunes_ship"), "ship id", sh, c->no);
+ }
}
+ if (msg!=NULL) {
+ nr_render(msg, lang, buf, sizeof(buf), NULL);
+ msg_release(msg);
+ return 1;
+ }
return 0;
}
static struct curse_type ct_magicrunes = { "magicrunes",
CURSETYP_NORM, 0, M_SUMEFFECT,
- "Dieses Zauber verstärkt die natürliche Widerstandskraft gegen eine "
+ "Dieser Zauber verstärkt die natürliche Widerstandskraft gegen eine "
"Verzauberung.",
cinfo_magicrunes
};
diff --git a/src/mapper/mapper.c b/src/mapper/mapper.c
index fcacd3d38..f68bf0da4 100644
--- a/src/mapper/mapper.c
+++ b/src/mapper/mapper.c
@@ -401,7 +401,8 @@ highlight_region(region *r)
void
drawmap(boolean maponly) {
- int x, x1, y1, y2, s, q;
+ short x, x1, y1, y2;
+ int s, q;
chtype rs;
region *r;
@@ -592,7 +593,7 @@ mark(int x, int y, int rx, int ry) {
refresh();
}
-void unmark(int x, int y, int rx, int ry) {
+static void unmark(short x, short y, short rx, short ry) {
int q;
region *r=findregion(rx,ry);
chtype rs;
@@ -830,10 +831,11 @@ recalc_everything(int *x, int *y, int *rx, int *ry)
#define restore { x=oldx; y=oldy; rx=oldrx; ry=oldry; }
-void
-movearound(int rx, int ry) {
- int hx = -1, hy = -1, ch, x, y, Rand, d, a, b, p, q, oldx=0, oldy=0;
+static void
+movearound(short rx, short ry) {
+ int hx = -1, hy = -1, ch, Rand, d, a, b, p, q, oldx=0, oldy=0;
int oldrx=0, oldry=0, Hx=0, Hy=0;
+ short x, y;
int sel;
static int editmode=0;
char *selc;
diff --git a/src/res/de/strings.xml b/src/res/de/strings.xml
index 5e554425d..5a49e4525 100644
--- a/src/res/de/strings.xml
+++ b/src/res/de/strings.xml
@@ -3824,6 +3824,10 @@
Segne Steinkreis
Bless Stone Circle
+
+ Rindenhaut
+ Barkskin
+
Verwünschung
Hex
@@ -3890,6 +3894,14 @@
Beschwöre Schattendämonen
Summon Shadowdemons
+
+ Beschwörung eines Hitzeelementar
+ Summon Fire Elemental
+
+
+ Nebel der Verwirrung
+ Fog of Confusion
+
Untote Helden
Undead Heroes
@@ -4826,6 +4838,17 @@
per level.
+
+ Dieses vor dem Kampf zu zaubernde Ritual gibt den
+ eigenen Truppen einen zusätzlichen Bonus auf ihre Rüstung. Jeder
+ Treffer reduziert die Kraft des Zaubers, so dass der Schild sich
+ irgendwann im Kampf auflösen wird.
+
+ Performing this ritual before going into battle gives
+ your troups an additional bonus to their armor. Every hit reduces the
+ energy of the spell, dissolving it at some point during battle.
+
+
Der Zauberer schleudert fokussiertes
Chaos in die Reihen der Gegner. Das ballförmige
@@ -5038,6 +5061,31 @@
their victims.
+
+ Der Druide beschwört die Elementargeister des Nebels.
+ Sie werden sich für einige Zeit in der Umgebung festsetzen und sie mit
+ dichtem Nebel überziehen. Personen innerhalb des magischen Nebels
+ verlieren die Orientierung und haben große Schwierigkeiten, sich in
+ eine bestimmte Richtung zu bewegen.
+
+ The druid summons a group of water elementals that
+ cover the region in a thick fog. People inside this magical fog lose
+ their orientation and have great difficulties moving in a specific
+ direction.
+
+
+
+ Dieses Ritual beschwört wütende Elementargeister der
+ Hitze. Eine Dürre sucht das Land heim. Bäume verdorren, Tiere
+ verenden, und die Ernte fällt aus. Für Tagelöhner gibt es kaum noch
+ Arbeit in der Landwirtschaft zu finden.
+
+ This Ritual summons an angry elemental spirit that
+ puts a drought on the entire region. Trees wither, animals die of
+ thirst and the harvest is destroyed. Workers find little to no work
+ in farming.
+
+
Dieses Ritual bindet die bereits
entfliehenden Seelen einiger Kampfopfer an ihren
diff --git a/src/res/messages.xml b/src/res/messages.xml
index bb94c5d30..00b9231cb 100644
--- a/src/res/messages.xml
+++ b/src/res/messages.xml
@@ -6347,4 +6347,22 @@
"$unit($unit) in $region($region): $int($amount) $resource($item,$amount) turn to dust."
+
+
+
+
+
+ "Auf den Mauern von $building($building) erkennt man seltsame Runen. ($int36($id))"
+ "The walls of $building($building) are inscribed with strange runes. ($int36($id))"
+
+
+
+
+
+
+
+ "Auf den Planken von $ship($ship) erkennt man seltsame Runen. ($int36($id))"
+ "The plank of $ship($ship) are inscribed with strange runes. ($int36($id))"
+
+