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