asciification

This commit is contained in:
Enno Rehling 2019-02-09 12:50:12 +01:00
parent 642d043e7c
commit 5868316537
13 changed files with 199 additions and 199 deletions

View File

@ -39,9 +39,9 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
/* Ausgabe der Spruchbeschreibungen /* Ausgabe der Spruchbeschreibungen
* Anzeige des Spruchs nur, wenn die Stufe des besten Magiers vorher * Anzeige des Spruchs nur, wenn die Stufe des besten Magiers vorher
* kleiner war (u->faction->seenspells). Ansonsten muss nur geprüft * kleiner war (u->faction->seenspells). Ansonsten muss nur geprueft
* werden, ob dieser Magier den Spruch schon kennt, und andernfalls der * werden, ob dieser Magier den Spruch schon kennt, und andernfalls der
* Spruch zu seiner List-of-known-spells hinzugefügt werden. * Spruch zu seiner List-of-known-spells hinzugefuegt werden.
*/ */
static int read_seenspells(variant *var, void *owner, struct gamedata *data) static int read_seenspells(variant *var, void *owner, struct gamedata *data)

View File

@ -303,11 +303,11 @@ static int dead_fighters(const fighter * df)
} }
fighter *select_corpse(battle * b, fighter * af) fighter *select_corpse(battle * b, fighter * af)
/* W<EFBFBD>hlt eine Leiche aus, der af hilft. casualties ist die Anzahl der /* Waehlt eine Leiche aus, der af hilft. casualties ist die Anzahl der
* Toten auf allen Seiten (im Array). Wenn af == NULL, wird die * Toten auf allen Seiten (im Array). Wenn af == NULL, wird die
* Parteizugeh<EFBFBD>rigkeit ignoriert, und irgendeine Leiche genommen. * Parteizugehoerigkeit ignoriert, und irgendeine Leiche genommen.
* *
* Untote werden nicht ausgew<EFBFBD>hlt (casualties, not dead) */ * Untote werden nicht ausgewaehlt (casualties, not dead) */
{ {
int si, maxcasualties = 0; int si, maxcasualties = 0;
fighter *df; fighter *df;
@ -323,7 +323,7 @@ fighter *select_corpse(battle * b, fighter * af)
side *s; side *s;
for (s = b->sides; s != b->sides + b->nsides; ++s) { for (s = b->sides; s != b->sides + b->nsides; ++s) {
for (df = s->fighters; df; df = df->next) { for (df = s->fighters; df; df = df->next) {
/* Geflohene haben auch 0 hp, d<EFBFBD>rfen hier aber nicht ausgew<65>hlt /* Geflohene haben auch 0 hp, duerfen hier aber nicht ausgewaehlt
* werden! */ * werden! */
int dead = dead_fighters(df); int dead = dead_fighters(df);
if (!playerrace(u_race(df->unit))) if (!playerrace(u_race(df->unit)))
@ -731,16 +731,16 @@ weapon_effskill(troop t, troop enemy, const weapon * w,
if (t.index < tf->elvenhorses) { if (t.index < tf->elvenhorses) {
/* Elfenpferde: Helfen dem Reiter, egal ob und welche Waffe. Das ist /* Elfenpferde: Helfen dem Reiter, egal ob und welche Waffe. Das ist
* eleganter, und vor allem einfacher, sonst mu<EFBFBD> man noch ein * eleganter, und vor allem einfacher, sonst muss man noch ein
* WMF_ELVENHORSE einbauen. */ * WMF_ELVENHORSE einbauen. */
skill += 2; skill += 2;
} }
if (skill > 0 && !attacking && missile) { if (skill > 0 && !attacking && missile) {
/* /*
* Wenn ich verteidige, und nicht direkt meinem Feind gegen<EFBFBD>berstehe, * Wenn ich verteidige, und nicht direkt meinem Feind gegenueberstehe,
* halbiert sich mein Skill: (z.B. gegen Fernk<EFBFBD>mpfer. Nahk<EFBFBD>mpfer * halbiert sich mein Skill: (z.B. gegen Fernkaempfer. Nahkaempfer
* k<EFBFBD>nnen mich eh nicht treffen) * koennen mich eh nicht treffen)
*/ */
skill /= 2; skill /= 2;
} }
@ -779,9 +779,9 @@ const armor_type *select_armor(troop t, bool shield)
} }
/* Hier ist zu beachten, ob und wie sich Zauber und Artefakte, die /* Hier ist zu beachten, ob und wie sich Zauber und Artefakte, die
* R<EFBFBD>stungschutz geben, addieren. * Ruestungschutz geben, addieren.
* - Artefakt "trollbelt" gibt R<EFBFBD>stung +1 * - Artefakt "trollbelt" gibt Ruestung +1
* - Zauber Rindenhaut gibt R<EFBFBD>stung +3 * - Zauber Rindenhaut gibt Ruestung +3
*/ */
static int trollbelts(const unit *u) { static int trollbelts(const unit *u) {
const struct resource_type *belt = rt_find("trollbelt"); const struct resource_type *belt = rt_find("trollbelt");
@ -799,7 +799,7 @@ int select_magicarmor(troop t)
return ma; return ma;
} }
/* Sind side ds und Magier des meffect verb<EFBFBD>ndet, dann return 1*/ /* Sind side ds und Magier des meffect verbuendet, dann return 1*/
bool meffect_protection(battle * b, meffect * s, side * ds) bool meffect_protection(battle * b, meffect * s, side * ds)
{ {
UNUSED_ARG(b); UNUSED_ARG(b);
@ -837,7 +837,7 @@ void rmfighter(fighter * df, int i)
assert(df->alive >= i); assert(df->alive >= i);
assert(df->alive <= df->unit->number); assert(df->alive <= df->unit->number);
/* erst ziehen wir die Anzahl der Personen von den K<EFBFBD>mpfern in der /* erst ziehen wir die Anzahl der Personen von den Kaempfern in der
* Schlacht, dann von denen auf dieser Seite ab*/ * Schlacht, dann von denen auf dieser Seite ab*/
df->side->alive -= i; df->side->alive -= i;
df->side->battle->alive -= i; df->side->battle->alive -= i;
@ -1031,15 +1031,15 @@ int calculate_armor(troop dt, const weapon_type *dwtype, const weapon_type *awty
total_armor = 0; total_armor = 0;
} }
/* nat<EFBFBD>rliche R<>stung */ /* natuerliche Ruestung */
nat_armor = natural_armor(du); nat_armor = natural_armor(du);
/* magische R<EFBFBD>stung durch Artefakte oder Spr<70>che */ /* magische Ruestung durch Artefakte oder Sprueche */
/* Momentan nur Trollg<EFBFBD>rtel und Werwolf-Eigenschaft */ /* Momentan nur Trollguertel und Werwolf-Eigenschaft */
magic_armor = select_magicarmor(dt); magic_armor = select_magicarmor(dt);
if (rule_nat_armor == 0) { if (rule_nat_armor == 0) {
/* nat<EFBFBD>rliche R<>stung ist halbkumulativ */ /* natuerliche Ruestung ist halbkumulativ */
if (total_armor > 0) { if (total_armor > 0) {
total_armor += nat_armor / 2; total_armor += nat_armor / 2;
} }
@ -1124,7 +1124,7 @@ static bool survives(fighter *af, troop dt, battle *b) {
const unit *du = af->unit; const unit *du = af->unit;
const fighter *df = dt.fighter; const fighter *df = dt.fighter;
if (df->person[dt.index].hp > 0) { /* Hat <EFBFBD>berlebt */ if (df->person[dt.index].hp > 0) { /* Hat ueberlebt */
demon_dazzle(af, dt); demon_dazzle(af, dt);
return true; return true;
@ -1261,7 +1261,7 @@ static int apply_magicshield(int reduced_damage, fighter *df,
reduced_damage -= hp; reduced_damage -= hp;
me->duration -= hp; me->duration -= hp;
} }
/* gibt R<EFBFBD>stung +effect f<>r duration Treffer */ /* gibt Ruestung +effect fuer duration Treffer */
if (me->typ == SHIELD_ARMOR) { if (me->typ == SHIELD_ARMOR) {
reduced_damage -= me->effect; reduced_damage -= me->effect;
if (reduced_damage < 0) reduced_damage = 0; if (reduced_damage < 0) reduced_damage = 0;
@ -1743,7 +1743,7 @@ void do_combatmagic(battle * b, combatmagic_t was)
unit *caster = mage; unit *caster = mage;
if (fig->alive <= 0) if (fig->alive <= 0)
continue; /* fighter kann im Kampf get<EFBFBD>tet worden sein */ continue; /* fighter kann im Kampf getoetet worden sein */
level = effskill(mage, SK_MAGIC, r); level = effskill(mage, SK_MAGIC, r);
if (level > 0) { if (level > 0) {
@ -1847,12 +1847,12 @@ static void do_combatspell(troop at)
sp = get_combatspell(mage, 1); sp = get_combatspell(mage, 1);
if (sp == NULL) { if (sp == NULL) {
fi->magic = 0; /* Hat keinen Kampfzauber, k<EFBFBD>mpft nichtmagisch weiter */ fi->magic = 0; /* Hat keinen Kampfzauber, kaempft nichtmagisch weiter */
return; return;
} }
ord = create_order(K_CAST, lang, "'%s'", spell_name(sp, lang)); ord = create_order(K_CAST, lang, "'%s'", spell_name(sp, lang));
if (!cancast(mage, sp, 1, 1, ord)) { if (!cancast(mage, sp, 1, 1, ord)) {
fi->magic = 0; /* Kann nicht mehr Zaubern, k<EFBFBD>mpft nichtmagisch weiter */ fi->magic = 0; /* Kann nicht mehr Zaubern, kaempft nichtmagisch weiter */
return; return;
} }
@ -1878,7 +1878,7 @@ static void do_combatspell(troop at)
} }
} }
/* Antimagie die Fehlschlag erh<EFBFBD>ht */ /* Antimagie die Fehlschlag erhoeht */
if (rng_int() % 100 < fumblechance) { if (rng_int() % 100 < fumblechance) {
report_failed_spell(b, mage, sp); report_failed_spell(b, mage, sp);
pay_spell(mage, NULL, sp, level, 1); pay_spell(mage, NULL, sp, level, 1);
@ -1897,7 +1897,7 @@ static void do_combatspell(troop at)
} }
/* Sonderattacken: Monster patzern nicht und zahlen auch keine /* Sonderattacken: Monster patzern nicht und zahlen auch keine
* Spruchkosten. Da die Spruchst<EFBFBD>rke direkt durch den Level bestimmt * Spruchkosten. Da die Spruchstaerke direkt durch den Level bestimmt
* wird, wirkt auch keine Antimagie (wird sonst in spellpower * wird, wirkt auch keine Antimagie (wird sonst in spellpower
* gemacht) */ * gemacht) */
@ -1948,7 +1948,7 @@ int skilldiff(troop at, troop dt, int dist)
if (b->attribs) { if (b->attribs) {
curse *c = get_curse(b->attribs, &ct_strongwall); curse *c = get_curse(b->attribs, &ct_strongwall);
if (curse_active(c)) { if (curse_active(c)) {
/* wirkt auf alle Geb<EFBFBD>ude */ /* wirkt auf alle Gebaeude */
skdiff -= curse_geteffect_int(c); skdiff -= curse_geteffect_int(c);
is_protected = 2; is_protected = 2;
} }
@ -2037,7 +2037,7 @@ int hits(troop at, troop dt, weapon * awp)
} }
skdiff = skilldiff(at, dt, dist); skdiff = skilldiff(at, dt, dist);
/* Verteidiger bekommt eine R<EFBFBD>stung */ /* Verteidiger bekommt eine Ruestung */
armor = select_armor(dt, true); armor = select_armor(dt, true);
if (dwp == NULL || (dwp->type->flags & WTF_USESHIELD)) { if (dwp == NULL || (dwp->type->flags & WTF_USESHIELD)) {
shield = select_armor(dt, false); shield = select_armor(dt, false);
@ -2066,7 +2066,7 @@ void damage_building(battle * b, building * bldg, int damage_abs)
bldg->size -= damage_abs; bldg->size -= damage_abs;
if (bldg->size < 1) bldg->size = 1; if (bldg->size < 1) bldg->size = 1;
/* Wenn Burg, dann gucken, ob die Leute alle noch in das Geb<EFBFBD>ude passen. */ /* Wenn Burg, dann gucken, ob die Leute alle noch in das Gebaeude passen. */
if (bldg->type->flags & BTF_FORTIFICATION) { if (bldg->type->flags & BTF_FORTIFICATION) {
side *s; side *s;
@ -2124,7 +2124,7 @@ static void attack(battle * b, troop ta, const att * a, int numattack)
switch (a->type) { switch (a->type) {
case AT_COMBATSPELL: case AT_COMBATSPELL:
/* Magier versuchen immer erstmal zu zaubern, erst wenn das /* Magier versuchen immer erstmal zu zaubern, erst wenn das
* fehlschl<EFBFBD>gt, wird af->magic == 0 und der Magier k<EFBFBD>mpft * fehlschlaegt, wird af->magic == 0 und der Magier kaempft
* konventionell weiter */ * konventionell weiter */
if (numattack == 0 && af->magic > 0) { if (numattack == 0 && af->magic > 0) {
/* wenn der magier in die potenzielle Reichweite von Attacken des /* wenn der magier in die potenzielle Reichweite von Attacken des
@ -2136,7 +2136,7 @@ static void attack(battle * b, troop ta, const att * a, int numattack)
} }
} }
break; break;
case AT_STANDARD: /* Waffen, mag. Gegenst<EFBFBD>nde, Kampfzauber */ case AT_STANDARD: /* Waffen, mag. Gegenstaende, Kampfzauber */
if (numattack > 0 || af->magic <= 0) { if (numattack > 0 || af->magic <= 0) {
weapon *wp = ta.fighter->person[ta.index].missile; weapon *wp = ta.fighter->person[ta.index].missile;
int melee = int melee =
@ -2153,7 +2153,7 @@ static void attack(battle * b, troop ta, const att * a, int numattack)
bool standard_attack = true; bool standard_attack = true;
bool reload = false; bool reload = false;
/* spezialattacken der waffe nur, wenn erste attacke in der runde. /* spezialattacken der waffe nur, wenn erste attacke in der runde.
* sonst helden mit feuerschwertern zu m<EFBFBD>chtig */ * sonst helden mit feuerschwertern zu maechtig */
if (numattack == 0 && wp && wp->type->attack) { if (numattack == 0 && wp && wp->type->attack) {
int dead = 0; int dead = 0;
standard_attack = wp->type->attack(&ta, wp->type, &dead); standard_attack = wp->type->attack(&ta, wp->type, &dead);
@ -2197,7 +2197,7 @@ static void attack(battle * b, troop ta, const att * a, int numattack)
} }
} }
break; break;
case AT_SPELL: /* Extra-Spr<EFBFBD>che. Kampfzauber in AT_COMBATSPELL! */ case AT_SPELL: /* Extra-Sprueche. Kampfzauber in AT_COMBATSPELL! */
do_extra_spell(ta, a); do_extra_spell(ta, a);
break; break;
case AT_NATURAL: case AT_NATURAL:
@ -2282,14 +2282,14 @@ void do_attack(fighter * af)
assert(au && au->number); assert(au && au->number);
/* Da das Zuschlagen auf Einheiten und nicht auf den einzelnen /* Da das Zuschlagen auf Einheiten und nicht auf den einzelnen
* K<EFBFBD>mpfern beruht, darf die Reihenfolge und Gr<EFBFBD><EFBFBD>e der Einheit keine * Kaempfern beruht, darf die Reihenfolge und Groesse der Einheit keine
* Rolle spielen, Das tut sie nur dann, wenn jeder, der am Anfang der * Rolle spielen, Das tut sie nur dann, wenn jeder, der am Anfang der
* Runde lebte, auch zuschlagen darf. Ansonsten ist der, der zuf<EFBFBD>llig * Runde lebte, auch zuschlagen darf. Ansonsten ist der, der zufaellig
* mit einer gro<EFBFBD>en Einheit zuerst drankommt, extrem bevorteilt. */ * mit einer grossen Einheit zuerst drankommt, extrem bevorteilt. */
ta.index = af->fighting; ta.index = af->fighting;
while (ta.index--) { while (ta.index--) {
/* Wir suchen eine beliebige Feind-Einheit aus. An der k<EFBFBD>nnen /* Wir suchen eine beliebige Feind-Einheit aus. An der koennen
* wir feststellen, ob noch jemand da ist. */ * wir feststellen, ob noch jemand da ist. */
int apr, attacks = attacks_per_round(ta); int apr, attacks = attacks_per_round(ta);
if (!count_enemies(b, af, FIGHT_ROW, LAST_ROW, SELECT_FIND)) if (!count_enemies(b, af, FIGHT_ROW, LAST_ROW, SELECT_FIND))
@ -2314,7 +2314,7 @@ void do_attack(fighter * af)
} }
} }
} }
/* Der letzte Katapultsch<EFBFBD>tze setzt die /* Der letzte Katapultschuetze setzt die
* Ladezeit neu und generiert die Meldung. */ * Ladezeit neu und generiert die Meldung. */
if (af->catmsg >= 0) { if (af->catmsg >= 0) {
struct message *m = struct message *m =
@ -2372,7 +2372,7 @@ static int horse_fleeing_bonus(const unit * u)
static int fleechance(unit * u) static int fleechance(unit * u)
{ {
int p = flee_chance_base; /* Fluchtwahrscheinlichkeit in % */ int p = flee_chance_base; /* Fluchtwahrscheinlichkeit in % */
/* Einheit u versucht, dem Get<EFBFBD>mmel zu entkommen */ /* Einheit u versucht, dem Getuemmel zu entkommen */
p += (effskill(u, SK_STEALTH, NULL) * flee_chance_skill_bonus); p += (effskill(u, SK_STEALTH, NULL) * flee_chance_skill_bonus);
p += horse_fleeing_bonus(u); p += horse_fleeing_bonus(u);
@ -2660,7 +2660,7 @@ static void aftermath(battle * b)
for (s = b->sides; s != b->sides + b->nsides; ++s) { for (s = b->sides; s != b->sides + b->nsides; ++s) {
int snumber = 0; int snumber = 0;
fighter *df; fighter *df;
bool relevant = false; /* Kampf relevant f<EFBFBD>r diese Partei? */ bool relevant = false; /* Kampf relevant fuer diese Partei? */
if (!fval(s, SIDE_HASGUARDS)) { if (!fval(s, SIDE_HASGUARDS)) {
relevant = true; relevant = true;
} }
@ -2700,7 +2700,7 @@ static void aftermath(battle * b)
/* Report the casualties */ /* Report the casualties */
reportcasualties(b, df, dead); reportcasualties(b, df, dead);
/* Zuerst d<EFBFBD>rfen die Feinde pl<70>ndern, die mitgenommenen Items /* Zuerst duerfen die Feinde pluendern, die mitgenommenen Items
* stehen in fig->run.items. Dann werden die Fliehenden auf * stehen in fig->run.items. Dann werden die Fliehenden auf
* die leere (tote) alte Einheit gemapt */ * die leere (tote) alte Einheit gemapt */
if (!fval(df, FIG_NOLOOT)) { if (!fval(df, FIG_NOLOOT)) {
@ -2735,7 +2735,7 @@ static void aftermath(battle * b)
} }
else { else {
if (df->alive == 0) { if (df->alive == 0) {
/* alle sind tot, niemand geflohen. Einheit aufl<EFBFBD>sen */ /* alle sind tot, niemand geflohen. Einheit aufloesen */
df->run.number = 0; df->run.number = 0;
df->run.hp = 0; df->run.hp = 0;
@ -2797,7 +2797,7 @@ static void aftermath(battle * b)
/* Wir benutzen drifted, um uns zu merken, ob ein Schiff /* Wir benutzen drifted, um uns zu merken, ob ein Schiff
* schonmal Schaden genommen hat. (moved und drifted * schonmal Schaden genommen hat. (moved und drifted
* sollten in flags <EFBFBD>berf<EFBFBD>hrt werden */ * sollten in flags ueberfuehrt werden */
for (s = b->sides; s != b->sides + b->nsides; ++s) { for (s = b->sides; s != b->sides + b->nsides; ++s) {
fighter *df; fighter *df;
@ -2818,7 +2818,7 @@ static void aftermath(battle * b)
} }
/* Wenn sich die Einheit auf einem Schiff befindet, wird /* Wenn sich die Einheit auf einem Schiff befindet, wird
* dieses Schiff besch<EFBFBD>digt. Andernfalls ein Schiff, welches * dieses Schiff beschaedigt. Andernfalls ein Schiff, welches
* evt. zuvor verlassen wurde. */ * evt. zuvor verlassen wurde. */
if (ships_damaged) { if (ships_damaged) {
ship *sh; ship *sh;
@ -3114,8 +3114,8 @@ fighter *make_fighter(battle * b, unit * u, side * s1, bool attack)
else if (!stealthfaction) { else if (!stealthfaction) {
s1->stealthfaction = NULL; s1->stealthfaction = NULL;
} }
/* Zu diesem Zeitpunkt ist attacked noch 0, da die Einheit f<EFBFBD>r noch /* Zu diesem Zeitpunkt ist attacked noch 0, da die Einheit fuer noch
* keinen Kampf ausgew<EFBFBD>hlt wurde (sonst w<EFBFBD>rde ein fighter existieren) */ * keinen Kampf ausgewaehlt wurde (sonst wuerde ein fighter existieren) */
} }
fig = (struct fighter*)calloc(1, sizeof(struct fighter)); fig = (struct fighter*)calloc(1, sizeof(struct fighter));
@ -3123,8 +3123,8 @@ fighter *make_fighter(battle * b, unit * u, side * s1, bool attack)
s1->fighters = fig; s1->fighters = fig;
fig->unit = u; fig->unit = u;
/* In einer Burg mu<EFBFBD> man a) nicht Angreifer sein, und b) drin sein, und /* In einer Burg muss man a) nicht Angreifer sein, und b) drin sein, und
* c) noch Platz finden. d) menschan<EFBFBD>hnlich sein */ * c) noch Platz finden. d) menschanaehnlich sein */
if (attack) { if (attack) {
set_attacker(fig); set_attacker(fig);
} }
@ -3150,7 +3150,7 @@ fighter *make_fighter(battle * b, unit * u, side * s1, bool attack)
assert(h); assert(h);
rest = u->hp % u->number; rest = u->hp % u->number;
/* Effekte von Spr<EFBFBD>chen */ /* Effekte von Spruechen */
if (u->attribs) { if (u->attribs) {
curse *c = get_curse(u->attribs, &ct_speed); curse *c = get_curse(u->attribs, &ct_speed);
@ -3189,8 +3189,8 @@ fighter *make_fighter(battle * b, unit * u, side * s1, bool attack)
} }
} }
/* F<EFBFBD>r alle Waffengattungen wird bestimmt, wie viele der Personen mit /* Fuer alle Waffengattungen wird bestimmt, wie viele der Personen mit
* ihr k<EFBFBD>mpfen k<EFBFBD>nnten, und was ihr Wert darin ist. */ * ihr kaempfen koennten, und was ihr Wert darin ist. */
if (u_race(u)->battle_flags & BF_EQUIPMENT) { if (u_race(u)->battle_flags & BF_EQUIPMENT) {
int owp[WMAX]; int owp[WMAX];
int dwp[WMAX]; int dwp[WMAX];
@ -3311,12 +3311,12 @@ fighter *make_fighter(battle * b, unit * u, side * s1, bool attack)
} }
} }
/* Jetzt mu<EFBFBD> noch geschaut werden, wo die Einheit die jeweils besten /* Jetzt muss noch geschaut werden, wo die Einheit die jeweils besten
* Werte hat, das kommt aber erst irgendwo sp<EFBFBD>ter. Ich entscheide * Werte hat, das kommt aber erst irgendwo spaeter. Ich entscheide
* w<EFBFBD>rend des Kampfes, welche ich nehme, je nach Gegner. Deswegen auch * waehrend des Kampfes, welche ich nehme, je nach Gegner. Deswegen auch
* keine addierten boni. */ * keine addierten boni. */
/* Zuerst mal die Spezialbehandlung gewisser Sonderf<EFBFBD>lle. */ /* Zuerst mal die Spezialbehandlung gewisser Sonderfaelle. */
fig->magic = effskill(u, SK_MAGIC, NULL); fig->magic = effskill(u, SK_MAGIC, NULL);
if (fig->horses) { if (fig->horses) {
@ -3410,7 +3410,7 @@ battle *make_battle(region * r)
b->region = r; b->region = r;
b->plane = getplane(r); b->plane = getplane(r);
/* Finde alle Parteien, die den Kampf beobachten k<EFBFBD>nnen: */ /* Finde alle Parteien, die den Kampf beobachten koennen: */
for (u = r->units; u; u = u->next) { for (u = r->units; u; u = u->next) {
if (u->number > 0) { if (u->number > 0) {
if (!fval(u->faction, FFL_MARK)) { if (!fval(u->faction, FFL_MARK)) {
@ -3593,18 +3593,18 @@ static void join_allies(battle * b)
for (s = b->sides; s != s_end; ++s) { for (s = b->sides; s != s_end; ++s) {
side *se; side *se;
/* Wenn alle attackierten noch FFL_NOAID haben, dann k<EFBFBD>mpfe nicht mit. */ /* Wenn alle attackierten noch FFL_NOAID haben, dann kaempfe nicht mit. */
if (fval(s->faction, FFL_NOAID)) if (fval(s->faction, FFL_NOAID))
continue; continue;
if (s->faction != f) { if (s->faction != f) {
/* Wenn wir attackiert haben, kommt niemand mehr hinzu: */ /* Wenn wir attackiert haben, kommt niemand mehr hinzu: */
if (s->bf->attacker) if (s->bf->attacker)
continue; continue;
/* alliiert m<EFBFBD>ssen wir schon sein, sonst ist's eh egal : */ /* alliiert muessen wir schon sein, sonst ist's eh egal : */
if (!alliedunit(u, s->faction, HELP_FIGHT)) if (!alliedunit(u, s->faction, HELP_FIGHT))
continue; continue;
/* wenn die partei verborgen ist, oder gar eine andere /* wenn die partei verborgen ist, oder gar eine andere
* vorgespiegelt wird, und er sich uns gegen<EFBFBD>ber nicht zu * vorgespiegelt wird, und er sich uns gegenueber nicht zu
* erkennen gibt, helfen wir ihm nicht */ * erkennen gibt, helfen wir ihm nicht */
if (s->stealthfaction) { if (s->stealthfaction) {
if (!alliedside(s, u->faction, HELP_FSTEALTH)) { if (!alliedside(s, u->faction, HELP_FSTEALTH)) {
@ -3612,7 +3612,7 @@ static void join_allies(battle * b)
} }
} }
} }
/* einen alliierten angreifen d<EFBFBD>rfen sie nicht, es sei denn, der /* einen alliierten angreifen duerfen sie nicht, es sei denn, der
* ist mit einem alliierten verfeindet, der nicht attackiert * ist mit einem alliierten verfeindet, der nicht attackiert
* hat: */ * hat: */
for (se = b->sides; se != s_end; ++se) { for (se = b->sides; se != s_end; ++se) {
@ -3626,7 +3626,7 @@ static void join_allies(battle * b)
} }
if (se == s_end) if (se == s_end)
continue; continue;
/* keine Einw<EFBFBD>nde, also soll er mitmachen: */ /* keine Einwaende, also soll er mitmachen: */
if (c == NULL) { if (c == NULL) {
if (!join_battle(b, u, false, &c)) { if (!join_battle(b, u, false, &c)) {
continue; continue;
@ -3750,7 +3750,7 @@ static bool start_battle(region * r, battle ** bp)
continue; continue;
} }
/* ist ein Fl<EFBFBD>chtling aus einem andern Kampf */ /* ist ein Fluechtling aus einem andern Kampf */
if (fval(u, UFL_LONGACTION)) if (fval(u, UFL_LONGACTION))
continue; continue;
@ -3771,7 +3771,7 @@ static bool start_battle(region * r, battle ** bp)
cmistake(u, ord, 234, MSG_BATTLE); cmistake(u, ord, 234, MSG_BATTLE);
} }
else { else {
/* Fehler: "Das Schiff mu<EFBFBD> erst verlassen werden" */ /* Fehler: "Das Schiff muss erst verlassen werden" */
cmistake(u, ord, 19, MSG_BATTLE); cmistake(u, ord, 19, MSG_BATTLE);
} }
continue; continue;
@ -3845,8 +3845,8 @@ static bool start_battle(region * r, battle ** bp)
freset(u2->faction, FFL_NOAID); freset(u2->faction, FFL_NOAID);
if (c1 && c2 && c2->run.number < c2->unit->number) { if (c1 && c2 && c2->run.number < c2->unit->number) {
/* Merken, wer Angreifer ist, f<EFBFBD>r die R<>ckzahlung der /* Merken, wer Angreifer ist, fuer die Rueckzahlung der
* Pr<EFBFBD>combataura bei kurzem Kampf. */ * Praecombataura bei kurzem Kampf. */
c1->side->bf->attacker = true; c1->side->bf->attacker = true;
set_enemy(c1->side, c2->side, true); set_enemy(c1->side, c2->side, true);
@ -3875,7 +3875,7 @@ static void battle_attacks(battle * b)
&& get_tactics(s, NULL) == b->max_tactics)) { && get_tactics(s, NULL) == b->max_tactics)) {
for (fig = s->fighters; fig; fig = fig->next) { for (fig = s->fighters; fig; fig = fig->next) {
/* ist in dieser Einheit noch jemand handlungsf<EFBFBD>hig? */ /* ist in dieser Einheit noch jemand handlungsfaehig? */
if (fig->fighting <= 0) if (fig->fighting <= 0)
continue; continue;
@ -3918,7 +3918,7 @@ static void battle_flee(battle * b)
for (fig = s->fighters; fig; fig = fig->next) { for (fig = s->fighters; fig; fig = fig->next) {
unit *u = fig->unit; unit *u = fig->unit;
troop dt; troop dt;
/* Flucht nicht bei mehr als 600 HP. Damit Wyrme t<EFBFBD>tbar bleiben. */ /* Flucht nicht bei mehr als 600 HP. Damit Wyrme toetbar bleiben. */
int runhp = (int)(0.9 + unit_max_hp(u) * hpflee(u->status)); int runhp = (int)(0.9 + unit_max_hp(u) * hpflee(u->status));
if (runhp > 600) runhp = 600; if (runhp > 600) runhp = 600;
@ -4023,7 +4023,7 @@ static void do_battle(region * r) {
return; return;
/* Bevor wir die alliierten hineinziehen, sollten wir schauen, * /* Bevor wir die alliierten hineinziehen, sollten wir schauen, *
* Ob jemand fliehen kann. Dann er<EFBFBD>brigt sich das ganze ja * Ob jemand fliehen kann. Dann eruebrigt sich das ganze ja
* vielleicht schon. */ * vielleicht schon. */
report_battle_start(b); report_battle_start(b);
if (!fighting) { if (!fighting) {
@ -4069,8 +4069,8 @@ static void do_battle(region * r) {
if (rule_force_leave(FORCE_LEAVE_POSTCOMBAT)) { if (rule_force_leave(FORCE_LEAVE_POSTCOMBAT)) {
force_leave(b->region, b); force_leave(b->region, b);
} }
/* Hier ist das Gefecht beendet, und wir k<EFBFBD>nnen die /* Hier ist das Gefecht beendet, und wir koennen die
* Hilfsstrukturen * wieder l<EFBFBD>schen: */ * Hilfsstrukturen * wieder loeschen: */
free_battle(b); free_battle(b);
} }

View File

@ -479,7 +479,7 @@ message *can_recruit(unit *u, const race *rc, order *ord, int now)
} }
if (has_skill(u, SK_MAGIC)) { if (has_skill(u, SK_MAGIC)) {
/* error158;de;{unit} in {region}: '{command}' - Magier arbeiten /* error158;de;{unit} in {region}: '{command}' - Magier arbeiten
* grunds<EFBFBD>tzlich nur alleine! */ * grundsaetzlich nur alleine! */
return msg_error(u, ord, 158); return msg_error(u, ord, 158);
} }
return NULL; return NULL;
@ -971,7 +971,7 @@ static void allocate_resource(unit * u, const resource_type * rtype, int want)
variant save_mod; variant save_mod;
skill_t sk; skill_t sk;
/* momentan kann man keine ressourcen abbauen, wenn man daf<EFBFBD>r /* momentan kann man keine ressourcen abbauen, wenn man dafuer
* Materialverbrauch hat: */ * Materialverbrauch hat: */
assert(itype != NULL && (itype->construction == NULL assert(itype != NULL && (itype->construction == NULL
|| itype->construction->materials == NULL)); || itype->construction->materials == NULL));
@ -997,8 +997,8 @@ static void allocate_resource(unit * u, const resource_type * rtype, int want)
save_mod.sa[1] = 1; save_mod.sa[1] = 1;
} }
/* Bergw<EFBFBD>chter k<>nnen Abbau von Eisen/Laen durch Bewachen verhindern. /* Bergwaechter koennen Abbau von Eisen/Laen durch Bewachen verhindern.
* Als magische Wesen 'sehen' Bergw<EFBFBD>chter alles und werden durch * Als magische Wesen 'sehen' Bergwaechter alles und werden durch
* Belagerung nicht aufgehalten. (Ansonsten wie oben bei Elfen anpassen). * Belagerung nicht aufgehalten. (Ansonsten wie oben bei Elfen anpassen).
*/ */
if (itype->rtype && (itype->rtype == get_resourcetype(R_IRON) || itype->rtype == rt_find("laen"))) { if (itype->rtype && (itype->rtype == get_resourcetype(R_IRON) || itype->rtype == rt_find("laen"))) {
@ -1473,15 +1473,15 @@ static void expandbuying(region * r, econ_request * buyorders)
return; return;
/* Initialisation. multiplier ist der Multiplikator auf den /* Initialisation. multiplier ist der Multiplikator auf den
* Verkaufspreis. F<EFBFBD>r max_products Produkte kauft man das Produkt zum * Verkaufspreis. Fuer max_products Produkte kauft man das Produkt zum
* einfachen Verkaufspreis, danach erh<EFBFBD>ht sich der Multiplikator um 1. * einfachen Verkaufspreis, danach erhoeht sich der Multiplikator um 1.
* counter ist ein Z<EFBFBD>hler, der die gekauften Produkte z<EFBFBD>hlt. money * counter ist ein Zaehler, der die gekauften Produkte zaehlt. money
* wird f<EFBFBD>r die debug message gebraucht. */ * wird fuer die debug message gebraucht. */
max_products = rpeasants(r) / TRADE_FRACTION; max_products = rpeasants(r) / TRADE_FRACTION;
/* Kauf - auch so programmiert, da<EFBFBD> er leicht erweiterbar auf mehrere /* Kauf - auch so programmiert, dass er leicht erweiterbar auf mehrere
* G<EFBFBD>ter pro Monat ist. j sind die Befehle, i der Index des * Gueter pro Monat ist. j sind die Befehle, i der Index des
* gehandelten Produktes. */ * gehandelten Produktes. */
if (max_products > 0) { if (max_products > 0) {
unsigned int norders = expandorders(r, buyorders); unsigned int norders = expandorders(r, buyorders);
@ -1500,10 +1500,10 @@ static void expandbuying(region * r, econ_request * buyorders)
if (get_pooled(g_requests[j]->unit, rsilver, GET_DEFAULT, if (get_pooled(g_requests[j]->unit, rsilver, GET_DEFAULT,
price) >= price) { price) >= price) {
item *items; item *items;
/* litems z<EFBFBD>hlt die G<>ter, die verkauft wurden, u->n das Geld, das /* litems zaehlt die Gueter, die verkauft wurden, u->n das Geld, das
* verdient wurde. Dies mu<EFBFBD> gemacht werden, weil der Preis st<EFBFBD>ndig sinkt, * verdient wurde. Dies muss gemacht werden, weil der Preis staendig sinkt,
* man sich also das verdiente Geld und die verkauften Produkte separat * man sich also das verdiente Geld und die verkauften Produkte separat
* merken mu<EFBFBD>. */ * merken muss. */
attrib *a; attrib *a;
u = g_requests[j]->unit; u = g_requests[j]->unit;
@ -1524,7 +1524,7 @@ static void expandbuying(region * r, econ_request * buyorders)
rsetmoney(r, rmoney(r) + price); rsetmoney(r, rmoney(r) + price);
/* Falls mehr als max_products Bauern ein Produkt verkauft haben, steigt /* Falls mehr als max_products Bauern ein Produkt verkauft haben, steigt
* der Preis Multiplikator f<EFBFBD>r das Produkt um den Faktor 1. Der Z<EFBFBD>hler * der Preis Multiplikator fuer das Produkt um den Faktor 1. Der Zaehler
* wird wieder auf 0 gesetzt. */ * wird wieder auf 0 gesetzt. */
if (++trade->number == max_products) { if (++trade->number == max_products) {
trade->number = 0; trade->number = 0;
@ -1599,7 +1599,7 @@ static void buy(unit * u, econ_request ** buyorders, struct order *ord)
return; return;
} }
/* Im Augenblick kann man nur 1 Produkt kaufen. expandbuying ist aber /* Im Augenblick kann man nur 1 Produkt kaufen. expandbuying ist aber
* schon daf<EFBFBD>r ausger<EFBFBD>stet, mehrere Produkte zu kaufen. */ * schon dafuer ausgeruestet, mehrere Produkte zu kaufen. */
kwd = init_order_depr(ord); kwd = init_order_depr(ord);
assert(kwd == K_BUY); assert(kwd == K_BUY);
@ -1632,11 +1632,11 @@ static void buy(unit * u, econ_request ** buyorders, struct order *ord)
} }
} }
/* Ein H<EFBFBD>ndler kann nur 10 G<>ter pro Talentpunkt handeln. */ /* Ein Haendler kann nur 10 Gueter pro Talentpunkt handeln. */
k = u->number * 10 * effskill(u, SK_TRADE, NULL); k = u->number * 10 * effskill(u, SK_TRADE, NULL);
/* hat der H<EFBFBD>ndler bereits gehandelt, muss die Menge der bereits /* hat der Haendler bereits gehandelt, muss die Menge der bereits
* verkauften/gekauften G<EFBFBD>ter abgezogen werden */ * verkauften/gekauften Gueter abgezogen werden */
a = a_find(u->attribs, &at_trades); a = a_find(u->attribs, &at_trades);
if (!a) { if (!a) {
a = a_add(&u->attribs, a_new(&at_trades)); a = a_add(&u->attribs, a_new(&at_trades));
@ -1653,7 +1653,7 @@ static void buy(unit * u, econ_request ** buyorders, struct order *ord)
} }
assert(n >= 0); assert(n >= 0);
/* die Menge der verkauften G<EFBFBD>ter merken */ /* die Menge der verkauften Gueter merken */
a->data.i += n; a->data.i += n;
s = gettoken(token, sizeof(token)); s = gettoken(token, sizeof(token));
@ -1687,7 +1687,7 @@ void add_income(unit * u, income_t type, int want, int qty)
"unit region mode wanted amount", u, u->region, (int)type, want, qty)); "unit region mode wanted amount", u, u->region, (int)type, want, qty));
} }
/* Steuers<EFBFBD>tze in % bei Burggr<67><72>e */ /* Steuersaetze in % bei Burggroesse */
static int tax_per_size[7] = { 0, 6, 12, 18, 24, 30, 36 }; static int tax_per_size[7] = { 0, 6, 12, 18, 24, 30, 36 };
static void expandselling(region * r, econ_request * sellorders, int limit) static void expandselling(region * r, econ_request * sellorders, int limit)
@ -1723,11 +1723,11 @@ static void expandselling(region * r, econ_request * sellorders, int limit)
} }
memset(counter, 0, sizeof(int) * ncounter); memset(counter, 0, sizeof(int) * ncounter);
if (!sellorders) { /* NEIN, denn Insekten k<EFBFBD>nnen in || !r->buildings) */ if (!sellorders) { /* NEIN, denn Insekten koennen in || !r->buildings) */
return; /* S<EFBFBD>mpfen und W<>sten auch so handeln */ return; /* Suempfen und Wuesten auch so handeln */
} }
/* Stelle Eigent<EFBFBD>mer der gr<67><72>ten Burg fest. Bekommt Steuern aus jedem /* Stelle Eigentuemer der groessten Burg fest. Bekommt Steuern aus jedem
* Verkauf. Wenn zwei Burgen gleicher Gr<EFBFBD><EFBFBD>e bekommt gar keiner etwas. */ * Verkauf. Wenn zwei Burgen gleicher Groesse bekommt gar keiner etwas. */
for (b = rbuildings(r); b; b = b->next) { for (b = rbuildings(r); b; b = b->next) {
if (b->size > maxsize && building_owner(b) != NULL if (b->size > maxsize && building_owner(b) != NULL
&& b->type == castle_bt) { && b->type == castle_bt) {
@ -1750,13 +1750,13 @@ static void expandselling(region * r, econ_request * sellorders, int limit)
maxowner = (unit *)NULL; maxowner = (unit *)NULL;
} }
} }
/* Die Region muss genug Geld haben, um die Produkte kaufen zu k<EFBFBD>nnen. */ /* Die Region muss genug Geld haben, um die Produkte kaufen zu koennen. */
money = rmoney(r); money = rmoney(r);
/* max_products sind 1/100 der Bev<EFBFBD>lkerung, falls soviele Produkte /* max_products sind 1/100 der Bevoelkerung, falls soviele Produkte
* verkauft werden - counter[] - sinkt die Nachfrage um 1 Punkt. * verkauft werden - counter[] - sinkt die Nachfrage um 1 Punkt.
* multiplier speichert r->demand f<EFBFBD>r die debug message ab. */ * multiplier speichert r->demand fuer die debug message ab. */
max_products = rpeasants(r) / TRADE_FRACTION; max_products = rpeasants(r) / TRADE_FRACTION;
if (max_products <= 0) if (max_products <= 0)
@ -1824,11 +1824,11 @@ static void expandselling(region * r, econ_request * sellorders, int limit)
change_money(u, price); change_money(u, price);
fset(u, UFL_LONGACTION | UFL_NOTMOVING); fset(u, UFL_LONGACTION | UFL_NOTMOVING);
/* r->money -= price; --- dies wird eben nicht ausgef<EFBFBD>hrt, denn die /* r->money -= price; --- dies wird eben nicht ausgefuehrt, denn die
* Produkte k<EFBFBD>nnen auch als Steuern eingetrieben werden. In der Region * Produkte koennen auch als Steuern eingetrieben werden. In der Region
* wurden Silberst<EFBFBD>cke gegen Luxusg<EFBFBD>ter des selben Wertes eingetauscht! * wurden Silberstuecke gegen Luxusgueter des selben Wertes eingetauscht!
* Falls mehr als max_products Kunden ein Produkt gekauft haben, sinkt * Falls mehr als max_products Kunden ein Produkt gekauft haben, sinkt
* die Nachfrage f<EFBFBD>r das Produkt um 1. Der Z<EFBFBD>hler wird wieder auf 0 * die Nachfrage fuer das Produkt um 1. Der Zaehler wird wieder auf 0
* gesetzt. */ * gesetzt. */
if (++counter[i] > max_products) { if (++counter[i] > max_products) {
@ -1846,7 +1846,7 @@ static void expandselling(region * r, econ_request * sellorders, int limit)
} }
free(g_requests); free(g_requests);
/* Steuern. Hier werden die Steuern dem Besitzer der gr<EFBFBD><EFBFBD>ten Burg gegeben. */ /* Steuern. Hier werden die Steuern dem Besitzer der groessten Burg gegeben. */
if (maxowner) { if (maxowner) {
if (taxcollected > 0) { if (taxcollected > 0) {
change_money(maxowner, (int)taxcollected); change_money(maxowner, (int)taxcollected);
@ -1903,7 +1903,7 @@ static bool sell(unit * u, econ_request ** sellorders, struct order *ord)
cmistake(u, ord, 69, MSG_INCOME); cmistake(u, ord, 69, MSG_INCOME);
return false; return false;
} }
/* sellorders sind KEIN array, weil f<EFBFBD>r alle items DIE SELBE resource /* sellorders sind KEIN array, weil fuer alle items DIE SELBE resource
* (das geld der region) aufgebraucht wird. */ * (das geld der region) aufgebraucht wird. */
kwd = init_order_depr(ord); kwd = init_order_depr(ord);
@ -1928,7 +1928,7 @@ static bool sell(unit * u, econ_request ** sellorders, struct order *ord)
return false; return false;
} }
} }
/* In der Region mu<EFBFBD> es eine Burg geben. */ /* In der Region muss es eine Burg geben. */
if (u_race(u) == get_race(RC_INSECT)) { if (u_race(u) == get_race(RC_INSECT)) {
if (r->terrain != newterrain(T_SWAMP) && r->terrain != newterrain(T_DESERT) if (r->terrain != newterrain(T_SWAMP) && r->terrain != newterrain(T_DESERT)
@ -1938,7 +1938,7 @@ static bool sell(unit * u, econ_request ** sellorders, struct order *ord)
} }
} }
else { else {
/* ...oder in der Region mu<EFBFBD> es eine Burg geben. */ /* ...oder in der Region muss es eine Burg geben. */
building *b = 0; building *b = 0;
if (r->buildings) { if (r->buildings) {
for (b = r->buildings; b; b = b->next) { for (b = r->buildings; b; b = b->next) {
@ -1951,7 +1951,7 @@ static bool sell(unit * u, econ_request ** sellorders, struct order *ord)
} }
} }
/* Ein H<EFBFBD>ndler kann nur 10 G<>ter pro Talentpunkt verkaufen. */ /* Ein Haendler kann nur 10 Gueter pro Talentpunkt verkaufen. */
i = u->number * 10 * effskill(u, SK_TRADE, NULL); i = u->number * 10 * effskill(u, SK_TRADE, NULL);
if (n > i) n = i; if (n > i) n = i;
@ -1978,7 +1978,7 @@ static bool sell(unit * u, econ_request ** sellorders, struct order *ord)
} }
available = get_pooled(u, itype->rtype, GET_DEFAULT, INT_MAX); available = get_pooled(u, itype->rtype, GET_DEFAULT, INT_MAX);
/* Wenn andere Einheiten das selbe verkaufen, mu<EFBFBD> ihr Zeug abgezogen /* Wenn andere Einheiten das selbe verkaufen, muss ihr Zeug abgezogen
* werden damit es nicht zweimal verkauft wird: */ * werden damit es nicht zweimal verkauft wird: */
for (o = *sellorders; o; o = o->next) { for (o = *sellorders; o; o = o->next) {
if (o->type.trade.ltype == ltype && o->unit->faction == u->faction) { if (o->type.trade.ltype == ltype && o->unit->faction == u->faction) {
@ -1996,16 +1996,16 @@ static bool sell(unit * u, econ_request ** sellorders, struct order *ord)
return false; return false;
} }
/* Hier wird production->type verwendet, weil die obere limit durch /* Hier wird production->type verwendet, weil die obere limit durch
* das silber gegeben wird (region->money), welches f<EFBFBD>r alle * das silber gegeben wird (region->money), welches fuer alle
* (!) produkte als summe gilt, als nicht wie bei der * (!) produkte als summe gilt, als nicht wie bei der
* produktion, wo f<EFBFBD>r jedes produkt einzeln eine obere limite * produktion, wo fuer jedes produkt einzeln eine obere limite
* existiert, so dass man arrays von orders machen kann. */ * existiert, so dass man arrays von orders machen kann. */
/* Ein H<EFBFBD>ndler kann nur 10 G<>ter pro Talentpunkt handeln. */ /* Ein Haendler kann nur 10 Gueter pro Talentpunkt handeln. */
k = u->number * 10 * effskill(u, SK_TRADE, NULL); k = u->number * 10 * effskill(u, SK_TRADE, NULL);
/* hat der H<EFBFBD>ndler bereits gehandelt, muss die Menge der bereits /* hat der Haendler bereits gehandelt, muss die Menge der bereits
* verkauften/gekauften G<EFBFBD>ter abgezogen werden */ * verkauften/gekauften Gueter abgezogen werden */
a = a_find(u->attribs, &at_trades); a = a_find(u->attribs, &at_trades);
if (!a) { if (!a) {
a = a_add(&u->attribs, a_new(&at_trades)); a = a_add(&u->attribs, a_new(&at_trades));
@ -2016,7 +2016,7 @@ static bool sell(unit * u, econ_request ** sellorders, struct order *ord)
if (n > k) n = k; if (n > k) n = k;
assert(n >= 0); assert(n >= 0);
/* die Menge der verkauften G<EFBFBD>ter merken */ /* die Menge der verkauften Gueter merken */
a->data.i += n; a->data.i += n;
o = (econ_request *)calloc(1, sizeof(econ_request)); o = (econ_request *)calloc(1, sizeof(econ_request));
if (!o) abort(); if (!o) abort();
@ -2047,7 +2047,7 @@ static void plant(unit * u, int raw)
return; return;
} }
/* Skill pr<EFBFBD>fen */ /* Skill pruefen */
skill = effskill(u, SK_HERBALISM, NULL); skill = effskill(u, SK_HERBALISM, NULL);
if (skill < 6) { if (skill < 6) {
ADDMSG(&u->faction->msgs, ADDMSG(&u->faction->msgs,
@ -2055,14 +2055,14 @@ static void plant(unit * u, int raw)
"skill minskill product", SK_HERBALISM, 6, itype->rtype, 1)); "skill minskill product", SK_HERBALISM, 6, itype->rtype, 1));
return; return;
} }
/* Wasser des Lebens pr<EFBFBD>fen */ /* Wasser des Lebens pruefen */
if (get_pooled(u, rt_water, GET_DEFAULT, 1) == 0) { if (get_pooled(u, rt_water, GET_DEFAULT, 1) == 0) {
ADDMSG(&u->faction->msgs, ADDMSG(&u->faction->msgs,
msg_feedback(u, u->thisorder, "resource_missing", "missing", rt_water)); msg_feedback(u, u->thisorder, "resource_missing", "missing", rt_water));
return; return;
} }
n = get_pooled(u, itype->rtype, GET_DEFAULT, skill * u->number); n = get_pooled(u, itype->rtype, GET_DEFAULT, skill * u->number);
/* Kr<EFBFBD>uter pr<70>fen */ /* Kraeuter pruefen */
if (n == 0) { if (n == 0) {
ADDMSG(&u->faction->msgs, ADDMSG(&u->faction->msgs,
msg_feedback(u, u->thisorder, "resource_missing", "missing", msg_feedback(u, u->thisorder, "resource_missing", "missing",
@ -2073,7 +2073,7 @@ static void plant(unit * u, int raw)
i = skill * u->number; i = skill * u->number;
if (i > raw) i = raw; if (i > raw) i = raw;
if (n > i) n = i; if (n > i) n = i;
/* F<EFBFBD>r jedes Kraut Talent*10% Erfolgschance. */ /* Fuer jedes Kraut Talent*10% Erfolgschance. */
for (i = n; i > 0; i--) { for (i = n; i > 0; i--) {
if (rng_int() % 10 < skill) if (rng_int() % 10 < skill)
planted++; planted++;
@ -2098,10 +2098,10 @@ static void planttrees(unit * u, int raw)
return; return;
} }
/* Mallornb<EFBFBD>ume kann man nur in Mallornregionen z<>chten */ /* Mallornbaeume kann man nur in Mallornregionen zuechten */
rtype = get_resourcetype(fval(r, RF_MALLORN) ? R_MALLORN_SEED : R_SEED); rtype = get_resourcetype(fval(r, RF_MALLORN) ? R_MALLORN_SEED : R_SEED);
/* Skill pr<EFBFBD>fen */ /* Skill pruefen */
skill = effskill(u, SK_HERBALISM, NULL); skill = effskill(u, SK_HERBALISM, NULL);
if (skill < 6) { if (skill < 6) {
ADDMSG(&u->faction->msgs, ADDMSG(&u->faction->msgs,
@ -2126,7 +2126,7 @@ static void planttrees(unit * u, int raw)
} }
if (n > raw) n = raw; if (n > raw) n = raw;
/* F<EFBFBD>r jeden Samen Talent*10% Erfolgschance. */ /* Fuer jeden Samen Talent*10% Erfolgschance. */
for (i = n; i > 0; i--) { for (i = n; i > 0; i--) {
if (rng_int() % 10 < skill) if (rng_int() % 10 < skill)
planted++; planted++;
@ -2141,7 +2141,7 @@ static void planttrees(unit * u, int raw)
"unit region amount herb", u, r, planted, rtype)); "unit region amount herb", u, r, planted, rtype));
} }
/* z<EFBFBD>chte b<>ume */ /* zuechte baeume */
static void breedtrees(unit * u, int raw) static void breedtrees(unit * u, int raw)
{ {
int n, i, skill, planted = 0; int n, i, skill, planted = 0;
@ -2153,7 +2153,7 @@ static void breedtrees(unit * u, int raw)
get_gamedate(turn, &date); get_gamedate(turn, &date);
current_season = date.season; current_season = date.season;
/* B<EFBFBD>ume z<>chten geht nur im Fr<46>hling */ /* Baeume zuechten geht nur im Fruehling */
if (current_season != SEASON_SPRING) { if (current_season != SEASON_SPRING) {
planttrees(u, raw); planttrees(u, raw);
return; return;
@ -2163,10 +2163,10 @@ static void breedtrees(unit * u, int raw)
return; return;
} }
/* Mallornb<EFBFBD>ume kann man nur in Mallornregionen z<>chten */ /* Mallornbaeume kann man nur in Mallornregionen zuechten */
rtype = get_resourcetype(fval(r, RF_MALLORN) ? R_MALLORN_SEED : R_SEED); rtype = get_resourcetype(fval(r, RF_MALLORN) ? R_MALLORN_SEED : R_SEED);
/* Skill pr<EFBFBD>fen */ /* Skill pruefen */
skill = effskill(u, SK_HERBALISM, NULL); skill = effskill(u, SK_HERBALISM, NULL);
if (skill < 12) { if (skill < 12) {
planttrees(u, raw); planttrees(u, raw);
@ -2177,7 +2177,7 @@ static void breedtrees(unit * u, int raw)
i = skill * u->number; i = skill * u->number;
if (raw > i) raw = i; if (raw > i) raw = i;
n = get_pooled(u, rtype, GET_DEFAULT, raw); n = get_pooled(u, rtype, GET_DEFAULT, raw);
/* Samen pr<EFBFBD>fen */ /* Samen pruefen */
if (n == 0) { if (n == 0) {
ADDMSG(&u->faction->msgs, ADDMSG(&u->faction->msgs,
msg_feedback(u, u->thisorder, "resource_missing", "missing", rtype)); msg_feedback(u, u->thisorder, "resource_missing", "missing", rtype));
@ -2185,7 +2185,7 @@ static void breedtrees(unit * u, int raw)
} }
if (n > raw) n = raw; if (n > raw) n = raw;
/* F<EFBFBD>r jeden Samen Talent*5% Erfolgschance. */ /* Fuer jeden Samen Talent*5% Erfolgschance. */
for (i = n; i > 0; i--) { for (i = n; i > 0; i--) {
if (rng_int() % 100 < skill * 5) if (rng_int() % 100 < skill * 5)
planted++; planted++;
@ -2200,7 +2200,7 @@ static void breedtrees(unit * u, int raw)
"unit region amount herb", u, r, planted, rtype)); "unit region amount herb", u, r, planted, rtype));
} }
/* z<EFBFBD>chte pferde */ /* zuechte pferde */
static void breedhorses(unit * u) static void breedhorses(unit * u)
{ {
int n, c, breed = 0; int n, c, breed = 0;
@ -2252,7 +2252,7 @@ static void breed_cmd(unit * u, struct order *ord)
return; return;
} }
/* z<EFBFBD>chte [<anzahl>] <parameter> */ /* zuechte [<anzahl>] <parameter> */
(void)init_order_depr(ord); (void)init_order_depr(ord);
s = gettoken(token, sizeof(token)); s = gettoken(token, sizeof(token));
@ -2367,7 +2367,7 @@ static void expandentertainment(region * r)
m -= u->n; m -= u->n;
entertaining -= o->qty; entertaining -= o->qty;
/* Nur soviel PRODUCEEXP wie auch tats<EFBFBD>chlich gemacht wurde */ /* Nur soviel PRODUCEEXP wie auch tatsaechlich gemacht wurde */
produceexp(u, SK_ENTERTAINMENT, (u->n < u->number) ? u->n : u->number); produceexp(u, SK_ENTERTAINMENT, (u->n < u->number) ? u->n : u->number);
add_income(u, IC_ENTERTAIN, o->qty, u->n); add_income(u, IC_ENTERTAIN, o->qty, u->n);
fset(u, UFL_LONGACTION | UFL_NOTMOVING); fset(u, UFL_LONGACTION | UFL_NOTMOVING);
@ -2925,7 +2925,7 @@ void produce(struct region *r)
/* Entertainment (expandentertainment) und Besteuerung (expandtax) vor den /* Entertainment (expandentertainment) und Besteuerung (expandtax) vor den
* Befehlen, die den Bauern mehr Geld geben, damit man aus den Zahlen der * Befehlen, die den Bauern mehr Geld geben, damit man aus den Zahlen der
* letzten Runde berechnen kann, wieviel die Bauern f<EFBFBD>r Unterhaltung * letzten Runde berechnen kann, wieviel die Bauern fuer Unterhaltung
* auszugeben bereit sind. */ * auszugeben bereit sind. */
if (entertaining) if (entertaining)
expandentertainment(r); expandentertainment(r);
@ -2943,7 +2943,7 @@ void produce(struct region *r)
} }
/* An erster Stelle Kaufen (expandbuying), die Bauern so Geld bekommen, um /* An erster Stelle Kaufen (expandbuying), die Bauern so Geld bekommen, um
* nachher zu beim Verkaufen (expandselling) den Spielern abkaufen zu * nachher zu beim Verkaufen (expandselling) den Spielern abkaufen zu
* k<EFBFBD>nnen. */ * koennen. */
if (buyorders) { if (buyorders) {
expandbuying(r, buyorders); expandbuying(r, buyorders);

View File

@ -402,7 +402,7 @@ message * give_men(int n, unit * u, unit * u2, struct order *ord)
if (has_skill(u2, SK_ALCHEMY) && !has_skill(u, SK_ALCHEMY)) if (has_skill(u2, SK_ALCHEMY) && !has_skill(u, SK_ALCHEMY))
k += n; k += n;
/* Wenn Parteigrenzen überschritten werden */ /* Wenn Parteigrenzen ueberschritten werden */
if (u2->faction != u->faction) if (u2->faction != u->faction)
k += n; k += n;
@ -416,8 +416,8 @@ message * give_men(int n, unit * u, unit * u2, struct order *ord)
if (error == 0) { if (error == 0) {
ship *sh = leftship(u); ship *sh = leftship(u);
/* Einheiten von Schiffen können nicht NACH in von /* Einheiten von Schiffen koennen nicht NACH in von
* Nicht-alliierten bewachten Regionen ausführen */ * Nicht-alliierten bewachten Regionen ausfuehren */
if (sh) { if (sh) {
set_leftship(u2, sh); set_leftship(u2, sh);
} }
@ -608,7 +608,7 @@ void give_unit(unit * u, unit * u2, order * ord)
} }
bool can_give_to(unit *u, unit *u2) { bool can_give_to(unit *u, unit *u2) {
/* Damit Tarner nicht durch die Fehlermeldung enttarnt werden können */ /* Damit Tarner nicht durch die Fehlermeldung enttarnt werden koennen */
if (!u2) { if (!u2) {
return false; return false;
} }
@ -638,8 +638,8 @@ static void give_all_items(unit *u, unit *u2, order *ord) {
return; return;
} }
/* für alle items einmal prüfen, ob wir mehr als von diesem Typ /* fuer alle items einmal pruefen, ob wir mehr als von diesem Typ
* reserviert ist besitzen und diesen Teil dann übergeben */ * reserviert ist besitzen und diesen Teil dann uebergeben */
if (u->items) { if (u->items) {
item **itmp = &u->items; item **itmp = &u->items;
while (*itmp) { while (*itmp) {
@ -768,7 +768,7 @@ void give_cmd(unit * u, order * ord)
while (*itmp) { while (*itmp) {
item *itm = *itmp; item *itm = *itmp;
if (fval(itm->type, ITF_HERB) && itm->number > 0) { if (fval(itm->type, ITF_HERB) && itm->number > 0) {
/* give_item ändert im fall,das man alles übergibt, die /* give_item aendert im fall,das man alles uebergibt, die
* item-liste der unit, darum continue vor pointerumsetzten */ * item-liste der unit, darum continue vor pointerumsetzten */
if (give_item(itm->number, itm->type, u, u2, ord) == 0) { if (give_item(itm->number, itm->type, u, u2, ord) == 0) {
given = true; given = true;

View File

@ -152,7 +152,7 @@ order * ord)
r = findregion(a->data.sa[0], a->data.sa[1]); r = findregion(a->data.sa[0], a->data.sa[1]);
assert(r); assert(r);
a_remove(&u->attribs, a); a_remove(&u->attribs, a);
/* Übergebene Gegenstände zurückgeben */ /* Uebergebene Gegenstaende zurueckgeben */
a = a_find(u->attribs, &at_museumgivebackcookie); a = a_find(u->attribs, &at_museumgivebackcookie);
if (a) { if (a) {

View File

@ -9,7 +9,7 @@
* based on: * based on:
* *
* Atlantis v1.0 13 September 1993 Copyright 1993 by Russell Wallace * Atlantis v1.0 13 September 1993 Copyright 1993 by Russell Wallace
* Atlantis v1.7 Copyright 1996 by Alex Schr<EFBFBD>der * Atlantis v1.7 Copyright 1996 by Alex Schroeder
* *
* This program may not be used, modified or distributed without * This program may not be used, modified or distributed without
* prior permission by the authors of Eressea. * prior permission by the authors of Eressea.
@ -74,7 +74,7 @@
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
#define DRAGON_RANGE 20 /* max. Distanz zum n<EFBFBD>chsten Drachenziel */ #define DRAGON_RANGE 20 /* max. Distanz zum naechsten Drachenziel */
#define MOVE_PERCENT 25 /* chance fuer bewegung */ #define MOVE_PERCENT 25 /* chance fuer bewegung */
#define MAXILLUSION_TEXTS 3 #define MAXILLUSION_TEXTS 3
@ -371,11 +371,11 @@ static direction_t random_neighbour(region * r, unit * u)
} }
} }
/* Zuf<EFBFBD>llig eine ausw<73>hlen */ /* Zufaellig eine auswaehlen */
rr = rng_int() % c; rr = rng_int() % c;
/* Durchz<EFBFBD>hlen */ /* Durchzaehlen */
c = 0; c = 0;
for (i = 0; i != MAXDIRECTIONS; i++) { for (i = 0; i != MAXDIRECTIONS; i++) {
@ -412,11 +412,11 @@ static direction_t treeman_neighbour(region * r)
if (c == 0) { if (c == 0) {
return NODIRECTION; return NODIRECTION;
} }
/* Zuf<EFBFBD>llig eine ausw<73>hlen */ /* Zufaellig eine auswaehlen */
rr = rng_int() % c; rr = rng_int() % c;
/* Durchz<EFBFBD>hlen */ /* Durchzaehlen */
c = -1; c = -1;
for (i = 0; i != MAXDIRECTIONS; i++) { for (i = 0; i != MAXDIRECTIONS; i++) {
@ -561,7 +561,7 @@ static order *monster_learn(unit * u)
return NULL; return NULL;
} }
/* Monster lernt ein zuf<EFBFBD>lliges Talent aus allen, in denen es schon /* Monster lernt ein zufaelliges Talent aus allen, in denen es schon
* Lerntage hat. */ * Lerntage hat. */
for (sv = u->skills; sv != u->skills + u->skill_size; ++sv) { for (sv = u->skills; sv != u->skills + u->skill_size; ++sv) {
if (sv->level > 0) if (sv->level > 0)
@ -650,7 +650,7 @@ static order *plan_dragon(unit * u)
if (rc == rc_wyrm && !move) { if (rc == rc_wyrm && !move) {
unit *u2; unit *u2;
for (u2 = r->units; u2; u2 = u2->next) { for (u2 = r->units; u2; u2 = u2->next) {
/* wyrme sind einzelg<6C>nger */ /* Wyrme sind Einzelgaenger */
if (u2 == u) { if (u2 == u) {
/* we do not make room for newcomers, so we don't need to look at them */ /* we do not make room for newcomers, so we don't need to look at them */
break; break;
@ -747,7 +747,7 @@ void plan_monsters(faction * f)
order *long_order = NULL; order *long_order = NULL;
bool can_move = true; bool can_move = true;
/* Ab hier nur noch Befehle f<EFBFBD>r NPC-Einheiten. */ /* Ab hier nur noch Befehle fuer NPC-Einheiten. */
if (u->faction!=f) if (u->faction!=f)
continue; continue;
@ -761,7 +761,7 @@ void plan_monsters(faction * f)
produceexp(u, SK_PERCEPTION, u->number); produceexp(u, SK_PERCEPTION, u->number);
} }
/* Befehle m<EFBFBD>ssen jede Runde neu gegeben werden: */ /* Befehle muessen jede Runde neu gegeben werden: */
free_orders(&u->orders); free_orders(&u->orders);
/* All monsters guard the region: */ /* All monsters guard the region: */
@ -833,7 +833,7 @@ void plan_monsters(faction * f)
} }
} }
if (long_order == NULL && check_student(u, NULL, SK_WEAPONLESS)) { if (long_order == NULL && check_student(u, NULL, SK_WEAPONLESS)) {
/* Einheiten, die Waffenlosen Kampf lernen k<EFBFBD>nnten, lernen es um /* Einheiten, die Waffenlosen Kampf lernen koennten, lernen es um
* zu bewachen: */ * zu bewachen: */
if (rc->bonus[SK_WEAPONLESS] != -99) { if (rc->bonus[SK_WEAPONLESS] != -99) {
if (effskill(u, SK_WEAPONLESS, NULL) < 1) { if (effskill(u, SK_WEAPONLESS, NULL) < 1) {
@ -875,7 +875,7 @@ unit *spawn_seaserpent(region *r, faction *f) {
} }
/** /**
* Drachen und Seeschlangen k<EFBFBD>nnen entstehen * Drachen und Seeschlangen koennen entstehen
*/ */
void spawn_dragons(void) void spawn_dragons(void)
{ {
@ -926,7 +926,7 @@ void spawn_dragons(void)
} }
} }
/** Untote k<EFBFBD>nnen entstehen */ /** Untote koennen entstehen */
void spawn_undead(void) void spawn_undead(void)
{ {
region *r; region *r;
@ -946,7 +946,7 @@ void spawn_undead(void)
message *msg; message *msg;
unit *u; unit *u;
/* es ist sinnfrei, wenn irgendwo im Wald 3er-Einheiten Untote entstehen. /* es ist sinnfrei, wenn irgendwo im Wald 3er-Einheiten Untote entstehen.
* Lieber sammeln lassen, bis sie mindestens 5% der Bev<EFBFBD>lkerung sind, und * Lieber sammeln lassen, bis sie mindestens 5% der Bevoelkerung sind, und
* dann erst auferstehen. */ * dann erst auferstehen. */
int undead = unburied / (rng_int() % 2 + 1); int undead = unburied / (rng_int() % 2 + 1);
const race *rc = NULL; const race *rc = NULL;
@ -1005,7 +1005,7 @@ void spawn_undead(void)
else { else {
int i = deathcount(r); int i = deathcount(r);
if (i) { if (i) {
/* Gr<EFBFBD>ber verwittern, 3% der Untoten finden die ewige Ruhe */ /* Groeber verwittern, 3% der Untoten finden die ewige Ruhe */
deathcounts(r, (int)(-i * 0.03)); deathcounts(r, (int)(-i * 0.03));
} }
} }

View File

@ -551,9 +551,9 @@ static void nr_curses(struct stream *out, int indent, const faction *viewer, obj
region *r; region *r;
/* Die Sichtbarkeit eines Zaubers und die Zaubermeldung sind bei /* Die Sichtbarkeit eines Zaubers und die Zaubermeldung sind bei
* Gebäuden und Schiffen je nach, ob man Besitzer ist, verschieden. * Gebaeuden und Schiffen je nach, ob man Besitzer ist, verschieden.
* Bei Einheiten sieht man Wirkungen auf eigene Einheiten immer. * Bei Einheiten sieht man Wirkungen auf eigene Einheiten immer.
* Spezialfälle (besonderes Talent, verursachender Magier usw. werde * Spezialfaelle (besonderes Talent, verursachender Magier usw. werde
* bei jedem curse gesondert behandelt. */ * bei jedem curse gesondert behandelt. */
if (typ == TYP_SHIP) { if (typ == TYP_SHIP) {
ship *sh = (ship *)obj; ship *sh = (ship *)obj;

View File

@ -449,7 +449,7 @@ report_effect(region * r, unit * mage, message * seen, message * unseen)
* Vertrauten sehen, und durch den Vertrauten zaubern, allerdings nur * Vertrauten sehen, und durch den Vertrauten zaubern, allerdings nur
* mit seiner halben Stufe. Je nach Vertrautem erhaelt der Magier * mit seiner halben Stufe. Je nach Vertrautem erhaelt der Magier
* evtl diverse Skillmodifikationen. Der Typ des Vertrauten ist * evtl diverse Skillmodifikationen. Der Typ des Vertrauten ist
* zufaellig bestimmt, wird aber durch Magiegebiet und Rasse beeinflußt. * zufaellig bestimmt, wird aber durch Magiegebiet und Rasse beeinflusst.
* "Tierische" Vertraute brauchen keinen Unterhalt. * "Tierische" Vertraute brauchen keinen Unterhalt.
* *
* Ein paar Moeglichkeiten: * Ein paar Moeglichkeiten:
@ -1588,7 +1588,7 @@ static int sp_create_stonegolem(castorder * co)
} }
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
/* Name: Gro<EFBFBD>e Duerre /* Name: Grosse Duerre
* Stufe: 17 * Stufe: 17
* Kategorie: Region, negativ * Kategorie: Region, negativ
* Gebiet: Gwyrrd * Gebiet: Gwyrrd
@ -1896,7 +1896,7 @@ static int sp_treewalkexit(castorder * co)
return 0; return 0;
} }
/* Koordinaten setzen und Region loeschen fuer <EFBFBD>berpruefung auf /* Koordinaten setzen und Region loeschen fuer Ueberpruefung auf
* Gueltigkeit */ * Gueltigkeit */
rt = pa->param[0]->data.r; rt = pa->param[0]->data.r;
tax = rt->x; tax = rt->x;
@ -2179,7 +2179,7 @@ static int sp_ironkeeper(castorder * co)
unit_setstatus(keeper, ST_AVOID); /* kaempft nicht */ unit_setstatus(keeper, ST_AVOID); /* kaempft nicht */
setguard(keeper, true); setguard(keeper, true);
fset(keeper, UFL_ISNEW); fset(keeper, UFL_ISNEW);
/* Parteitarnen, damit man nicht sofort wei<EFBFBD>, wer dahinter steckt */ /* Parteitarnen, damit man nicht sofort weiss, wer dahinter steckt */
if (rule_stealth_anon()) { if (rule_stealth_anon()) {
fset(keeper, UFL_ANON_FACTION); fset(keeper, UFL_ANON_FACTION);
} }
@ -2557,7 +2557,7 @@ static void patzer_fumblecurse(const castorder * co)
* *
* Wirkung: * Wirkung:
* In einer Wueste, Sumpf oder Gletscher gezaubert kann innerhalb der * In einer Wueste, Sumpf oder Gletscher gezaubert kann innerhalb der
* naechsten 6 Runden ein bis 6 Dracheneinheiten bis Groe<EFBFBD>e Wyrm * naechsten 6 Runden ein bis 6 Dracheneinheiten bis Groesse Wyrm
* entstehen. * entstehen.
* *
* Mit Stufe 12-15 erscheinen Jung- oder normaler Drachen, mit Stufe * Mit Stufe 12-15 erscheinen Jung- oder normaler Drachen, mit Stufe
@ -2803,7 +2803,7 @@ static int change_hitpoints(unit * u, int value)
hp += value; hp += value;
/* Jede Person ben<EFBFBD>tigt mindestens 1 HP */ /* Jede Person benoetigt mindestens 1 HP */
if (hp < u->number) { if (hp < u->number) {
if (hp < 0) { /* Einheit tot */ if (hp < 0) { /* Einheit tot */
hp = 0; hp = 0;
@ -3680,7 +3680,7 @@ static int sp_rallypeasantmob(castorder * co)
* Gebiet: Cerddor * Gebiet: Cerddor
* Wirkung: * Wirkung:
* Wiegelt 60% bis 90% der Bauern einer Region auf. Bauern werden ein * Wiegelt 60% bis 90% der Bauern einer Region auf. Bauern werden ein
* gro<EFBFBD>er Mob, der zur Monsterpartei gehoert und die Region bewacht. * grosser Mob, der zur Monsterpartei gehoert und die Region bewacht.
* Regionssilber sollte auch nicht durch Unterhaltung gewonnen werden * Regionssilber sollte auch nicht durch Unterhaltung gewonnen werden
* koennen. * koennen.
* *
@ -3941,7 +3941,7 @@ static int sp_recruit(castorder * co)
return 0; return 0;
} }
/* Immer noch zuviel auf niedrigen Stufen. Deshalb die Rekrutierungskosten /* Immer noch zuviel auf niedrigen Stufen. Deshalb die Rekrutierungskosten
* mit einfliessen lassen und dafuer den Exponenten etwas groe<EFBFBD>er. * mit einfliessen lassen und dafuer den Exponenten etwas groesser.
* Wenn die Rekrutierungskosten deutlich hoeher sind als der Faktor, * Wenn die Rekrutierungskosten deutlich hoeher sind als der Faktor,
* ist das Verhaeltniss von ausgegebene Aura pro Bauer bei Stufe 2 * ist das Verhaeltniss von ausgegebene Aura pro Bauer bei Stufe 2
* ein mehrfaches von Stufe 1, denn in beiden Faellen gibt es nur 1 * ein mehrfaches von Stufe 1, denn in beiden Faellen gibt es nur 1
@ -3972,7 +3972,7 @@ static int sp_recruit(castorder * co)
} }
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
/* Name: Wanderprediger - Gro<EFBFBD>e Anwerbung /* Name: Wanderprediger - Grosse Anwerbung
* Stufe: 14 * Stufe: 14
* Gebiet: Cerddor * Gebiet: Cerddor
* Wirkung: * Wirkung:
@ -4027,8 +4027,8 @@ static int sp_bigrecruit(castorder * co)
* Gebiet: Cerddor * Gebiet: Cerddor
* Wirkung: * Wirkung:
* Erliegt die Einheit dem Zauber, so wird sie dem Magier alles * Erliegt die Einheit dem Zauber, so wird sie dem Magier alles
* erzaehlen, was sie ueber die gefragte Region wei<EFBFBD>. Ist in der Region * erzaehlen, was sie ueber die gefragte Region weiss. Ist in der Region
* niemand ihrer Partei, so wei<EFBFBD> sie nichts zu berichten. Auch kann * niemand ihrer Partei, so weiss sie nichts zu berichten. Auch kann
* sie nur das erzaehlen, was sie selber sehen koennte. * sie nur das erzaehlen, was sie selber sehen koennte.
* Flags: * Flags:
* (UNITSPELL | TESTCANSEE) * (UNITSPELL | TESTCANSEE)
@ -4086,7 +4086,7 @@ static int sp_pump(castorder * co)
* Stufe: 6 * Stufe: 6
* Gebiet: Cerddor * Gebiet: Cerddor
* Wirkung: * Wirkung:
* Betoert eine Einheit, so das sie ihm den groe<EFBFBD>ten Teil ihres Bargelds * Betoert eine Einheit, so dass sie ihm den groessten Teil ihres Bargelds
* und 50% ihres Besitzes schenkt. Sie behaelt jedoch immer soviel, wie * und 50% ihres Besitzes schenkt. Sie behaelt jedoch immer soviel, wie
* sie zum ueberleben braucht. Wirkt gegen Magieresistenz. * sie zum ueberleben braucht. Wirkt gegen Magieresistenz.
* min(Stufe*1000$, u->money - maintenance) * min(Stufe*1000$, u->money - maintenance)
@ -4256,7 +4256,7 @@ static int sp_headache(castorder * co)
if (target->number == 0 || pa->param[0]->flag == TARGET_NOTFOUND) if (target->number == 0 || pa->param[0]->flag == TARGET_NOTFOUND)
return 0; return 0;
/* finde das groe<EFBFBD>te Talent: */ /* finde das groesste Talent: */
for (i = 0; i != target->skill_size; ++i) { for (i = 0; i != target->skill_size; ++i) {
skill *sv = target->skills + i; skill *sv = target->skills + i;
if (smax == NULL || skill_compare(sv, smax) > 0) { if (smax == NULL || skill_compare(sv, smax) > 0) {
@ -4405,7 +4405,7 @@ int sp_puttorest(castorder * co)
return co->level; return co->level;
} }
/* Name: Traumschloe<EFBFBD>chen /* Name: Traumschloesschen
* Stufe: 3 * Stufe: 3
* Kategorie: Region, Gebaeude, positiv * Kategorie: Region, Gebaeude, positiv
* Gebiet: Illaun * Gebiet: Illaun
@ -4440,7 +4440,7 @@ int sp_icastle(castorder * co)
b = new_building(bt_illusion, r, mage->faction->locale); b = new_building(bt_illusion, r, mage->faction->locale);
/* Groe<EFBFBD>e festlegen. */ /* Groesse festlegen. */
if (type == bt_illusion) { if (type == bt_illusion) {
b->size = (rng_int() % (int)((power * power) + 1) * 10); b->size = (rng_int() % (int)((power * power) + 1) * 10);
} }
@ -4613,7 +4613,7 @@ int sp_baddreams(castorder * co)
* Kategorie: * Kategorie:
* Wirkung: * Wirkung:
* Dieser Zauber ermoeglicht es dem Traeumer, den Schlaf aller aliierten * Dieser Zauber ermoeglicht es dem Traeumer, den Schlaf aller aliierten
* Einheiten in der Region so zu beeinflussen, da<EFBFBD> sie fuer einige Zeit * Einheiten in der Region so zu beeinflussen, dass sie fuer einige Zeit
* einen Bonus von 1 Talentstufe in allen Talenten * einen Bonus von 1 Talentstufe in allen Talenten
* bekommen. Der Zauber wirkt erst im Folgemonat. * bekommen. Der Zauber wirkt erst im Folgemonat.
* Flags: * Flags:

View File

@ -62,7 +62,7 @@ static const char *spell_damage(int sp)
{ {
switch (sp) { switch (sp) {
case 0: case 0:
/* meist t<EFBFBD>dlich 20-65 HP */ /* meist toetlich 20-65 HP */
return "5d10+15"; return "5d10+15";
case 1: case 1:
/* sehr variabel 4-48 HP */ /* sehr variabel 4-48 HP */
@ -71,7 +71,7 @@ static const char *spell_damage(int sp)
/* leicht verwundet 4-18 HP */ /* leicht verwundet 4-18 HP */
return "2d8+2"; return "2d8+2";
case 3: case 3:
/* fast immer t<EFBFBD>dlich 30-50 HP */ /* fast immer toetlich 30-50 HP */
return "5d5+25"; return "5d5+25";
case 4: case 4:
/* verwundet 11-26 HP */ /* verwundet 11-26 HP */
@ -335,11 +335,11 @@ int sp_combatrosthauch(struct castorder * co)
selist_free(fgs); selist_free(fgs);
if (k == 0) { if (k == 0) {
/* keine Waffen mehr da, die zerst<EFBFBD>rt werden k<>nnten */ /* keine Waffen mehr da, die zerstoert werden koennten */
message *msg = msg_message("rust_effect_1", "mage", fi->unit); message *msg = msg_message("rust_effect_1", "mage", fi->unit);
message_all(b, msg); message_all(b, msg);
msg_release(msg); msg_release(msg);
fi->magic = 0; /* k<EFBFBD>mpft nichtmagisch weiter */ fi->magic = 0; /* kaempft nichtmagisch weiter */
level = 0; level = 0;
} }
else { else {
@ -405,7 +405,7 @@ int sp_speed(struct castorder * co)
allies = allies =
count_allies(fi->side, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE, ALLY_ANY); count_allies(fi->side, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE, ALLY_ANY);
/* maximal 2*allies Versuche ein Opfer zu finden, ansonsten best<EFBFBD>nde /* maximal 2*allies Versuche ein Opfer zu finden, ansonsten bestuende
* die Gefahr eine Endlosschleife*/ * die Gefahr eine Endlosschleife*/
allies *= 2; allies *= 2;
@ -871,7 +871,7 @@ static bool select_afraid(const side *vs, const fighter *fig, void *cbdata)
} }
/* Gesang der Furcht (Kampfzauber) */ /* Gesang der Furcht (Kampfzauber) */
/* Panik (Pr<EFBFBD>kampfzauber) */ /* Panik (Praekampfzauber) */
int flee_spell(struct castorder * co, int strength) int flee_spell(struct castorder * co, int strength)
{ {
fighter * fi = co->magician.fig; fighter * fi = co->magician.fig;
@ -900,7 +900,7 @@ int flee_spell(struct castorder * co, int strength)
fighter *df = (fighter *)selist_get(ql, qi); fighter *df = (fighter *)selist_get(ql, qi);
for (n = 0; force > 0 && n != df->alive; ++n) { for (n = 0; force > 0 && n != df->alive; ++n) {
if (df->person[n].flags & FL_PANICED) { /* bei SPL_SONG_OF_FEAR m<EFBFBD>glich */ if (df->person[n].flags & FL_PANICED) { /* bei SPL_SONG_OF_FEAR moeglich */
df->person[n].attack -= 1; df->person[n].attack -= 1;
--force; --force;
++panik; ++panik;
@ -944,7 +944,7 @@ int sp_hero(struct castorder * co)
allies = allies =
count_allies(fi->side, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE, ALLY_ANY); count_allies(fi->side, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE, ALLY_ANY);
/* maximal 2*allies Versuche ein Opfer zu finden, ansonsten best<EFBFBD>nde /* maximal 2*allies Versuche ein Opfer zu finden, ansonsten bestuende
* die Gefahr eine Endlosschleife*/ * die Gefahr eine Endlosschleife*/
allies *= 2; allies *= 2;
@ -992,7 +992,7 @@ int sp_berserk(struct castorder * co)
allies = allies =
count_allies(fi->side, FIGHT_ROW, BEHIND_ROW - 1, SELECT_ADVANCE, ALLY_ANY); count_allies(fi->side, FIGHT_ROW, BEHIND_ROW - 1, SELECT_ADVANCE, ALLY_ANY);
/* maximal 2*allies Versuche ein Opfer zu finden, ansonsten best<EFBFBD>nde /* maximal 2*allies Versuche ein Opfer zu finden, ansonsten bestuende
* die Gefahr eine Endlosschleife*/ * die Gefahr eine Endlosschleife*/
allies *= 2; allies *= 2;
@ -1181,7 +1181,7 @@ int sp_reeling_arrows(struct castorder * co)
} }
/* Magier weicht dem Kampf aus. Wenn er sich bewegen kann, zieht er in /* Magier weicht dem Kampf aus. Wenn er sich bewegen kann, zieht er in
* eine Nachbarregion, wobei ein NACH ber<EFBFBD>cksichtigt wird. Ansonsten * eine Nachbarregion, wobei ein NACH beruecksichtigt wird. Ansonsten
* bleibt er stehen und nimmt nicht weiter am Kampf teil. */ * bleibt er stehen und nimmt nicht weiter am Kampf teil. */
int sp_appeasement(struct castorder * co) int sp_appeasement(struct castorder * co)
{ {
@ -1194,7 +1194,7 @@ int sp_appeasement(struct castorder * co)
region *r = b->region; region *r = b->region;
message *m; message *m;
/* Fliehende Einheiten verlassen auf jeden Fall Geb<EFBFBD>ude und Schiffe. */ /* Fliehende Einheiten verlassen auf jeden Fall Gebaeude und Schiffe. */
if (!(r->terrain->flags & SEA_REGION)) { if (!(r->terrain->flags & SEA_REGION)) {
leave(mage, false); leave(mage, false);
} }
@ -1202,7 +1202,7 @@ int sp_appeasement(struct castorder * co)
setguard(mage, false); setguard(mage, false);
unit_setstatus(mage, ST_FLEE); unit_setstatus(mage, ST_FLEE);
/* wir tun so, als w<EFBFBD>re die Person geflohen */ /* wir tun so, als waere die Person geflohen */
fi->flags |= FIG_NOLOOT; fi->flags |= FIG_NOLOOT;
fi->run.hp = mage->hp; fi->run.hp = mage->hp;
fi->run.number = mage->number; fi->run.number = mage->number;
@ -1242,7 +1242,7 @@ int armor_spell(struct castorder * co, int per_level, int time_multi)
message_all(b, m); message_all(b, m);
msg_release(m); msg_release(m);
/* gibt R<EFBFBD>stung +effect f<>r duration Treffer */ /* gibt Ruestung +effect fuer duration Treffer */
effect = level / per_level; effect = level / per_level;
duration = (int)(time_multi * power * power); duration = (int)(time_multi * power * power);
@ -1286,7 +1286,7 @@ int sp_fumbleshield(struct castorder * co)
message_all(b, m); message_all(b, m);
msg_release(m); msg_release(m);
/* der erste Zauber schl<EFBFBD>gt mit 100% fehl */ /* der erste Zauber schlaegt mit 100% fehl */
duration = 100; duration = 100;
effect = 25 - level; effect = 25 - level;
if (effect < 1) effect = 1; if (effect < 1) effect = 1;
@ -1344,7 +1344,7 @@ int sp_reanimate(struct castorder * co)
&& u_race(tf->unit) != get_race(RC_DAEMON) && u_race(tf->unit) != get_race(RC_DAEMON)
&& (chance(c))) { && (chance(c))) {
assert(tf->alive < tf->unit->number); assert(tf->alive < tf->unit->number);
/* t.fighter->person[].hp beginnt mit t.index = 0 zu z<EFBFBD>hlen, /* t.fighter->person[].hp beginnt mit t.index = 0 zu zaehlen,
* t.fighter->alive ist jedoch die Anzahl lebender in der Einheit, * t.fighter->alive ist jedoch die Anzahl lebender in der Einheit,
* also sind die hp von t.fighter->alive * also sind die hp von t.fighter->alive
* t.fighter->hitpoints[t.fighter->alive-1] und der erste Tote * t.fighter->hitpoints[t.fighter->alive-1] und der erste Tote

View File

@ -26,8 +26,8 @@
* Stufe: 6 * Stufe: 6
* *
* Wirkung: * Wirkung:
* Lae<EFBFBD>t ein Schiff eine Runde lang fliegen. Wirkt nur auf Boote * Laesst ein Schiff eine Runde lang fliegen. Wirkt nur auf Boote
* bis Kapazit<EFBFBD>t 50. * bis Kapazitaet 50.
* Kombinierbar mit "Guenstige Winde", aber nicht mit "Sturmwind". * Kombinierbar mit "Guenstige Winde", aber nicht mit "Sturmwind".
* *
* Flag: * Flag:

View File

@ -57,7 +57,7 @@ void expandstealing(region * r, econ_request * stealorders)
norders = expand_production(r, stealorders, &requests); norders = expand_production(r, stealorders, &requests);
if (!norders) return; if (!norders) return;
/* F<EFBFBD>r jede unit in der Region wird Geld geklaut, wenn sie Opfer eines /* Fuer jede unit in der Region wird Geld geklaut, wenn sie Opfer eines
* Beklauen-Orders ist. Jedes Opfer muss einzeln behandelt werden. * Beklauen-Orders ist. Jedes Opfer muss einzeln behandelt werden.
* *
* u ist die beklaute unit. oa.unit ist die klauende unit. * u ist die beklaute unit. oa.unit ist die klauende unit.

View File

@ -859,7 +859,7 @@ void reduce_skill_days(unit *u, skill_t sk, int days) {
} }
} }
/** Talente von Dämonen verschieben sich. /** Talente von Daemonen verschieben sich.
*/ */
void demon_skillchange(unit *u) void demon_skillchange(unit *u)
{ {

View File

@ -95,11 +95,11 @@ static bool hunger(int number, unit * u)
deathcounts(r, dead); deathcounts(r, dead);
} }
if (hpsub > 0) { if (hpsub > 0) {
/* Jetzt die Sch<EFBFBD>den der nicht gestorbenen abziehen. */ /* Jetzt die Schaeden der nicht gestorbenen abziehen. */
u->hp -= hpsub; u->hp -= hpsub;
/* Meldung nur, wenn noch keine f<EFBFBD>r Tote generiert. */ /* Meldung nur, wenn noch keine fuer Tote generiert. */
if (dead == 0) { if (dead == 0) {
/* Durch unzureichende Ern<EFBFBD>hrung wird %s geschw<68>cht */ /* Durch unzureichende Ernaehrung wird %s geschwaecht */
ADDMSG(&u->faction->msgs, msg_message("malnourish", "unit region", u, r)); ADDMSG(&u->faction->msgs, msg_message("malnourish", "unit region", u, r));
} }
} }
@ -133,13 +133,13 @@ void get_food(region * r)
is_cold = insect_hunger && r_insectstalled(r); is_cold = insect_hunger && r_insectstalled(r);
/* 1. Versorgung von eigenen Einheiten. Das vorhandene Silber /* 1. Versorgung von eigenen Einheiten. Das vorhandene Silber
* wird zun<EFBFBD>chst so auf die Einheiten aufgeteilt, dass idealerweise * wird zunaechst so auf die Einheiten aufgeteilt, dass idealerweise
* jede Einheit genug Silber f<EFBFBD>r ihren Unterhalt hat. */ * jede Einheit genug Silber fuer ihren Unterhalt hat. */
for (u = r->units; u; u = u->next) { for (u = r->units; u; u = u->next) {
int need = lifestyle(u); int need = lifestyle(u);
/* Erstmal zur<EFBFBD>cksetzen */ /* Erstmal zuruecksetzen */
freset(u, UFL_HUNGER); freset(u, UFL_HUNGER);
if (u->ship && (u->ship->flags & SF_FISHING)) { if (u->ship && (u->ship->flags & SF_FISHING)) {
@ -237,7 +237,7 @@ void get_food(region * r)
} }
/* 3. bestimmen, wie viele Bauern gefressen werden. /* 3. bestimmen, wie viele Bauern gefressen werden.
* bei fehlenden Bauern den D<EFBFBD>mon hungern lassen * bei fehlenden Bauern den Daemon hungern lassen
*/ */
for (u = r->units; u; u = u->next) { for (u = r->units; u; u = u->next) {
const race * rc = u_race(u); const race * rc = u_race(u);
@ -302,7 +302,7 @@ void get_food(region * r)
} }
rsetpeasants(r, peasantfood / 10); rsetpeasants(r, peasantfood / 10);
/* 3. Von den <EFBFBD>berlebenden das Geld abziehen: */ /* 3. Von den Ueberlebenden das Geld abziehen: */
for (u = r->units; u; u = u->next) { for (u = r->units; u; u = u->next) {
int m = get_money(u); int m = get_money(u);
int need = lifestyle(u); int need = lifestyle(u);