diff --git a/src/kernel/jsonconf.c b/src/kernel/jsonconf.c index dcc4c9c0c..7a074a410 100644 --- a/src/kernel/jsonconf.c +++ b/src/kernel/jsonconf.c @@ -461,7 +461,7 @@ static void json_race(cJSON *json, race *rc) { rc->magres = child->valueint; } else if (strcmp(child->string, "maxaura") == 0) { - rc->maxaura = (float)child->valuedouble; + rc->maxaura = child->valueint; } else if (strcmp(child->string, "regaura") == 0) { rc->regaura = (float)child->valuedouble; diff --git a/src/kernel/jsonconf.test.c b/src/kernel/jsonconf.test.c index 5b0590bf8..7c591f075 100644 --- a/src/kernel/jsonconf.test.c +++ b/src/kernel/jsonconf.test.c @@ -137,7 +137,7 @@ static void test_races(CuTest * tc) const char * data = "{\"races\": { \"orc\" : { " "\"damage\" : \"1d4\"," "\"magres\" : 100," - "\"maxaura\" : 2.0," + "\"maxaura\" : 200," "\"regaura\" : 3.0," "\"speed\" : 4.0," "\"recruitcost\" : 1," @@ -165,7 +165,8 @@ static void test_races(CuTest * tc) CuAssertStrEquals(tc, "1d4", rc->def_damage); CuAssertIntEquals(tc, 100, rc->magres); CuAssertDblEquals(tc, 1.0, rc_magres(rc), 0.0); - CuAssertDblEquals(tc, 2.0, rc->maxaura, 0.0); + CuAssertIntEquals(tc, 200, rc->maxaura); + CuAssertDblEquals(tc, 2.0, rc_maxaura(rc), 0.0); CuAssertDblEquals(tc, 3.0, rc->regaura, 0.0); CuAssertDblEquals(tc, 4.0, rc->speed, 0.0); CuAssertIntEquals(tc, 1, rc->recruitcost); diff --git a/src/kernel/race.c b/src/kernel/race.c index 75ff16436..59d263108 100644 --- a/src/kernel/race.c +++ b/src/kernel/race.c @@ -287,7 +287,7 @@ double rc_magres(const race *rc) { } double rc_maxaura(const race *rc) { - return rc->maxaura; + return rc->maxaura / 100.0; } const char* rc_name(const race * rc, name_t n, char *name, size_t size) { diff --git a/src/kernel/race.h b/src/kernel/race.h index 7acc7fea5..82d8cdf69 100644 --- a/src/kernel/race.h +++ b/src/kernel/race.h @@ -118,7 +118,7 @@ extern "C" { char *_name; int magres; int healing; - double maxaura; /* Faktor auf Maximale Aura */ + int maxaura; /* Faktor auf Maximale Aura */ double regaura; /* Faktor auf Regeneration */ double recruit_multi; /* Faktor f�r Bauernverbrauch */ int index; diff --git a/src/kernel/xmlreader.c b/src/kernel/xmlreader.c index 638dae189..d75a6583f 100644 --- a/src/kernel/xmlreader.c +++ b/src/kernel/xmlreader.c @@ -1637,7 +1637,7 @@ static int parse_races(xmlDocPtr doc) rc->magres = xml_ivalue(node, "magres", rc->magres); rc->healing = (int)(xml_fvalue(node, "healing", rc->healing) * 100); // TODO: store as int in XML - rc->maxaura = (float)xml_fvalue(node, "maxaura", rc->maxaura); + rc->maxaura = (int)(xml_fvalue(node, "maxaura", rc->maxaura) * 100); // TODO: store as int in XML rc->regaura = (float)xml_fvalue(node, "regaura", rc->regaura); rc->recruitcost = xml_ivalue(node, "recruitcost", rc->recruitcost); rc->maintenance = xml_ivalue(node, "maintenance", rc->maintenance); diff --git a/src/magic.test.c b/src/magic.test.c index e2c25bf81..4a6078589 100644 --- a/src/magic.test.c +++ b/src/magic.test.c @@ -433,9 +433,9 @@ static void test_max_spellpoints(CuTest *tc) { rc = test_create_race("human"); u = test_create_unit(test_create_faction(rc), test_create_region(0, 0, 0)); CuAssertIntEquals(tc, 1, max_spellpoints(u->region, u)); - rc->maxaura = 1.0; + rc->maxaura = 100; CuAssertIntEquals(tc, 1, max_spellpoints(u->region, u)); - rc->maxaura = 2.0; + rc->maxaura = 200; CuAssertIntEquals(tc, 2, max_spellpoints(u->region, u)); create_mage(u, M_GRAY); set_level(u, SK_MAGIC, 1); diff --git a/src/tests.c b/src/tests.c index 5c9ce821d..6a43e6e79 100644 --- a/src/tests.c +++ b/src/tests.c @@ -40,7 +40,7 @@ struct race *test_create_race(const char *name) race *rc = rc_get_or_create(name); rc->maintenance = 10; rc->hitpoints = 20; - rc->maxaura = 1.0; + rc->maxaura = 100; rc->ec_flags |= GETITEM; rc->battle_flags = BF_EQUIPMENT; return rc;