diff --git a/res/e3a/races.xml b/res/e3a/races.xml index 00d34e58a..c82f58b8c 100644 --- a/res/e3a/races.xml +++ b/res/e3a/races.xml @@ -4,11 +4,11 @@ - + - + @@ -31,7 +31,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -71,8 +71,8 @@ - @@ -101,7 +101,7 @@ - + @@ -120,7 +120,7 @@ - - + @@ -164,7 +164,7 @@ - - + @@ -678,11 +678,11 @@ - + - + @@ -700,10 +700,10 @@ - diff --git a/res/eressea/races.xml b/res/eressea/races.xml index eb85b6900..7b3dbb141 100644 --- a/res/eressea/races.xml +++ b/res/eressea/races.xml @@ -2,9 +2,9 @@ - @@ -584,7 +584,7 @@ - + @@ -616,7 +616,7 @@ - + @@ -675,11 +675,11 @@ - + - + @@ -737,7 +737,7 @@ - + @@ -755,7 +755,7 @@ - + @@ -780,7 +780,7 @@ - + @@ -812,7 +812,7 @@ - + @@ -840,7 +840,7 @@ - + @@ -870,7 +870,7 @@ - + @@ -900,7 +900,7 @@ - + @@ -957,7 +957,7 @@ - + @@ -1085,8 +1085,8 @@ - + @@ -1115,7 +1115,7 @@ - + @@ -1141,7 +1141,7 @@ - + @@ -1172,7 +1172,7 @@ - + diff --git a/src/kernel/race.c b/src/kernel/race.c index 596f1527f..fa872778c 100644 --- a/src/kernel/race.c +++ b/src/kernel/race.c @@ -363,6 +363,8 @@ race *rc_create(const char *zName) rc->regaura = 1.0F; rc->speed = 1.0F; rc->battle_flags = 0; + rc->at_default = -2; + rc->df_default = -2; if (strchr(zName, ' ') != NULL) { log_error("race '%s' has an invalid name. remove spaces\n", zName); assert(strchr(zName, ' ') == NULL); diff --git a/src/kernel/race.test.c b/src/kernel/race.test.c index 9a118bc74..4d0734026 100644 --- a/src/kernel/race.test.c +++ b/src/kernel/race.test.c @@ -59,6 +59,8 @@ static void test_rc_defaults(CuTest *tc) { CuAssertIntEquals(tc, 0, rc->armor); CuAssertIntEquals(tc, 0, rc->at_bonus); CuAssertIntEquals(tc, 0, rc->df_bonus); + CuAssertIntEquals(tc, -2, rc->df_default); + CuAssertIntEquals(tc, -2, rc->at_default); CuAssertIntEquals(tc, 0, rc->battle_flags); CuAssertIntEquals(tc, PERSON_WEIGHT, rc->weight); test_teardown(); diff --git a/src/xmlreader.c b/src/xmlreader.c index b26bff66c..26d706fae 100644 --- a/src/xmlreader.c +++ b/src/xmlreader.c @@ -1321,8 +1321,8 @@ static int parse_races(xmlDocPtr doc) } } - rc->at_default = (char)xml_ivalue(node, "unarmedattack", -2); - rc->df_default = (char)xml_ivalue(node, "unarmeddefense", -2); + rc->at_default = (char)xml_ivalue(node, "unarmedattack", rc->at_default); + rc->df_default = (char)xml_ivalue(node, "unarmeddefense", rc->df_default); rc->at_bonus = (char)xml_ivalue(node, "attackmodifier", rc->at_bonus); rc->df_bonus = (char)xml_ivalue(node, "defensemodifier", rc->df_bonus);