From 1c347ca5ba8e765246435d361e44f9451ddbc94b Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Fri, 3 Feb 2017 18:18:55 +0100 Subject: [PATCH] race.healing is now an int percentage, not a float multiplier --- src/kernel/race.h | 2 +- src/kernel/race.test.c | 2 +- src/kernel/unit.c | 2 +- src/kernel/unit.test.c | 4 ++-- src/kernel/xmlreader.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/kernel/race.h b/src/kernel/race.h index 853e1041f..a7d495f6b 100644 --- a/src/kernel/race.h +++ b/src/kernel/race.h @@ -117,7 +117,7 @@ extern "C" { typedef struct race { char *_name; int magres; - float healing; + int healing; double maxaura; /* Faktor auf Maximale Aura */ double regaura; /* Faktor auf Regeneration */ double recruit_multi; /* Faktor f�r Bauernverbrauch */ diff --git a/src/kernel/race.test.c b/src/kernel/race.test.c index c07808099..01ce41443 100644 --- a/src/kernel/race.test.c +++ b/src/kernel/race.test.c @@ -25,7 +25,7 @@ static void test_rc_defaults(CuTest *tc) { CuAssertStrEquals(tc, "human", rc->_name); CuAssertIntEquals(tc, 0, rc->magres); CuAssertDblEquals(tc, 0.0, rc_magres(rc), 0.0); - CuAssertDblEquals(tc, 0.0, rc->healing, 0.0); + CuAssertIntEquals(tc, 0, rc->healing); CuAssertDblEquals(tc, 0.0, rc->maxaura, 0.0); CuAssertDblEquals(tc, 1.0, rc->recruit_multi, 0.0); CuAssertDblEquals(tc, 1.0, rc->regaura, 0.0); diff --git a/src/kernel/unit.c b/src/kernel/unit.c index 354a52a06..329a523c6 100644 --- a/src/kernel/unit.c +++ b/src/kernel/unit.c @@ -2051,7 +2051,7 @@ double u_heal_factor(const unit * u) { const race * rc = u_race(u); if (rc->healing>0) { - return rc->healing; + return rc->healing / 100.0; } if (r_isforest(u->region)) { static int rc_cache; diff --git a/src/kernel/unit.test.c b/src/kernel/unit.test.c index ad4e1761a..bf4e9a389 100644 --- a/src/kernel/unit.test.c +++ b/src/kernel/unit.test.c @@ -498,9 +498,9 @@ static void test_heal_factor(CuTest *tc) { rsettrees(r, 2, 0); CuAssertTrue(tc, r_isforest(r)); CuAssertDblEquals(tc, 1.0, u_heal_factor(u), 0.0); - rc->healing = 2.0; + rc->healing = 200; CuAssertDblEquals(tc, 2.0, u_heal_factor(u), 0.0); - rc->healing = 0.0; + rc->healing = 0; rc = rc_get_or_create("elf"); CuAssertPtrEquals(tc, (void *)rc, (void *)get_race(RC_ELF)); u_setrace(u, get_race(RC_ELF)); diff --git a/src/kernel/xmlreader.c b/src/kernel/xmlreader.c index 87771ba6b..638dae189 100644 --- a/src/kernel/xmlreader.c +++ b/src/kernel/xmlreader.c @@ -1636,7 +1636,7 @@ static int parse_races(xmlDocPtr doc) xmlFree(propValue); rc->magres = xml_ivalue(node, "magres", rc->magres); - rc->healing = (float)xml_fvalue(node, "healing", rc->healing); + 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->regaura = (float)xml_fvalue(node, "regaura", rc->regaura); rc->recruitcost = xml_ivalue(node, "recruitcost", rc->recruitcost);