diff --git a/.travis.yml b/.travis.yml
index cbf3ff239..013487ff3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,3 +9,6 @@ before_install:
os:
- linux
- osx
+notifications:
+ slack:
+ secure: F89aXLWaE125PaJIlETv12jT4EfH6wLXJmGCPZzrN3OcLn2ahDWqjwuzR7lOEDf2nAISmeMPyDZMhEHXLNHAE5qP6lg9yliYQw5hzGmDK9m1xUq/pPEne/b2Y7K3my1mkRZ6n3asbHgSmBWAfCIk1JN8R5Rv+rmbLuWLc+zofts=
diff --git a/conf/e2/config.xml b/conf/e2/config.xml
index f99176432..9b0a90851 100644
--- a/conf/e2/config.xml
+++ b/conf/e2/config.xml
@@ -33,10 +33,13 @@
-
-
-
-
+
+
+
+
+
+
+
@@ -89,7 +92,7 @@
-
+
diff --git a/conf/e3/config.xml b/conf/e3/config.xml
index 7d9a71ab2..e0669c527 100644
--- a/conf/e3/config.xml
+++ b/conf/e3/config.xml
@@ -32,7 +32,6 @@
-
diff --git a/conf/e4/config.xml b/conf/e4/config.xml
index a6439db21..1924ff2c9 100644
--- a/conf/e4/config.xml
+++ b/conf/e4/config.xml
@@ -32,7 +32,6 @@
-
diff --git a/s/build b/s/build
index 068a669a1..3cddebc6e 100755
--- a/s/build
+++ b/s/build
@@ -6,6 +6,7 @@ done
[ -z $BUILD ] && BUILD=Debug
MACHINE=`uname -m`
+[ -z "$CC" ] && [ ! -z `which clang` ] && CC="clang"
[ -z "$CC" ] && [ ! -z `which gcc` ] && CC="gcc"
[ -z "$CC" ] && [ ! -z `which tcc` ] && CC="tcc"
[ -z "$CC" ] && [ ! -z `which cc` ] && CC="cc"
@@ -29,6 +30,7 @@ if [ ! -d $ROOT/$BIN_DIR ]; then
exit
fi
+git submodule update
cd $ROOT/$BIN_DIR
make $MAKEOPTS && make test
cd $OLDPWD
diff --git a/s/cmake-init b/s/cmake-init
index 913aef82b..22facb053 100755
--- a/s/cmake-init
+++ b/s/cmake-init
@@ -10,6 +10,7 @@ done
[ -z $BUILD ] && BUILD=Debug
MACHINE=`uname -m`
+[ -z "$CC" ] && [ ! -z `which clang` ] && CC="clang"
[ -z "$CC" ] && [ ! -z `which gcc` ] && CC="gcc"
[ -z "$CC" ] && [ ! -z `which tcc` ] && CC="tcc"
[ -z "$CC" ] && [ ! -z `which cc` ] && CC="cc"
diff --git a/s/preview b/s/preview
index 12752738f..f7a2c078d 100755
--- a/s/preview
+++ b/s/preview
@@ -24,6 +24,7 @@ assert_dir $SOURCE
cd $SOURCE
git fetch || abort "failed to update source. do you have local changes?"
[ -z $1 ] || git checkout $1
+git pull
git submodule update
s/build || abort "build failed."
}
diff --git a/s/runtests b/s/runtests
index 3f3b61548..840fc1119 100755
--- a/s/runtests
+++ b/s/runtests
@@ -7,6 +7,7 @@ while [ ! -d $ROOT/.git ]; do
done
MACHINE=`uname -m`
+[ -z "$CC" ] && [ ! -z `which clang` ] && CC="clang"
[ -z "$CC" ] && [ ! -z `which gcc` ] && CC="gcc"
[ -z "$CC" ] && [ ! -z `which tcc` ] && CC="tcc"
[ -z "$CC" ] && [ ! -z `which cc` ] && CC="cc"
diff --git a/scripts/eressea/tests/common.lua b/scripts/eressea/tests/common.lua
index 365b87195..9d3f9a306 100644
--- a/scripts/eressea/tests/common.lua
+++ b/scripts/eressea/tests/common.lua
@@ -26,7 +26,6 @@ module("tests.eressea.common", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("NewbieImmunity", "0")
eressea.settings.set("rules.economy.food", "4")
@@ -981,7 +980,6 @@ module("tests.report", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("rules.economy.food", "4")
end
diff --git a/scripts/eressea/tests/orders.lua b/scripts/eressea/tests/orders.lua
index af1ba8863..ea32fabdc 100644
--- a/scripts/eressea/tests/orders.lua
+++ b/scripts/eressea/tests/orders.lua
@@ -16,7 +16,6 @@ function setup()
u = _G.unit.create(f, r, 1)
u:clear_orders()
eressea.settings.set("rules.economy.food", "4")
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("NewbieImmunity", "0")
end
diff --git a/scripts/newplayer.lua b/scripts/newplayer.lua
index 239eb487b..ccd651f03 100644
--- a/scripts/newplayer.lua
+++ b/scripts/newplayer.lua
@@ -17,51 +17,12 @@ end
local function seed(r, email, race, lang)
local f = faction.create(email, race, lang)
local u = unit.create(f, r)
+ equip_unit(u, "new_faction")
+ equip_unit(u, "first_unit")
+ equip_unit(u, "first_" .. race, 7) -- disable old callbacks
u:set_skill("perception", 30)
- u:add_item("money", 20000)
- items = {
- log = 50,
- stone = 50,
- iron = 50,
- laen = 10,
- mallorn = 10,
- skillpotion = 5
- }
- for it, num in pairs(items) do
- u:add_item(it, num)
- end
- u = nil
- skills ={
- "crossbow",
- "bow",
- "building",
- "trade",
- "forestry",
- "catapult",
- "herbalism",
- "training",
- "riding",
- "armorer",
- "shipcraft",
- "melee",
- "sailing",
- "polearm",
- "espionage",
- "roadwork",
- "tactics",
- "stealth",
- "weaponsmithing",
- "cartmaking",
- "taxation",
- "stamina"
- }
- unit.create(f, r, 50):set_skill("entertainment", 15)
unit.create(f, r, 5):set_skill("mining", 30)
unit.create(f, r, 5):set_skill("quarrying", 30)
- for _, sk in ipairs(skills) do
- u = u or unit.create(f, r, 5)
- if u:set_skill(sk, 15)>0 then u=nil end
- end
return f
end
@@ -94,11 +55,17 @@ end
math.randomseed(os.time())
local newbs = {}
+local per_region = 2
+local num_seeded = 2
+local start = nil
for _, p in ipairs(players) do
- local index = math.random(#sel)
- local start = nil
- while not start or start.units() do
- start = sel[index]
+ if num_seeded == per_region then
+ while not start or start.units() do
+ local index = math.random(#sel)
+ start = sel[index]
+ end
+ create_curse(nil, r, 'holyground', 1, 52)
+ num_seeded = 0
end
local dupe = false
for f in factions() do
@@ -109,6 +76,7 @@ for _, p in ipairs(players) do
end
end
if not dupe then
+ num_seeded = num_seeded + 1
f = seed(start, p.email, p.race or "human", p.lang or "de")
print("new faction ".. tostring(f) .. " starts in ".. tostring(start))
table.insert(newbs, f)
diff --git a/scripts/populate.lua b/scripts/populate.lua
index dfd07b5dd..9ab1b5bcb 100644
--- a/scripts/populate.lua
+++ b/scripts/populate.lua
@@ -6,7 +6,7 @@ local function score(r, res)
local x, y, rn
local peas = r:get_resource(res)
for _, rn in pairs(r.adj) do
- if rn then
+ if rn and not rn.units() then
peas = peas + rn:get_resource(res)
end
end
@@ -16,7 +16,7 @@ end
local function select(regions, limit)
local sel = {}
for r in regions do
- if r.terrain~="ocean" and r.units()==nil then
+ if not r.plane and r.terrain~="ocean" and not r.units() then
s = score(r)
if s >= limit then
table.insert(sel, r)
diff --git a/scripts/tests/e2/guard.lua b/scripts/tests/e2/guard.lua
index 1afd011e9..b1c9d9c4f 100644
--- a/scripts/tests/e2/guard.lua
+++ b/scripts/tests/e2/guard.lua
@@ -4,7 +4,6 @@ module("tests.e2.guard", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("NewbieImmunity", "0")
eressea.settings.set("rules.economy.food", "4")
diff --git a/scripts/tests/e2/movement.lua b/scripts/tests/e2/movement.lua
index ef62873d8..7e20e41ca 100644
--- a/scripts/tests/e2/movement.lua
+++ b/scripts/tests/e2/movement.lua
@@ -4,7 +4,6 @@ module("tests.e2.movement", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("NewbieImmunity", "0")
end
diff --git a/scripts/tests/e2/shiplanding.lua b/scripts/tests/e2/shiplanding.lua
index 2d9225b8d..a46a7da37 100644
--- a/scripts/tests/e2/shiplanding.lua
+++ b/scripts/tests/e2/shiplanding.lua
@@ -4,7 +4,6 @@ module("tests.e2.shiplanding", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("NewbieImmunity", "0")
end
diff --git a/scripts/tests/e3/spells.lua b/scripts/tests/e3/spells.lua
index 7afe96d8e..c4f0aadaf 100644
--- a/scripts/tests/e3/spells.lua
+++ b/scripts/tests/e3/spells.lua
@@ -5,7 +5,6 @@ module("tests.e3.spells", package.seeall, lunit.testcase)
function setup()
eressea.game.reset()
eressea.settings.set("magic.fumble.enable", "0")
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("rules.peasants.growth", "0")
end
diff --git a/scripts/tests/movement.lua b/scripts/tests/movement.lua
index e27831cc8..110b5b2a2 100644
--- a/scripts/tests/movement.lua
+++ b/scripts/tests/movement.lua
@@ -4,7 +4,6 @@ module("tests.movement", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("rules.ships.storms", "0")
conf = [[{
diff --git a/scripts/tests/pool.lua b/scripts/tests/pool.lua
index 3ee3d54db..bf32eda87 100644
--- a/scripts/tests/pool.lua
+++ b/scripts/tests/pool.lua
@@ -6,7 +6,6 @@ function setup()
eressea.game.reset()
eressea.config.reset()
eressea.settings.set("rules.economy.food", "0")
- eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("rules.magic.playerschools", "")
conf = [[{
diff --git a/src/bindings.c b/src/bindings.c
index 169c91d0c..5fcf4ef1f 100755
--- a/src/bindings.c
+++ b/src/bindings.c
@@ -434,7 +434,9 @@ static int tolua_equipunit(lua_State * L)
{
unit *u = (unit *)tolua_tousertype(L, 1, 0);
const char *eqname = tolua_tostring(L, 2, 0);
- equip_unit(u, get_equipment(eqname));
+ int mask = (int)tolua_tonumber(L, 3, EQUIP_ALL);
+ assert(mask > 0);
+ equip_unit_mask(u, get_equipment(eqname), mask);
return 0;
}
diff --git a/src/buildno.h b/src/buildno.h
index 813baf03b..a8118b327 100644
--- a/src/buildno.h
+++ b/src/buildno.h
@@ -1,3 +1,3 @@
#define VERSION_MAJOR 3
#define VERSION_MINOR 5
-#define VERSION_BUILD 3
+#define VERSION_BUILD 4
diff --git a/src/kernel/config.c b/src/kernel/config.c
index 2e0f2c32c..7cdf44ea8 100644
--- a/src/kernel/config.c
+++ b/src/kernel/config.c
@@ -530,6 +530,8 @@ int alliedunit(const unit * u, const faction * f2, int mode)
ally *sf;
int automode;
+ assert(u);
+ assert(f2);
assert(u->region); /* the unit should be in a region, but it's possible that u->number==0 (TEMP units) */
if (u->faction == f2)
return mode;
diff --git a/src/kernel/save.c b/src/kernel/save.c
index d9a18f2b3..114126b0c 100644
--- a/src/kernel/save.c
+++ b/src/kernel/save.c
@@ -1,4 +1,4 @@
-/*
+/*
Copyright (c) 1998-2015, Enno Rehling
Katja Zedel
@@ -200,7 +200,7 @@ static unit *unitorders(FILE * F, int enc, struct faction *f)
}
}
}
- /* Nun wird der Befehl erzeut und eingehängt */
+ /* Nun wird der Befehl erzeut und eingehängt */
*ordp = parse_order(s, u->faction->locale);
if (*ordp) {
ordp = &(*ordp)->next;
@@ -233,8 +233,8 @@ static faction *factionorders(void)
f->no, pass));
return 0;
}
- /* Die Partei hat sich zumindest gemeldet, so daß sie noch
- * nicht als untätig gilt */
+ /* Die Partei hat sich zumindest gemeldet, so dass sie noch
+ * nicht als untätig gilt */
/* TODO: +1 ist ein Workaround, weil cturn erst in process_orders
* incrementiert wird. */
@@ -308,9 +308,9 @@ int readorders(const char *filename)
/* Falls in unitorders() abgebrochen wird, steht dort entweder eine neue
* Partei, eine neue Einheit oder das File-Ende. Das switch() wird erneut
* durchlaufen, und die entsprechende Funktion aufgerufen. Man darf buf
- * auf alle Fälle nicht überschreiben! Bei allen anderen Einträgen hier
- * muß buf erneut gefüllt werden, da die betreffende Information in nur
- * einer Zeile steht, und nun die nächste gelesen werden muß. */
+ * auf alle Fälle nicht überschreiben! Bei allen anderen Einträgen hier
+ * muss buf erneut gefüllt werden, da die betreffende Information in nur
+ * einer Zeile steht, und nun die nächste gelesen werden muss. */
case P_NEXT:
f = NULL;
@@ -331,7 +331,7 @@ int readorders(const char *filename)
/* ------------------------------------------------------------- */
/* #define INNER_WORLD */
-/* fürs debuggen nur den inneren Teil der Welt laden */
+/* fürs debuggen nur den inneren Teil der Welt laden */
/* -9;-27;-1;-19;Sumpfloch */
int inner_world(region * r)
{
@@ -1600,7 +1600,6 @@ int readgame(const char *filename, int backup)
while (--p >= 0) {
unit *u = read_unit(&gdata);
- sc_mage *mage;
if (gdata.version < JSON_REPORT_VERSION) {
if (u->_name && fval(u->faction, FFL_NPC)) {
@@ -1615,21 +1614,6 @@ int readgame(const char *filename, int backup)
up = &u->next;
update_interval(u->faction, u->region);
- mage = get_mage(u);
- if (mage) {
- faction *f = u->faction;
- int skl = effskill(u, SK_MAGIC);
- if (!fval(f, FFL_NPC) && f->magiegebiet == M_GRAY) {
- log_error("faction %s had magic=gray, fixing (%s)\n", factionname(f), magic_school[mage->magietyp]);
- f->magiegebiet = mage->magietyp;
- }
- if (f->max_spelllevel < skl) {
- f->max_spelllevel = skl;
- }
- if (mage->spellcount < 0) {
- mage->spellcount = 0;
- }
- }
}
}
log_printf(stdout, "\n");
@@ -1653,6 +1637,7 @@ int readgame(const char *filename, int backup)
for (f = factions; f; f = f->next) {
if (f->flags & FFL_NPC) {
f->alive = 1;
+ f->magiegebiet = M_GRAY;
if (f->no == 0) {
int no = 666;
while (findfaction(no))
@@ -1663,8 +1648,23 @@ int readgame(const char *filename, int backup)
}
else {
for (u = f->units; u; u = u->nextF) {
+ sc_mage *mage = get_mage(u);
+ if (mage) {
+ faction *f = u->faction;
+ int skl = effskill(u, SK_MAGIC);
+ if (f->magiegebiet == M_GRAY) {
+ log_error("faction %s had magic=gray, fixing (%s)\n", factionname(f), magic_school[mage->magietyp]);
+ f->magiegebiet = mage->magietyp;
+ }
+ if (f->max_spelllevel < skl) {
+ f->max_spelllevel = skl;
+ }
+ if (mage->spellcount < 0) {
+ mage->spellcount = 0;
+ }
+ }
if (u->number > 0) {
- f->alive = 1;
+ f->alive = true;
break;
}
}
diff --git a/src/kernel/unit.c b/src/kernel/unit.c
index ea2bbd950..3a07344af 100644
--- a/src/kernel/unit.c
+++ b/src/kernel/unit.c
@@ -1274,25 +1274,10 @@ static int item_modification(const unit * u, skill_t sk, int val)
return val;
}
-static int update_gbdream(const unit * u, int bonus, curse *c, const curse_type *gbdream_ct, int sign){
- if (curse_active(c) && c->type == gbdream_ct) {
- double effect = curse_geteffect(c);
- unit *mage = c->magician;
- /* wir suchen jeweils den groessten Bonus und den groestsen Malus */
- if (sign * effect > sign * bonus) {
- if (mage == NULL || mage->number == 0
- || sign>0?alliedunit(mage, u->faction, HELP_GUARD):!alliedunit(mage, u->faction, HELP_GUARD)) {
- bonus = (int)effect;
- }
- }
- }
- return bonus;
-}
-
-int att_modification(const unit * u, skill_t sk)
+static int att_modification(const unit * u, skill_t sk)
{
double result = 0;
- static bool init = false;
+ static bool init = false; // TODO: static variables are bad global state
static const curse_type *skillmod_ct, *gbdream_ct, *worse_ct;
curse *c;
@@ -1321,15 +1306,21 @@ int att_modification(const unit * u, skill_t sk)
/* TODO hier kann nicht mit get/iscursed gearbeitet werden, da nur der
* jeweils erste vom Typ C_GBDREAM zurueckgegen wird, wir aber alle
* durchsuchen und aufaddieren muessen */
- if (u->region) {
+ if (gbdream_ct && u->region) {
int bonus = 0, malus = 0;
attrib *a = a_find(u->region->attribs, &at_curse);
while (a && a->type == &at_curse) {
curse *c = (curse *)a->data.v;
- bonus = update_gbdream(u, bonus, c, gbdream_ct, 1);
- malus = update_gbdream(u, malus, c, gbdream_ct, -1);
-
+ if (curse_active(c) && c->type == gbdream_ct) {
+ int effect = curse_geteffect_int(c);
+ bool allied = alliedunit(c->magician, u->faction, HELP_GUARD);
+ if (allied) {
+ if (effect > bonus) bonus = effect;
+ } else {
+ if (effect < malus) malus = effect;
+ }
+ }
a = a->next;
}
result = result + bonus + malus;
diff --git a/src/laws.c b/src/laws.c
index 13e486c2c..b867b9f14 100755
--- a/src/laws.c
+++ b/src/laws.c
@@ -1,4 +1,4 @@
-/*
+/*
Copyright (c) 1998-2014,
Enno Rehling
Katja Zedel next ist dann
- * undefiniert, also muessen wir hier schon das nächste
+ * undefiniert, also muessen wir hier schon das nächste
* Element bestimmen */
int effect = get_effect(u, oldpotiontype[P_FOOL]);
@@ -193,7 +193,7 @@ static void live(region * r)
reduce_skill(u, sb, weeks);
ADDMSG(&u->faction->msgs, msg_message("dumbeffect",
"unit weeks skill", u, weeks, (skill_t)sb->id));
- } /* sonst Glück gehabt: wer nix weiß, kann nix vergessen... */
+ } /* sonst Glück gehabt: wer nix weiss, kann nix vergessen... */
change_effect(u, oldpotiontype[P_FOOL], -effect);
}
age_unit(r, u);
@@ -337,16 +337,16 @@ static void peasants(region * r)
peasants += births + luck;
}
- /* Alle werden satt, oder halt soviele für die es auch Geld gibt */
+ /* Alle werden satt, oder halt soviele für die es auch Geld gibt */
satiated = _min(peasants, money / maintenance_cost(NULL));
rsetmoney(r, money - satiated * maintenance_cost(NULL));
/* Von denjenigen, die nicht satt geworden sind, verhungert der
- * Großteil. dead kann nie größer als rpeasants(r) - satiated werden,
- * so dass rpeasants(r) >= 0 bleiben muß. */
+ * Großteil. dead kann nie größer als rpeasants(r) - satiated werden,
+ * so dass rpeasants(r) >= 0 bleiben muß. */
- /* Es verhungert maximal die unterernährten Bevölkerung. */
+ /* Es verhungert maximal die unterernährten Bevölkerung. */
n = _min(peasants - satiated, rpeasants(r));
dead += (int)(0.5F + n * PEASANT_STARVATION_CHANCE);
@@ -411,10 +411,10 @@ static void migrate(region * r)
rsethorses(r, rhorses(r) + m->horses);
/* Was macht das denn hier?
* Baumwanderung wird in trees() gemacht.
- * wer fragt das? Die Baumwanderung war abhängig von der
+ * wer fragt das? Die Baumwanderung war abhängig von der
* Auswertungsreihenfolge der regionen,
- * das hatte ich geändert. jemand hat es wieder gelöscht, toll.
- * ich habe es wieder aktiviert, muß getestet werden.
+ * das hatte ich geändert. jemand hat es wieder gelöscht, toll.
+ * ich habe es wieder aktiviert, muss getestet werden.
*/
*hp = m->next;
m->next = free_migrants;
@@ -454,8 +454,8 @@ static void horses(region * r)
/* Pferde wandern in Nachbarregionen.
* Falls die Nachbarregion noch berechnet
- * werden muß, wird eine migration-Struktur gebildet,
- * die dann erst in die Berechnung der Nachbarstruktur einfließt.
+ * werden muss, wird eine migration-Struktur gebildet,
+ * die dann erst in die Berechnung der Nachbarstruktur einfließt.
*/
for (n = 0; n != MAXDIRECTIONS; n++) {
@@ -469,7 +469,7 @@ static void horses(region * r)
else {
migration *nb;
/* haben wir die Migration schonmal benutzt?
- * wenn nicht, müssen wir sie suchen.
+ * wenn nicht, müssen wir sie suchen.
* Wandernde Pferde vermehren sich nicht.
*/
nb = get_migrants(r2);
@@ -565,11 +565,11 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
a = a_find(r->attribs, &at_germs);
if (a && last_weeks_season == SEASON_SPRING) {
- /* ungekeimte Samen bleiben erhalten, Sprößlinge wachsen */
+ /* ungekeimte Samen bleiben erhalten, Sprößlinge wachsen */
sprout = _min(a->data.sa[1], rtrees(r, 1));
- /* aus dem gesamt Sprößlingepool abziehen */
+ /* aus dem gesamt Sprößlingepool abziehen */
rsettrees(r, 1, rtrees(r, 1) - sprout);
- /* zu den Bäumen hinzufügen */
+ /* zu den Bäumen hinzufügen */
rsettrees(r, 2, rtrees(r, 2) + sprout);
a_removeall(&r->attribs, &at_germs);
@@ -585,7 +585,7 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
return;
/* Grundchance 1.0% */
- /* Jeder Elf in der Region erhöht die Chance marginal */
+ /* Jeder Elf in der Region erhöht die Chance marginal */
elves = _min(elves, production(r) / 8);
if (elves) {
seedchance += 1.0 - pow(0.99999, elves * RESOURCE_QUANTITY);
@@ -606,19 +606,19 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
}
}
- /* Bäume breiten sich in Nachbarregionen aus. */
+ /* Bäume breiten sich in Nachbarregionen aus. */
/* Gesamtzahl der Samen:
- * bis zu 6% (FORESTGROWTH*3) der Bäume samen in die Nachbarregionen */
+ * bis zu 6% (FORESTGROWTH*3) der Bäume samen in die Nachbarregionen */
seeds = (rtrees(r, 2) * FORESTGROWTH * 3) / 1000000;
for (d = 0; d != MAXDIRECTIONS; ++d) {
region *r2 = rconnect(r, d);
if (r2 && fval(r2->terrain, LAND_REGION) && r2->terrain->size) {
/* Eine Landregion, wir versuchen Samen zu verteilen:
- * Die Chance, das Samen ein Stück Boden finden, in dem sie
- * keimen können, hängt von der Bewuchsdichte und der
- * verfügbaren Fläche ab. In Gletschern gibt es weniger
- * Möglichkeiten als in Ebenen. */
+ * Die Chance, das Samen ein Stück Boden finden, in dem sie
+ * keimen können, hängt von der Bewuchsdichte und der
+ * verfügbaren Fläche ab. In Gletschern gibt es weniger
+ * Möglichkeiten als in Ebenen. */
sprout = 0;
seedchance = (1000 * maxworkingpeasants(r2)) / r2->terrain->size;
for (i = 0; i < seeds / MAXDIRECTIONS; i++) {
@@ -635,8 +635,8 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
if (is_cursed(r->attribs, C_CURSED_BY_THE_GODS, 0))
return;
- /* in at_germs merken uns die Zahl der Samen und Sprößlinge, die
- * dieses Jahr älter werden dürfen, damit nicht ein Same im selben
+ /* in at_germs merken uns die Zahl der Samen und Sprößlinge, die
+ * dieses Jahr älter werden dürfen, damit nicht ein Same im selben
* Zyklus zum Baum werden kann */
a = a_find(r->attribs, &at_germs);
if (!a) {
@@ -644,13 +644,13 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
a->data.sa[0] = (short)rtrees(r, 0);
a->data.sa[1] = (short)rtrees(r, 1);
}
- /* wir haben 6 Wochen zum wachsen, jeder Same/Sproß hat 18% Chance
+ /* wir haben 6 Wochen zum wachsen, jeder Same/Spross hat 18% Chance
* zu wachsen, damit sollten nach 5-6 Wochen alle gewachsen sein */
growth = 1800;
/* Samenwachstum */
- /* Raubbau abfangen, es dürfen nie mehr Samen wachsen, als aktuell
+ /* Raubbau abfangen, es dürfen nie mehr Samen wachsen, als aktuell
* in der Region sind */
seeds = _min(a->data.sa[0], rtrees(r, 0));
sprout = 0;
@@ -663,15 +663,15 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
a->data.sa[0] = (short)(seeds - sprout);
/* aus dem gesamt Samenpool abziehen */
rsettrees(r, 0, rtrees(r, 0) - sprout);
- /* zu den Sprößlinge hinzufügen */
+ /* zu den Sprößlinge hinzufügen */
rsettrees(r, 1, rtrees(r, 1) + sprout);
/* Baumwachstum */
- /* hier gehen wir davon aus, das Jungbäume nicht ohne weiteres aus
- * der Region entfernt werden können, da Jungbäume in der gleichen
- * Runde nachwachsen, wir also nicht mehr zwischen diesjährigen und
- * 'alten' Jungbäumen unterscheiden könnten */
+ /* hier gehen wir davon aus, das Jungbäume nicht ohne weiteres aus
+ * der Region entfernt werden können, da Jungbäume in der gleichen
+ * Runde nachwachsen, wir also nicht mehr zwischen diesjährigen und
+ * 'alten' Jungbäumen unterscheiden könnten */
sprout = _min(a->data.sa[1], rtrees(r, 1));
grownup_trees = 0;
@@ -679,11 +679,11 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
if (rng_int() % 10000 < growth)
grownup_trees++;
}
- /* aus dem Sprößlingepool dieses Jahres abziehen */
+ /* aus dem Sprößlingepool dieses Jahres abziehen */
a->data.sa[1] = (short)(sprout - grownup_trees);
- /* aus dem gesamt Sprößlingepool abziehen */
+ /* aus dem gesamt Sprößlingepool abziehen */
rsettrees(r, 1, rtrees(r, 1) - grownup_trees);
- /* zu den Bäumen hinzufügen */
+ /* zu den bäumen hinzufügen */
rsettrees(r, 2, rtrees(r, 2) + grownup_trees);
}
}
@@ -691,10 +691,10 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
static void
growing_herbs(region * r, const int current_season, const int last_weeks_season)
{
- /* Jetzt die Kräutervermehrung. Vermehrt wird logistisch:
+ /* Jetzt die Kräutervermehrung. Vermehrt wird logistisch:
*
* Jedes Kraut hat eine Wahrscheinlichkeit von (100-(vorhandene
- * Kräuter))% sich zu vermehren. */
+ * Kräuter))% sich zu vermehren. */
if (current_season != SEASON_WINTER) {
int i;
for (i = rherbs(r); i > 0; i--) {
@@ -1072,7 +1072,7 @@ int enter_building(unit * u, order * ord, int id, bool report)
region *r = u->region;
building *b;
- /* Schwimmer können keine Gebäude betreten, außer diese sind
+ /* Schwimmer können keine Gebäude betreten, außer diese sind
* auf dem Ozean */
if (!fval(u_race(u), RCF_WALK) && !fval(u_race(u), RCF_FLY)) {
if (!fval(r->terrain, SEA_REGION)) {
@@ -1188,8 +1188,8 @@ void do_enter(struct region *r, bool is_final_attempt)
}
if (ulast != NULL) {
/* Wenn wir hier angekommen sind, war der Befehl
- * erfolgreich und wir löschen ihn, damit er im
- * zweiten Versuch nicht nochmal ausgeführt wird. */
+ * erfolgreich und wir löschen ihn, damit er im
+ * zweiten Versuch nicht nochmal ausgeführt wird. */
*ordp = ord->next;
ord->next = NULL;
free_order(ord);
@@ -1963,13 +1963,13 @@ int mail_cmd(unit * u, struct order *ord)
s = gettoken(token, sizeof(token));
/* Falls kein Parameter, ist das eine Einheitsnummer;
- * das Füllwort "AN" muß wegfallen, da gültige Nummer! */
+ * das Füllwort "AN" muss wegfallen, da gültige Nummer! */
do {
cont = 0;
switch (findparam_ex(s, u->faction->locale)) {
case P_REGION:
- /* können alle Einheiten in der Region sehen */
+ /* können alle Einheiten in der Region sehen */
s = getstrtoken();
if (!s || !s[0]) {
cmistake(u, ord, 30, MSG_MESSAGE);
@@ -2322,7 +2322,7 @@ static bool display_race(faction * f, unit * u, const race * rc)
if (wrptr(&bufp, &size, bytes) != 0)
WARN_STATIC_BUFFER();
- /* b_armor : Rüstung */
+ /* b_armor : Rüstung */
if (rc->armor > 0) {
bytes =
slprintf(bufp, size, ", %s: %d", LOC(f->locale, "stat_armor"), rc->armor);
@@ -2633,7 +2633,7 @@ int combatspell_cmd(unit * u, struct order *ord)
init_order(ord);
s = gettoken(token, sizeof(token));
- /* KAMPFZAUBER [NICHT] löscht alle gesetzten Kampfzauber */
+ /* KAMPFZAUBER [NICHT] löscht alle gesetzten Kampfzauber */
if (!s || *s == 0 || findparam(s, u->faction->locale) == P_NOT) {
unset_combatspell(u, 0);
return 0;
@@ -2641,7 +2641,7 @@ int combatspell_cmd(unit * u, struct order *ord)
/* Optional: STUFE n */
if (findparam(s, u->faction->locale) == P_LEVEL) {
- /* Merken, setzen kommt erst später */
+ /* Merken, setzen kommt erst später */
level = getint();
level = _max(0, level);
s = gettoken(token, sizeof(token));
@@ -2656,7 +2656,7 @@ int combatspell_cmd(unit * u, struct order *ord)
s = gettoken(token, sizeof(token));
if (findparam(s, u->faction->locale) == P_NOT) {
- /* KAMPFZAUBER "" NICHT löscht diesen speziellen
+ /* KAMPFZAUBER "" NICHT löscht diesen speziellen
* Kampfzauber */
unset_combatspell(u, sp);
return 0;
@@ -2671,7 +2671,7 @@ int combatspell_cmd(unit * u, struct order *ord)
/* ------------------------------------------------------------- */
/* Beachten: einige Monster sollen auch unbewaffent die Region bewachen
- * können */
+ * können */
enum { E_GUARD_OK, E_GUARD_UNARMED, E_GUARD_NEWBIE, E_GUARD_FLEEING };
@@ -2733,7 +2733,7 @@ int guard_on_cmd(unit * u, struct order *ord)
cmistake(u, ord, 95, MSG_EVENT);
}
else {
- /* Monster der Monsterpartei dürfen immer bewachen */
+ /* Monster der Monsterpartei dürfen immer bewachen */
if (is_monsters(u->faction)) {
guard(u, GUARD_ALL);
}
@@ -2767,7 +2767,7 @@ void sinkships(struct region * r)
if (!sh->type->construction || sh->size >= sh->type->construction->maxsize) {
if (fval(r->terrain, SEA_REGION) && (!enoughsailors(sh, r)
|| get_captain(sh) == NULL)) {
- /* Schiff nicht seetüchtig */
+ /* Schiff nicht seetüchtig */
float dmg = get_param_flt(global.parameters,
"rules.ship.damage.nocrewocean",
0.30F);
@@ -3224,7 +3224,7 @@ static void ageing(void)
sp = &(*sp)->next;
}
- /* Gebäude */
+ /* Gebäude */
for (bp = &r->buildings; *bp;) {
building *b = *bp;
age_building(b);
@@ -3430,7 +3430,7 @@ void update_long_order(unit * u)
freset(u, UFL_MOVED);
freset(u, UFL_LONGACTION);
if (hunger) {
- /* Hungernde Einheiten führen NUR den default-Befehl aus */
+ /* Hungernde Einheiten führen NUR den default-Befehl aus */
set_order(&u->thisorder, default_order(u->faction->locale));
}
else {
@@ -3451,7 +3451,7 @@ void update_long_order(unit * u)
continue;
if (is_exclusive(ord)) {
- /* Über dieser Zeile nur Befehle, die auch eine idle Faction machen darf */
+ /* über dieser Zeile nur Befehle, die auch eine idle Faction machen darf */
if (idle(u->faction)) {
set_order(&u->thisorder, default_order(u->faction->locale));
}
@@ -3463,13 +3463,13 @@ void update_long_order(unit * u)
else {
keyword_t keyword = getkeyword(ord);
switch (keyword) {
- /* Wenn gehandelt wird, darf kein langer Befehl ausgeführt
+ /* Wenn gehandelt wird, darf kein langer Befehl ausgeführt
* werden. Da Handel erst nach anderen langen Befehlen kommt,
- * muß das vorher abgefangen werden. Wir merken uns also
+ * muss das vorher abgefangen werden. Wir merken uns also
* hier, ob die Einheit handelt. */
case K_BUY:
case K_SELL:
- /* Wenn die Einheit handelt, muß der Default-Befehl gelöscht
+ /* Wenn die Einheit handelt, muss der Default-Befehl gelöscht
* werden.
* Wird je diese Ausschliesslichkeit aufgehoben, muss man aufpassen
* mit der Reihenfolge von Kaufen, Verkaufen etc., damit es Spielern
@@ -3479,7 +3479,7 @@ void update_long_order(unit * u)
case K_CAST:
/* dient dazu, das neben Zaubern kein weiterer Befehl
- * ausgeführt werden kann, Zaubern ist ein kurzer Befehl */
+ * ausgeführt werden kann, Zaubern ist ein kurzer Befehl */
set_order(&u->thisorder, copy_order(ord));
break;
@@ -3492,7 +3492,7 @@ void update_long_order(unit * u)
if (hunger) {
return;
}
- /* Wenn die Einheit handelt, muß der Default-Befehl gelöscht
+ /* Wenn die Einheit handelt, muss der Default-Befehl gelöscht
* werden. */
if (trade) {
@@ -3568,7 +3568,7 @@ void monthly_healing(void)
double healingcurse = 0;
if (heal_ct != NULL) {
- /* bonus zurücksetzen */
+ /* bonus zurücksetzen */
curse *c = get_curse(r->attribs, heal_ct);
if (c != NULL) {
healingcurse = curse_geteffect(c);
@@ -3578,8 +3578,8 @@ void monthly_healing(void)
int umhp = unit_max_hp(u) * u->number;
double p = 1.0;
- /* hp über Maximum bauen sich ab. Wird zb durch Elixier der Macht
- * oder verändertes Ausdauertalent verursacht */
+ /* hp über Maximum bauen sich ab. Wird zb durch Elixier der Macht
+ * oder verändertes Ausdauertalent verursacht */
if (u->hp > umhp) {
u->hp -= (int)ceil((u->hp - umhp) / 2.0);
if (u->hp < umhp)
@@ -3606,7 +3606,7 @@ void monthly_healing(void)
if (btype == bt_find("inn")) {
p *= 1.5;
}
- /* pro punkt 5% höher */
+ /* pro punkt 5% höher */
p *= (1.0 + healingcurse * 0.05);
maxheal = p * maxheal;
@@ -3618,7 +3618,7 @@ void monthly_healing(void)
/* Aufaddieren der geheilten HP. */
u->hp = _min(u->hp + addhp, umhp);
- /* soll man an negativer regeneration sterben können? */
+ /* soll man an negativer regeneration sterben können? */
assert(u->hp > 0);
}
}
@@ -3665,7 +3665,7 @@ void defaultorders(void)
ord->next = NULL;
free_order(ord);
if (!neworders) {
- /* lange Befehle aus orders und old_orders löschen zu gunsten des neuen */
+ /* lange Befehle aus orders und old_orders löschen zu gunsten des neuen */
remove_exclusive(&u->orders);
remove_exclusive(&u->old_orders);
neworders = true;
@@ -4548,8 +4548,8 @@ void processorders(void)
wormholes_update();
}
- /* immer ausführen, wenn neue Sprüche dazugekommen sind, oder sich
- * Beschreibungen geändert haben */
+ /* immer ausführen, wenn neue Sprüche dazugekommen sind, oder sich
+ * Beschreibungen geändert haben */
update_spells();
warn_password();
}
diff --git a/src/move.c b/src/move.c
index 54864b89e..6c11372a3 100644
--- a/src/move.c
+++ b/src/move.c
@@ -1,4 +1,4 @@
-/*
+/*
Copyright (c) 1998-2014,
Enno Rehling
Katja Zedel items, &animals, &acap, &vehicles, &vcap);
- /* Man trägt sein eigenes Gewicht plus seine Kapazität! Die Menschen
- ** tragen nichts (siehe walkingcapacity). Ein Wagen zählt nur, wenn er
+ /* Man tr�gt sein eigenes Gewicht plus seine Kapazit�t! Die Menschen
+ ** tragen nichts (siehe walkingcapacity). Ein Wagen z�hlt nur, wenn er
** von zwei Pferden gezogen wird */
animals = _min(animals, effskill(u, SK_RIDING) * u->number * 2);
if (fval(u_race(u), RCF_HORSE))
animals += u->number;
- /* maximal diese Pferde können zum Ziehen benutzt werden */
+ /* maximal diese Pferde k�nnen zum Ziehen benutzt werden */
vehicles = _min(animals / HORSESNEEDED, vehicles);
return vehicles * vcap + animals * acap;
@@ -282,7 +282,7 @@ int walkingcapacity(const struct unit *u)
people = u->number;
}
- /* maximal diese Pferde können zum Ziehen benutzt werden */
+ /* maximal diese Pferde k�nnen zum Ziehen benutzt werden */
wagen_mit_pferden = _min(vehicles, pferde_fuer_wagen / HORSESNEEDED);
n = wagen_mit_pferden * vcap;
@@ -295,7 +295,7 @@ int walkingcapacity(const struct unit *u)
/* Genug Trolle, um die Restwagen zu ziehen? */
wagen_mit_trollen = _min(u->number / 4, wagen_ohne_pferde);
- /* Wagenkapazität hinzuzählen */
+ /* Wagenkapazit�t hinzuz�hlen */
n += wagen_mit_trollen * vcap;
wagen_ohne_pferde -= wagen_mit_trollen;
}
@@ -357,16 +357,16 @@ static int canwalk(unit * u)
if (walkingcapacity(u) - eff_weight(u) >= 0)
return E_CANWALK_OK;
- /* Stimmt das Gewicht, impliziert dies hier, daß alle Wagen ohne
+ /* Stimmt das Gewicht, impliziert dies hier, da� alle Wagen ohne
* Zugpferde/-trolle als Fracht aufgeladen wurden: zu viele Pferde hat
* die Einheit nicht zum Ziehen benutzt, also nicht mehr Wagen gezogen
* als erlaubt. */
if (vehicles > maxwagen)
return E_CANWALK_TOOMANYCARTS;
- /* Es muß nicht zwingend an den Wagen liegen, aber egal... (man
- * könnte z.B. auch 8 Eisen abladen, damit ein weiterer Wagen als
- * Fracht draufpaßt) */
+ /* Es mu� nicht zwingend an den Wagen liegen, aber egal... (man
+ * k�nnte z.B. auch 8 Eisen abladen, damit ein weiterer Wagen als
+ * Fracht draufpa�t) */
return E_CANWALK_TOOHEAVY;
}
@@ -663,7 +663,7 @@ int check_ship_allowed(struct ship *sh, const region * r)
bt_harbour = bt_find("harbour");
if (sh->region && r_insectstalled(r)) {
- /* insekten dürfen nicht hier rein. haben wir welche? */
+ /* insekten d�rfen nicht hier rein. haben wir welche? */
unit *u;
for (u = sh->region->units; u != NULL; u = u->next) {
@@ -757,13 +757,13 @@ static void drifting_ships(region * r)
sh->flags |= SF_FISHING;
}
- /* Schiff schon abgetrieben oder durch Zauber geschützt? */
+ /* Schiff schon abgetrieben oder durch Zauber gesch�tzt? */
if (!drift || fval(sh, SF_DRIFTED) || is_cursed(sh->attribs, C_SHIP_NODRIFT, 0)) {
shp = &sh->next;
continue;
}
- /* Kapitän bestimmen */
+ /* Kapit�n bestimmen */
for (captain = r->units; captain; captain = captain->next) {
if (captain->ship != sh)
continue;
@@ -773,8 +773,8 @@ static void drifting_ships(region * r)
break;
}
}
- /* Kapitän da? Beschädigt? Genügend Matrosen?
- * Genügend leicht? Dann ist alles OK. */
+ /* Kapit�n da? Besch�digt? Gen�gend Matrosen?
+ * Gen�gend leicht? Dann ist alles OK. */
assert(sh->type->construction->improvement == NULL); /* sonst ist construction::size nicht ship_type::maxsize */
if (captain && sh->size == sh->type->construction->maxsize
@@ -784,7 +784,7 @@ static void drifting_ships(region * r)
}
/* Auswahl einer Richtung: Zuerst auf Land, dann
- * zufällig. Falls unmögliches Resultat: vergiß es. */
+ * zuf�llig. Falls unm�gliches Resultat: vergi� es. */
d_offset = rng_int() % MAXDIRECTIONS;
for (d = 0; d != MAXDIRECTIONS; ++d) {
region *rn;
@@ -1475,12 +1475,12 @@ static void make_route(unit * u, order * ord, region_list ** routep)
/** calculate the speed of a unit
*
- * zu Fuß reist man 1 Region, zu Pferd 2 Regionen. Mit Straßen reist
- * man zu Fuß 2, mit Pferden 3 weit.
+ * zu Fu� reist man 1 Region, zu Pferd 2 Regionen. Mit Stra�en reist
+ * man zu Fu� 2, mit Pferden 3 weit.
*
- * Berechnet wird das mit BPs. Zu Fuß hat man 4 BPs, zu Pferd 6.
- * Normalerweise verliert man 3 BP pro Region, bei Straßen nur 2 BP.
- * Außerdem: Wenn Einheit transportiert, nur halbe BP
+ * Berechnet wird das mit BPs. Zu Fu� hat man 4 BPs, zu Pferd 6.
+ * Normalerweise verliert man 3 BP pro Region, bei Stra�en nur 2 BP.
+ * Au�erdem: Wenn Einheit transportiert, nur halbe BP
*/
static int movement_speed(unit * u)
{
@@ -1620,7 +1620,7 @@ static const region_list *travel_route(unit * u,
landing = true;
}
else if ((u_race(u)->flags & RCF_WALK) == 0) {
- /* Spezialeinheiten, die nicht laufen können. */
+ /* Spezialeinheiten, die nicht laufen k�nnen. */
ADDMSG(&u->faction->msgs, msg_message("detectocean",
"unit region", u, next));
break;
@@ -1633,7 +1633,7 @@ static const region_list *travel_route(unit * u,
}
}
else {
- /* Ozeanfelder können nur von Einheiten mit Schwimmen und ohne
+ /* Ozeanfelder k�nnen nur von Einheiten mit Schwimmen und ohne
* Pferde betreten werden. */
if (!(canswim(u) || canfly(u))) {
ADDMSG(&u->faction->msgs, msg_message("detectocean",
@@ -1728,7 +1728,7 @@ static const region_list *travel_route(unit * u,
walkmode = 2;
}
- /* Berichte über Durchreiseregionen */
+ /* Berichte �ber Durchreiseregionen */
if (mode != TRAVEL_TRANSPORTED) {
arg_regions *ar = var_copy_regions(route_begin, steps - 1);
@@ -1807,7 +1807,7 @@ buildingtype_exists(const region * r, const building_type * bt, bool working)
return false;
}
-/* Prüft, ob Ablegen von einer Küste in eine der erlaubten Richtungen erfolgt. */
+/* Pr�ft, ob Ablegen von einer K�ste in eine der erlaubten Richtungen erfolgt. */
static bool check_takeoff(ship * sh, region * from, region * to)
{
@@ -1857,18 +1857,18 @@ sail(unit * u, order * ord, bool move_on_land, region_list ** routep)
return;
/* Wir suchen so lange nach neuen Richtungen, wie es geht. Diese werden
- * dann nacheinander ausgeführt. */
+ * dann nacheinander ausgef�hrt. */
k = shipspeed(sh, u);
last_point = starting_point;
current_point = starting_point;
- /* die nächste Region, in die man segelt, wird durch movewhere () aus der
+ /* die n�chste Region, in die man segelt, wird durch movewhere () aus der
* letzten Region bestimmt.
*
* Anfangen tun wir bei starting_point. next_point ist beim ersten
- * Durchlauf schon gesetzt (Parameter!). current_point ist die letzte gültige,
+ * Durchlauf schon gesetzt (Parameter!). current_point ist die letzte g�ltige,
* befahrene Region. */
while (next_point && current_point != next_point && step < k) {
@@ -1920,7 +1920,7 @@ sail(unit * u, order * ord, bool move_on_land, region_list ** routep)
bool storm = true;
int d_offset = rng_int() % MAXDIRECTIONS;
direction_t d;
- /* Sturm nur, wenn nächste Region Hochsee ist. */
+ /* Sturm nur, wenn n�chste Region Hochsee ist. */
for (d = 0; d != MAXDIRECTIONS; ++d) {
direction_t dnext = (direction_t)((d + d_offset) % MAXDIRECTIONS);
region *rn = rconnect(current_point, dnext);
@@ -2056,16 +2056,16 @@ sail(unit * u, order * ord, bool move_on_land, region_list ** routep)
sh = NULL;
}
- /* Nun enthält current_point die Region, in der das Schiff seine Runde
- * beendet hat. Wir generieren hier ein Ereignis für den Spieler, das
- * ihm sagt, bis wohin er gesegelt ist, falls er überhaupt vom Fleck
- * gekommen ist. Das ist nicht der Fall, wenn er von der Küste ins
+ /* Nun enth�lt current_point die Region, in der das Schiff seine Runde
+ * beendet hat. Wir generieren hier ein Ereignis f�r den Spieler, das
+ * ihm sagt, bis wohin er gesegelt ist, falls er �berhaupt vom Fleck
+ * gekommen ist. Das ist nicht der Fall, wenn er von der K�ste ins
* Inland zu segeln versuchte */
if (sh != NULL && fval(sh, SF_MOVED)) {
unit *harbourmaster;
/* nachdem alle Richtungen abgearbeitet wurden, und alle Einheiten
- * transferiert wurden, kann der aktuelle Befehl gelöscht werden. */
+ * transferiert wurden, kann der aktuelle Befehl gel�scht werden. */
cycle_route(ord, u, step);
set_order(&u->thisorder, NULL);
if (!move_on_land) {
@@ -2090,7 +2090,7 @@ sail(unit * u, order * ord, bool move_on_land, region_list ** routep)
sh = move_ship(sh, starting_point, current_point, *routep);
- /* Hafengebühren ? */
+ /* Hafengeb�hren ? */
harbourmaster = owner_buildingtyp(current_point, bt_find("harbour"));
if (sh && harbourmaster != NULL) {
@@ -2438,7 +2438,7 @@ static void piracy_cmd(unit * u, struct order *ord)
/* Wenn nicht, sehen wir, ob wir ein Ziel finden. */
if (target_dir == NODIRECTION) {
- /* Einheit ist also Kapitän. Jetzt gucken, in wievielen
+ /* Einheit ist also Kapit�n. Jetzt gucken, in wievielen
* Nachbarregionen potentielle Opfer sind. */
for (dir = 0; dir < MAXDIRECTIONS; dir++) {
@@ -2497,7 +2497,7 @@ static void piracy_cmd(unit * u, struct order *ord)
set_order(&u->thisorder, create_order(K_MOVE, u->faction->locale, "%s",
LOC(u->faction->locale, directions[target_dir])));
- /* Bewegung ausführen */
+ /* Bewegung ausf�hren */
init_order(u->thisorder);
move(u, true);
}
@@ -2607,7 +2607,7 @@ static int hunt(unit * u, order * ord)
/* NACH ignorieren und Parsing initialisieren. */
init_tokens_str(command);
getstrtoken();
- /* NACH ausführen */
+ /* NACH ausf�hren */
move(u, false);
return 1; /* true -> Einheitenliste von vorne durchgehen */
}
@@ -2806,7 +2806,7 @@ void movement(void)
if (repeat)
continue;
if (ships == 0) {
- /* Abtreiben von beschädigten, unterbemannten, überladenen Schiffen */
+ /* Abtreiben von besch�digten, unterbemannten, �berladenen Schiffen */
drifting_ships(r);
}
r = r->next;
diff --git a/src/spells.test.c b/src/spells.test.c
index ff67dd58d..5ecb8bd88 100644
--- a/src/spells.test.c
+++ b/src/spells.test.c
@@ -20,13 +20,10 @@
#include
-static struct castorder *test_create_castorder(castorder *order, unit *u, const char *name, int level, float force, int range) {
+static void test_create_castorder(castorder *order, unit *u, int level, float force, int range) {
struct locale * lang;
- spell *sp;
-
lang = get_or_create_locale("en");
- sp = create_spell(name, 0);
- return order = create_castorder(order, u, NULL, sp, u->region, level, force, range, create_order(K_CAST, lang, ""), NULL);
+ create_castorder(order, u, NULL, NULL, u->region, level, force, range, create_order(K_CAST, lang, ""), NULL);
}
static void test_dreams(CuTest *tc) {
@@ -39,12 +36,12 @@ static void test_dreams(CuTest *tc) {
test_cleanup();
test_create_world();
r=findregion(0, 0);
- f1 = test_create_faction(test_create_race("human"));
- f2 = test_create_faction(test_create_race("human"));
+ f1 = test_create_faction(0);
+ f2 = test_create_faction(0);
u1 = test_create_unit(f1, r);
u2 = test_create_unit(f2, r);
- test_create_castorder(&order, u1, "goodreams", 10, 10., 0);
+ test_create_castorder(&order, u1, 10, 10., 0);
level = sp_gooddreams(&order);
CuAssertIntEquals(tc, 10, level);
@@ -57,7 +54,7 @@ static void test_dreams(CuTest *tc) {
CuAssertIntEquals(tc, 1, get_modifier(u1, SK_MELEE, 11, r, false));
CuAssertIntEquals(tc, 0, get_modifier(u2, SK_MELEE, 11, r, false));
- test_create_castorder(&order, u1, "baddreams", 10, 10., 0);
+ test_create_castorder(&order, u1, 10, 10., 0);
level = sp_baddreams(&order);
CuAssertIntEquals(tc, 10, level);