diff --git a/src/common/kernel/building.c b/src/common/kernel/building.c
index 1780b4de0..975977613 100644
--- a/src/common/kernel/building.c
+++ b/src/common/kernel/building.c
@@ -240,9 +240,7 @@ findbuilding(int i)
/** Building: Fortification */
enum {
B_SITE,
-#if LARGE_CASTLES
B_TRADEPOST,
-#endif
B_FORTIFICATION,
B_TOWER,
B_CASTLE,
@@ -277,9 +275,7 @@ castle_name(int bsize)
{
const char * fname[MAXBUILDINGS] = {
"site",
-#if LARGE_CASTLES
"tradepost",
-#endif
"fortification",
"tower",
"castle",
@@ -302,42 +298,6 @@ castle_name(int bsize)
return fname[i];
}
-static requirement castle_req[] = {
- { R_STONE, 1, 0.5 },
- { NORESOURCE, 0, 0.0 },
-};
-
-#if LARGE_CASTLES
-static construction castle_bld[MAXBUILDINGS] = {
- { SK_BUILDING, 1, 2, 1, castle_req, &castle_bld[1] },
- { SK_BUILDING, 1, 8, 1, castle_req, &castle_bld[2] },
- { SK_BUILDING, 2, 40, 1, castle_req, &castle_bld[3] },
- { SK_BUILDING, 3, 200, 1, castle_req, &castle_bld[4] },
- { SK_BUILDING, 4, 1000, 1, castle_req, &castle_bld[5] },
- { SK_BUILDING, 5, 5000, 1, castle_req, &castle_bld[6] },
- { SK_BUILDING, 6, -1, 1, castle_req, NULL }
-};
-#else
-static construction castle_bld[MAXBUILDINGS] = {
- { SK_BUILDING, 1, 2, 1, castle_req, &castle_bld[1] },
- { SK_BUILDING, 2, 8, 1, castle_req, &castle_bld[2] },
- { SK_BUILDING, 3, 40, 1, castle_req, &castle_bld[3] },
- { SK_BUILDING, 4, 200, 1, castle_req, &castle_bld[4] },
- { SK_BUILDING, 5, 1000, 1, castle_req, &castle_bld[5] },
- { SK_BUILDING, 6, -1, 1, castle_req, NULL }
-};
-#endif
-
-building_type bt_castle = {
- "castle",
- BTF_NONE,
- 1, 4, -1,
- 0, 0, 0, 1.0,
- NULL,
- &castle_bld[0],
- castle_name
-};
-
#if WDW_PYRAMID
static requirement wdw_pyramid_req[][] = {
{{R_STONE, 100, 0}, {R_WOOD, 100, 0}, {R_IRON, 100, 0}, {NORESOURCE, 0, 0.0 }},
@@ -452,7 +412,6 @@ register_buildings(void)
{
register_function((pf_generic)init_smithy, "init_smithy");
register_function((pf_generic)castle_name, "castle_name");
- bt_register(&bt_castle);
#if WDW_PYRAMID
register_function((pf_generic)wdw_pyramid_name, "wdw_pyramid_name");
diff --git a/src/common/kernel/eressea.c b/src/common/kernel/eressea.c
index 298198a97..be84b0748 100644
--- a/src/common/kernel/eressea.c
+++ b/src/common/kernel/eressea.c
@@ -2810,7 +2810,6 @@ plagues(region * r, boolean ismagic)
/* Lohn bei den einzelnen Burgstufen für Normale Typen, Orks, Bauern,
* Modifikation für Städter. */
-#if LARGE_CASTLES
static const int wagetable[7][4] = {
{10, 10, 11, -7}, /* Baustelle */
{10, 10, 11, -5}, /* Handelsposten */
@@ -2820,16 +2819,6 @@ static const int wagetable[7][4] = {
{14, 12, 15, 1}, /* Festung */
{15, 13, 16, 2} /* Zitadelle */
};
-#else
-static const int wagetable[7][4] = {
- {10, 10, 11, -5}, /* Baustelle */
- {11, 11, 12, -3}, /* Befestigung */
- {12, 11, 13, -1}, /* Turm */
- {13, 12, 14, 0}, /* Burg */
- {14, 12, 15, 1}, /* Festung */
- {15, 13, 16, 2} /* Zitadelle */
-};
-#endif
int
wage(const region *r, const unit *u, boolean img)
diff --git a/src/common/kernel/item.c b/src/common/kernel/item.c
index 181579c85..0e1e00426 100644
--- a/src/common/kernel/item.c
+++ b/src/common/kernel/item.c
@@ -992,27 +992,6 @@ static t_item itemdata[MAXITEMS] = {
{"Mallorn", "Mallorn", "Mallorn", "Mallorn"},
IS_RESOURCE, SK_LUMBERJACK, 2, {0, 0, 0, 0, 0, 0}, 500, 0, 0, NULL
},
- { /* I_KEKS 46 *//* Item für Questenzwecke */
- {"Keks", "Kekse", "Keks", "Kekse"},
- IS_MAGIC, 0, 0, {0, 0, 0, 0, 0, 0}, 0, 0, 0, NULL
- },
- { /* I_APFEL 47 *//* Item für Questenzwecke */
- {"Apfel", "Äpfel", "Apfel", "Äpfel"},
- IS_MAGIC, 0, 0, {0, 0, 0, 0, 0, 0}, 0, 0, 0, NULL
- },
- { /* I_NUSS 48 *//* Item für Questenzwecke */
- {"Nuß", "Nüsse", "Nuß", "Nüsse"},
- IS_MAGIC, 0, 0, {0, 0, 0, 0, 0, 0}, 0, 0, 0, NULL
- },
- { /* I_MANDELKERN 49 *//* Item für Questenzwecke */
- {"Mandelkern", "Mandelkerne", "Mandelkern", "Mandelkerne"},
- IS_MAGIC, 0, 0, {0, 0, 0, 0, 0, 0}, 0, 0, 0, NULL
- },
- { /* I_AMULETT_DES_TREFFENS 58 */
- {"Amulett des Treffens", "Amulette des Treffens",
- "Amulett des Treffens", "Amulette des Treffens"},
- IS_MAGIC, 0, 0, {0, 0, 0, 0, 0, 0}, 0, 0, 0, NULL
- },
{ /* I_DRACHENBLUT 59 */
{"Drachenblut", "Drachenblut", "Drachenblut", "Drachenblut"},
IS_MAGIC, 0, 0, {0, 0, 0, 0, 0, 0}, 100, 0, 0, NULL
diff --git a/src/common/kernel/item.h b/src/common/kernel/item.h
index e8d93671c..95274e235 100644
--- a/src/common/kernel/item.h
+++ b/src/common/kernel/item.h
@@ -307,18 +307,6 @@ enum {
I_SHIELD,
I_LANCE,
I_MALLORN,
- I_KEKS,
- I_APFEL,
- I_NUSS,
- I_MANDELKERN,
-#ifdef COMPATIBILITY
- I_STAB_DES_SCHICKSALS,
- I_STAB_DER_VERDAMMNIS,
- I_STAB_DES_TODES,
- I_STAB_DES_CHAOS,
- I_STECKEN_DER_MACHT,
-#endif
- I_AMULETT_DES_TREFFENS,
I_DRACHENBLUT,
I_FEENSTIEFEL,
I_BIRTHDAYAMULET,
@@ -341,6 +329,13 @@ enum {
I_SACK_OF_CONSERVATION,
I_SPHERE_OF_INVISIBILITY,
I_RUSTY_HALBERD,
+#ifdef COMPATIBILITY
+ I_STAB_DES_SCHICKSALS,
+ I_STAB_DER_VERDAMMNIS,
+ I_STAB_DES_TODES,
+ I_STAB_DES_CHAOS,
+ I_STECKEN_DER_MACHT,
+#endif
MAX_ITEMS /* do not use outside item.c ! */
};
@@ -376,11 +371,6 @@ enum {
R_SHIELD,
R_LANCE,
R_MALLORN,
- R_KEKS,
- R_APFEL,
- R_NUSS,
- R_MANDELKERN,
- R_AMULETT_DES_TREFFENS,
R_DRACHENBLUT,
R_FEENSTIEFEL,
R_BIRTHDAYAMULET,
diff --git a/src/common/kernel/xmlreader.c b/src/common/kernel/xmlreader.c
index f5d40a0f6..ddd73e115 100644
--- a/src/common/kernel/xmlreader.c
+++ b/src/common/kernel/xmlreader.c
@@ -159,7 +159,8 @@ xml_readconstruction(xmlXPathContextPtr xpath, xmlNodePtr * nodeTab, int nodeNr,
int m;
assert(*consPtr==NULL);
- con = *consPtr = calloc(sizeof(construction), 1);
+ *consPtr = con = calloc(sizeof(construction), 1);
+ consPtr = &con->improvement;
property = xmlGetProp(node, BAD_CAST "skill");
assert(property!=NULL);
diff --git a/src/common/modules/gmcmd.c b/src/common/modules/gmcmd.c
index 622430747..7e9c6cb3e 100644
--- a/src/common/modules/gmcmd.c
+++ b/src/common/modules/gmcmd.c
@@ -705,7 +705,7 @@ gm_addquest(const char * email, const char * name, short radius, unsigned int fl
for (i=0;i<=I_INCENSE;++i) {
a_add((attrib**)&a->data.v, make_atgmcreate(olditemtype[i]));
}
- for (i=I_LAENSWORD;i!=I_KEKS;++i) {
+ for (i=I_LAENSWORD;i!=I_DRACHENBLUT;++i) {
a_add((attrib**)&a->data.v, make_atgmcreate(olditemtype[i]));
}
@@ -770,7 +770,7 @@ gm_addfaction(const char * email, plane * p, region * r)
for (i=0;i<=I_INCENSE;++i) {
a_add((attrib**)&a->data.v, make_atgmcreate(olditemtype[i]));
}
- for (i=I_LAENSWORD;i!=I_KEKS;++i) {
+ for (i=I_LAENSWORD;i!=I_DRACHENBLUT;++i) {
a_add((attrib**)&a->data.v, make_atgmcreate(olditemtype[i]));
}
diff --git a/src/common/settings-eressea.h b/src/common/settings-eressea.h
index a009ab922..d4e3dd2c4 100644
--- a/src/common/settings-eressea.h
+++ b/src/common/settings-eressea.h
@@ -18,7 +18,6 @@
#define IMMUN_GEGEN_ANGRIFF 8
#define RESOURCE_CONVERSION 1
#define NEW_RESOURCEGROWTH 1
-#define LARGE_CASTLES 1
#define REDUCED_PEASANTGROWTH 1
#define RACE_ADJUSTMENTS 1
#define TEACHDIFFERENCE 2
@@ -37,14 +36,14 @@
auf die Hälfte */
#define ASTRAL_ITEM_RESTRICTIONS /* keine grossen dinge im astralraum */
-
-#define MUSEUM_MODULE
-#define ARENA_MODULE
-#define SCORE_MODULE
-#define WORMHOLE_MODULE
-#define XECMD_MODULE
-
#define NEW_DAEMONHUNGER_RULE
#define NEW_COMBATSKILLS_RULE
#define ROW_FACTOR 3 /* factor for combat row advancement rule */
#define HEROES
+
+#define SCORE_MODULE
+#define MUSEUM_MODULE
+#define ARENA_MODULE
+#define WORMHOLE_MODULE
+#define XECMD_MODULE
+
diff --git a/src/common/settings-tutorial.h b/src/common/settings-tutorial.h
index 441e69719..12b80a3b7 100644
--- a/src/common/settings-tutorial.h
+++ b/src/common/settings-tutorial.h
@@ -18,7 +18,6 @@
#define IMMUN_GEGEN_ANGRIFF 8
#define RESOURCE_CONVERSION 1
#define NEW_RESOURCEGROWTH 1
-#define LARGE_CASTLES 1
#define REDUCED_PEASANTGROWTH 1
#define RACE_ADJUSTMENTS 1
#define TEACHDIFFERENCE 2
@@ -28,12 +27,18 @@
#define RESOURCE_QUANTITY 0.5
#define RECRUITFRACTION 40 /* 100/RECRUITFRACTION% */
#define CHANGED_CROSSBOWS 1
-#define NEWATSROI 0
#define COMBAT_TURNS 5
#define PEASANTS_DO_NOT_STARVE 0
#define NEW_MIGRATION 1
#define ASTRAL_HUNGER
+#define NEWATSROI 0
+#define HUNGER_REDUCES_SKILL /* Hunger reduziert den Talentwert
+ auf die Hälfte */
#define ASTRAL_ITEM_RESTRICTIONS /* keine grossen dinge im astralraum */
+#define NEW_DAEMONHUNGER_RULE
+#define NEW_COMBATSKILLS_RULE
+#define ROW_FACTOR 3 /* factor for combat row advancement rule */
+#define HEROES
#define SCORE_MODULE
diff --git a/src/common/settings-vinyambar-3.h b/src/common/settings-vinyambar-3.h
index fc61be658..832785f64 100644
--- a/src/common/settings-vinyambar-3.h
+++ b/src/common/settings-vinyambar-3.h
@@ -18,7 +18,6 @@
#define IMMUN_GEGEN_ANGRIFF 8
#define RESOURCE_CONVERSION 1
#define NEW_RESOURCEGROWTH 1
-#define LARGE_CASTLES 1
#define REDUCED_PEASANTGROWTH 1
#define RACE_ADJUSTMENTS 1
#define TEACHDIFFERENCE 2
diff --git a/src/common/settings-wdw.h b/src/common/settings-wdw.h
index 3ee51fd6a..18efecaba 100644
--- a/src/common/settings-wdw.h
+++ b/src/common/settings-wdw.h
@@ -18,7 +18,6 @@
#define IMMUN_GEGEN_ANGRIFF 8
#define RESOURCE_CONVERSION 1
#define NEW_RESOURCEGROWTH 1
-#define LARGE_CASTLES 1
#define REDUCED_PEASANTGROWTH 1
#define RACE_ADJUSTMENTS 1
#define TEACHDIFFERENCE 2
diff --git a/src/eressea/korrektur.c b/src/eressea/korrektur.c
index b2388d816..e1a8ab671 100644
--- a/src/eressea/korrektur.c
+++ b/src/eressea/korrektur.c
@@ -402,7 +402,7 @@ update_gms(void)
for (k=0;keys[k];++k) {
add_key((attrib**)&permissions->data.v, atoi36(keys[k]));
}
- for (i=I_LAENSWORD;i!=I_KEKS;++i) {
+ for (i=I_LAENSWORD;i!=I_DRACHENBLUT;++i) {
attrib * a = a_find((attrib*)permissions->data.v, &at_gmcreate);
while (a && a->data.v!=(void*)olditemtype[i]) a=a->nexttype;
if (!a) a_add((attrib**)&permissions->data.v, make_atgmcreate(olditemtype[i]));
diff --git a/src/mapper/map_modify.c b/src/mapper/map_modify.c
index 998b9bb5c..d4c5c86f4 100644
--- a/src/mapper/map_modify.c
+++ b/src/mapper/map_modify.c
@@ -160,8 +160,8 @@ block_create(short x1, short y1, int size, char chaotisch, int special, char ter
newblock[x][y] = terrain_create(local_climate);
vset_erase(&fringe, (void *) c);
for (d = 0; d != MAXDIRECTIONS; ++d) {
- int dx = x+delta_x[d];
- int dy = y+delta_y[d];
+ short dx = x+delta_x[d];
+ short dy = y+delta_y[d];
if (dx >= 0 && dx < BLOCKSIZE && dy >= 0 && dy < BLOCKSIZE && newblock[dx][dy] == T_OCEAN)
vset_add(&fringe, (void *) (((short) (dx) << 16) +
((short) (dy) & 0xFFFF)));
diff --git a/src/res/buildings.xml b/src/res/buildings.xml
index 0b5b0bfda..f8c54876c 100644
--- a/src/res/buildings.xml
+++ b/src/res/buildings.xml
@@ -6,18 +6,21 @@
+
+
+
@@ -27,6 +30,7 @@
+
@@ -37,6 +41,7 @@
+
@@ -47,6 +52,7 @@
+
@@ -57,6 +63,7 @@
+
@@ -65,6 +72,7 @@
+
@@ -74,6 +82,7 @@
+
@@ -83,6 +92,7 @@
+
@@ -94,6 +104,7 @@
+
@@ -105,6 +116,7 @@
+
@@ -114,6 +126,7 @@
+
@@ -122,6 +135,7 @@
+
@@ -131,6 +145,7 @@
+
@@ -140,6 +155,7 @@
+
@@ -149,6 +165,7 @@
+
@@ -156,5 +173,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/res/resources.xml b/src/res/resources.xml
index 2c3a6099a..290336621 100644
--- a/src/res/resources.xml
+++ b/src/res/resources.xml
@@ -2,7 +2,6 @@
-
-
@@ -14,6 +13,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-