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
* 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
* 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)

View File

@ -303,11 +303,11 @@ static int dead_fighters(const fighter * df)
}
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
* 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;
fighter *df;
@ -323,7 +323,7 @@ fighter *select_corpse(battle * b, fighter * af)
side *s;
for (s = b->sides; s != b->sides + b->nsides; ++s) {
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! */
int dead = dead_fighters(df);
if (!playerrace(u_race(df->unit)))
@ -731,16 +731,16 @@ weapon_effskill(troop t, troop enemy, const weapon * w,
if (t.index < tf->elvenhorses) {
/* 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. */
skill += 2;
}
if (skill > 0 && !attacking && missile) {
/*
* Wenn ich verteidige, und nicht direkt meinem Feind gegen<EFBFBD>berstehe,
* halbiert sich mein Skill: (z.B. gegen Fernk<EFBFBD>mpfer. Nahk<EFBFBD>mpfer
* k<EFBFBD>nnen mich eh nicht treffen)
* Wenn ich verteidige, und nicht direkt meinem Feind gegenueberstehe,
* halbiert sich mein Skill: (z.B. gegen Fernkaempfer. Nahkaempfer
* koennen mich eh nicht treffen)
*/
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
* R<EFBFBD>stungschutz geben, addieren.
* - Artefakt "trollbelt" gibt R<EFBFBD>stung +1
* - Zauber Rindenhaut gibt R<EFBFBD>stung +3
* Ruestungschutz geben, addieren.
* - Artefakt "trollbelt" gibt Ruestung +1
* - Zauber Rindenhaut gibt Ruestung +3
*/
static int trollbelts(const unit *u) {
const struct resource_type *belt = rt_find("trollbelt");
@ -799,7 +799,7 @@ int select_magicarmor(troop t)
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)
{
UNUSED_ARG(b);
@ -837,7 +837,7 @@ void rmfighter(fighter * df, int i)
assert(df->alive >= i);
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*/
df->side->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;
}
/* nat<EFBFBD>rliche R<>stung */
/* natuerliche Ruestung */
nat_armor = natural_armor(du);
/* magische R<EFBFBD>stung durch Artefakte oder Spr<70>che */
/* Momentan nur Trollg<EFBFBD>rtel und Werwolf-Eigenschaft */
/* magische Ruestung durch Artefakte oder Sprueche */
/* Momentan nur Trollguertel und Werwolf-Eigenschaft */
magic_armor = select_magicarmor(dt);
if (rule_nat_armor == 0) {
/* nat<EFBFBD>rliche R<>stung ist halbkumulativ */
/* natuerliche Ruestung ist halbkumulativ */
if (total_armor > 0) {
total_armor += nat_armor / 2;
}
@ -1124,7 +1124,7 @@ static bool survives(fighter *af, troop dt, battle *b) {
const unit *du = af->unit;
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);
return true;
@ -1261,7 +1261,7 @@ static int apply_magicshield(int reduced_damage, fighter *df,
reduced_damage -= hp;
me->duration -= hp;
}
/* gibt R<EFBFBD>stung +effect f<>r duration Treffer */
/* gibt Ruestung +effect fuer duration Treffer */
if (me->typ == SHIELD_ARMOR) {
reduced_damage -= me->effect;
if (reduced_damage < 0) reduced_damage = 0;
@ -1743,7 +1743,7 @@ void do_combatmagic(battle * b, combatmagic_t was)
unit *caster = mage;
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);
if (level > 0) {
@ -1847,12 +1847,12 @@ static void do_combatspell(troop at)
sp = get_combatspell(mage, 1);
if (sp == NULL) {
fi->magic = 0; /* Hat keinen Kampfzauber, k<EFBFBD>mpft nichtmagisch weiter */
fi->magic = 0; /* Hat keinen Kampfzauber, kaempft nichtmagisch weiter */
return;
}
ord = create_order(K_CAST, lang, "'%s'", spell_name(sp, lang));
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;
}
@ -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) {
report_failed_spell(b, mage, sp);
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
* 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
* gemacht) */
@ -1948,7 +1948,7 @@ int skilldiff(troop at, troop dt, int dist)
if (b->attribs) {
curse *c = get_curse(b->attribs, &ct_strongwall);
if (curse_active(c)) {
/* wirkt auf alle Geb<EFBFBD>ude */
/* wirkt auf alle Gebaeude */
skdiff -= curse_geteffect_int(c);
is_protected = 2;
}
@ -2037,7 +2037,7 @@ int hits(troop at, troop dt, weapon * awp)
}
skdiff = skilldiff(at, dt, dist);
/* Verteidiger bekommt eine R<EFBFBD>stung */
/* Verteidiger bekommt eine Ruestung */
armor = select_armor(dt, true);
if (dwp == NULL || (dwp->type->flags & WTF_USESHIELD)) {
shield = select_armor(dt, false);
@ -2066,7 +2066,7 @@ void damage_building(battle * b, building * bldg, int damage_abs)
bldg->size -= damage_abs;
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) {
side *s;
@ -2124,7 +2124,7 @@ static void attack(battle * b, troop ta, const att * a, int numattack)
switch (a->type) {
case AT_COMBATSPELL:
/* 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 */
if (numattack == 0 && af->magic > 0) {
/* 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;
case AT_STANDARD: /* Waffen, mag. Gegenst<EFBFBD>nde, Kampfzauber */
case AT_STANDARD: /* Waffen, mag. Gegenstaende, Kampfzauber */
if (numattack > 0 || af->magic <= 0) {
weapon *wp = ta.fighter->person[ta.index].missile;
int melee =
@ -2153,7 +2153,7 @@ static void attack(battle * b, troop ta, const att * a, int numattack)
bool standard_attack = true;
bool reload = false;
/* 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) {
int dead = 0;
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;
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);
break;
case AT_NATURAL:
@ -2282,14 +2282,14 @@ void do_attack(fighter * af)
assert(au && au->number);
/* 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
* Runde lebte, auch zuschlagen darf. Ansonsten ist der, der zuf<EFBFBD>llig
* mit einer gro<EFBFBD>en Einheit zuerst drankommt, extrem bevorteilt. */
* Runde lebte, auch zuschlagen darf. Ansonsten ist der, der zufaellig
* mit einer grossen Einheit zuerst drankommt, extrem bevorteilt. */
ta.index = af->fighting;
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. */
int apr, attacks = attacks_per_round(ta);
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. */
if (af->catmsg >= 0) {
struct message *m =
@ -2372,7 +2372,7 @@ static int horse_fleeing_bonus(const unit * u)
static int fleechance(unit * u)
{
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 += horse_fleeing_bonus(u);
@ -2660,7 +2660,7 @@ static void aftermath(battle * b)
for (s = b->sides; s != b->sides + b->nsides; ++s) {
int snumber = 0;
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)) {
relevant = true;
}
@ -2700,7 +2700,7 @@ static void aftermath(battle * b)
/* Report the casualties */
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
* die leere (tote) alte Einheit gemapt */
if (!fval(df, FIG_NOLOOT)) {
@ -2735,7 +2735,7 @@ static void aftermath(battle * b)
}
else {
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.hp = 0;
@ -2797,7 +2797,7 @@ static void aftermath(battle * b)
/* Wir benutzen drifted, um uns zu merken, ob ein Schiff
* 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) {
fighter *df;
@ -2818,7 +2818,7 @@ static void aftermath(battle * b)
}
/* 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. */
if (ships_damaged) {
ship *sh;
@ -3114,8 +3114,8 @@ fighter *make_fighter(battle * b, unit * u, side * s1, bool attack)
else if (!stealthfaction) {
s1->stealthfaction = NULL;
}
/* Zu diesem Zeitpunkt ist attacked noch 0, da die Einheit f<EFBFBD>r noch
* keinen Kampf ausgew<EFBFBD>hlt wurde (sonst w<EFBFBD>rde ein fighter existieren) */
/* Zu diesem Zeitpunkt ist attacked noch 0, da die Einheit fuer noch
* keinen Kampf ausgewaehlt wurde (sonst wuerde ein fighter existieren) */
}
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;
fig->unit = u;
/* In einer Burg mu<EFBFBD> man a) nicht Angreifer sein, und b) drin sein, und
* c) noch Platz finden. d) menschan<EFBFBD>hnlich sein */
/* In einer Burg muss man a) nicht Angreifer sein, und b) drin sein, und
* c) noch Platz finden. d) menschanaehnlich sein */
if (attack) {
set_attacker(fig);
}
@ -3150,7 +3150,7 @@ fighter *make_fighter(battle * b, unit * u, side * s1, bool attack)
assert(h);
rest = u->hp % u->number;
/* Effekte von Spr<EFBFBD>chen */
/* Effekte von Spruechen */
if (u->attribs) {
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
* ihr k<EFBFBD>mpfen k<EFBFBD>nnten, und was ihr Wert darin ist. */
/* Fuer alle Waffengattungen wird bestimmt, wie viele der Personen mit
* ihr kaempfen koennten, und was ihr Wert darin ist. */
if (u_race(u)->battle_flags & BF_EQUIPMENT) {
int owp[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
* Werte hat, das kommt aber erst irgendwo sp<EFBFBD>ter. Ich entscheide
* w<EFBFBD>rend des Kampfes, welche ich nehme, je nach Gegner. Deswegen auch
/* Jetzt muss noch geschaut werden, wo die Einheit die jeweils besten
* Werte hat, das kommt aber erst irgendwo spaeter. Ich entscheide
* waehrend des Kampfes, welche ich nehme, je nach Gegner. Deswegen auch
* keine addierten boni. */
/* Zuerst mal die Spezialbehandlung gewisser Sonderf<EFBFBD>lle. */
/* Zuerst mal die Spezialbehandlung gewisser Sonderfaelle. */
fig->magic = effskill(u, SK_MAGIC, NULL);
if (fig->horses) {
@ -3410,7 +3410,7 @@ battle *make_battle(region * r)
b->region = 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) {
if (u->number > 0) {
if (!fval(u->faction, FFL_MARK)) {
@ -3593,18 +3593,18 @@ static void join_allies(battle * b)
for (s = b->sides; s != s_end; ++s) {
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))
continue;
if (s->faction != f) {
/* Wenn wir attackiert haben, kommt niemand mehr hinzu: */
if (s->bf->attacker)
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))
continue;
/* 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 */
if (s->stealthfaction) {
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
* hat: */
for (se = b->sides; se != s_end; ++se) {
@ -3626,7 +3626,7 @@ static void join_allies(battle * b)
}
if (se == s_end)
continue;
/* keine Einw<EFBFBD>nde, also soll er mitmachen: */
/* keine Einwaende, also soll er mitmachen: */
if (c == NULL) {
if (!join_battle(b, u, false, &c)) {
continue;
@ -3750,7 +3750,7 @@ static bool start_battle(region * r, battle ** bp)
continue;
}
/* ist ein Fl<EFBFBD>chtling aus einem andern Kampf */
/* ist ein Fluechtling aus einem andern Kampf */
if (fval(u, UFL_LONGACTION))
continue;
@ -3771,7 +3771,7 @@ static bool start_battle(region * r, battle ** bp)
cmistake(u, ord, 234, MSG_BATTLE);
}
else {
/* Fehler: "Das Schiff mu<EFBFBD> erst verlassen werden" */
/* Fehler: "Das Schiff muss erst verlassen werden" */
cmistake(u, ord, 19, MSG_BATTLE);
}
continue;
@ -3845,8 +3845,8 @@ static bool start_battle(region * r, battle ** bp)
freset(u2->faction, FFL_NOAID);
if (c1 && c2 && c2->run.number < c2->unit->number) {
/* Merken, wer Angreifer ist, f<EFBFBD>r die R<>ckzahlung der
* Pr<EFBFBD>combataura bei kurzem Kampf. */
/* Merken, wer Angreifer ist, fuer die Rueckzahlung der
* Praecombataura bei kurzem Kampf. */
c1->side->bf->attacker = 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)) {
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)
continue;
@ -3918,7 +3918,7 @@ static void battle_flee(battle * b)
for (fig = s->fighters; fig; fig = fig->next) {
unit *u = fig->unit;
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));
if (runhp > 600) runhp = 600;
@ -4023,7 +4023,7 @@ static void do_battle(region * r) {
return;
/* 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. */
report_battle_start(b);
if (!fighting) {
@ -4069,8 +4069,8 @@ static void do_battle(region * r) {
if (rule_force_leave(FORCE_LEAVE_POSTCOMBAT)) {
force_leave(b->region, b);
}
/* Hier ist das Gefecht beendet, und wir k<EFBFBD>nnen die
* Hilfsstrukturen * wieder l<EFBFBD>schen: */
/* Hier ist das Gefecht beendet, und wir koennen die
* Hilfsstrukturen * wieder loeschen: */
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)) {
/* error158;de;{unit} in {region}: '{command}' - Magier arbeiten
* grunds<EFBFBD>tzlich nur alleine! */
* grundsaetzlich nur alleine! */
return msg_error(u, ord, 158);
}
return NULL;
@ -971,7 +971,7 @@ static void allocate_resource(unit * u, const resource_type * rtype, int want)
variant save_mod;
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: */
assert(itype != NULL && (itype->construction == 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;
}
/* Bergw<EFBFBD>chter k<>nnen Abbau von Eisen/Laen durch Bewachen verhindern.
* Als magische Wesen 'sehen' Bergw<EFBFBD>chter alles und werden durch
/* Bergwaechter koennen Abbau von Eisen/Laen durch Bewachen verhindern.
* Als magische Wesen 'sehen' Bergwaechter alles und werden durch
* Belagerung nicht aufgehalten. (Ansonsten wie oben bei Elfen anpassen).
*/
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;
/* Initialisation. multiplier ist der Multiplikator auf den
* Verkaufspreis. F<EFBFBD>r max_products Produkte kauft man das Produkt zum
* einfachen Verkaufspreis, danach erh<EFBFBD>ht sich der Multiplikator um 1.
* counter ist ein Z<EFBFBD>hler, der die gekauften Produkte z<EFBFBD>hlt. money
* wird f<EFBFBD>r die debug message gebraucht. */
* Verkaufspreis. Fuer max_products Produkte kauft man das Produkt zum
* einfachen Verkaufspreis, danach erhoeht sich der Multiplikator um 1.
* counter ist ein Zaehler, der die gekauften Produkte zaehlt. money
* wird fuer die debug message gebraucht. */
max_products = rpeasants(r) / TRADE_FRACTION;
/* Kauf - auch so programmiert, da<EFBFBD> er leicht erweiterbar auf mehrere
* G<EFBFBD>ter pro Monat ist. j sind die Befehle, i der Index des
/* Kauf - auch so programmiert, dass er leicht erweiterbar auf mehrere
* Gueter pro Monat ist. j sind die Befehle, i der Index des
* gehandelten Produktes. */
if (max_products > 0) {
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,
price) >= price) {
item *items;
/* litems z<EFBFBD>hlt die G<>ter, die verkauft wurden, u->n das Geld, das
* verdient wurde. Dies mu<EFBFBD> gemacht werden, weil der Preis st<EFBFBD>ndig sinkt,
/* litems zaehlt die Gueter, die verkauft wurden, u->n das Geld, das
* verdient wurde. Dies muss gemacht werden, weil der Preis staendig sinkt,
* man sich also das verdiente Geld und die verkauften Produkte separat
* merken mu<EFBFBD>. */
* merken muss. */
attrib *a;
u = g_requests[j]->unit;
@ -1524,7 +1524,7 @@ static void expandbuying(region * r, econ_request * buyorders)
rsetmoney(r, rmoney(r) + price);
/* 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. */
if (++trade->number == max_products) {
trade->number = 0;
@ -1599,7 +1599,7 @@ static void buy(unit * u, econ_request ** buyorders, struct order *ord)
return;
}
/* 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);
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);
/* hat der H<EFBFBD>ndler bereits gehandelt, muss die Menge der bereits
* verkauften/gekauften G<EFBFBD>ter abgezogen werden */
/* hat der Haendler bereits gehandelt, muss die Menge der bereits
* verkauften/gekauften Gueter abgezogen werden */
a = a_find(u->attribs, &at_trades);
if (!a) {
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);
/* die Menge der verkauften G<EFBFBD>ter merken */
/* die Menge der verkauften Gueter merken */
a->data.i += n;
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));
}
/* 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 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);
if (!sellorders) { /* NEIN, denn Insekten k<EFBFBD>nnen in || !r->buildings) */
return; /* S<EFBFBD>mpfen und W<>sten auch so handeln */
if (!sellorders) { /* NEIN, denn Insekten koennen in || !r->buildings) */
return; /* Suempfen und Wuesten auch so handeln */
}
/* Stelle Eigent<EFBFBD>mer der gr<67><72>ten Burg fest. Bekommt Steuern aus jedem
* Verkauf. Wenn zwei Burgen gleicher Gr<EFBFBD><EFBFBD>e bekommt gar keiner etwas. */
/* Stelle Eigentuemer der groessten Burg fest. Bekommt Steuern aus jedem
* Verkauf. Wenn zwei Burgen gleicher Groesse bekommt gar keiner etwas. */
for (b = rbuildings(r); b; b = b->next) {
if (b->size > maxsize && building_owner(b) != NULL
&& b->type == castle_bt) {
@ -1750,13 +1750,13 @@ static void expandselling(region * r, econ_request * sellorders, int limit)
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);
/* 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.
* 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;
if (max_products <= 0)
@ -1824,11 +1824,11 @@ static void expandselling(region * r, econ_request * sellorders, int limit)
change_money(u, price);
fset(u, UFL_LONGACTION | UFL_NOTMOVING);
/* r->money -= price; --- dies wird eben nicht ausgef<EFBFBD>hrt, denn die
* Produkte k<EFBFBD>nnen auch als Steuern eingetrieben werden. In der Region
* wurden Silberst<EFBFBD>cke gegen Luxusg<EFBFBD>ter des selben Wertes eingetauscht!
/* r->money -= price; --- dies wird eben nicht ausgefuehrt, denn die
* Produkte koennen auch als Steuern eingetrieben werden. In der Region
* wurden Silberstuecke gegen Luxusgueter des selben Wertes eingetauscht!
* 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. */
if (++counter[i] > max_products) {
@ -1846,7 +1846,7 @@ static void expandselling(region * r, econ_request * sellorders, int limit)
}
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 (taxcollected > 0) {
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);
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. */
kwd = init_order_depr(ord);
@ -1928,7 +1928,7 @@ static bool sell(unit * u, econ_request ** sellorders, struct order *ord)
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 (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 {
/* ...oder in der Region mu<EFBFBD> es eine Burg geben. */
/* ...oder in der Region muss es eine Burg geben. */
building *b = 0;
if (r->buildings) {
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);
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);
/* 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: */
for (o = *sellorders; o; o = o->next) {
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;
}
/* 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
* 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. */
/* 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);
/* hat der H<EFBFBD>ndler bereits gehandelt, muss die Menge der bereits
* verkauften/gekauften G<EFBFBD>ter abgezogen werden */
/* hat der Haendler bereits gehandelt, muss die Menge der bereits
* verkauften/gekauften Gueter abgezogen werden */
a = a_find(u->attribs, &at_trades);
if (!a) {
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;
assert(n >= 0);
/* die Menge der verkauften G<EFBFBD>ter merken */
/* die Menge der verkauften Gueter merken */
a->data.i += n;
o = (econ_request *)calloc(1, sizeof(econ_request));
if (!o) abort();
@ -2047,7 +2047,7 @@ static void plant(unit * u, int raw)
return;
}
/* Skill pr<EFBFBD>fen */
/* Skill pruefen */
skill = effskill(u, SK_HERBALISM, NULL);
if (skill < 6) {
ADDMSG(&u->faction->msgs,
@ -2055,14 +2055,14 @@ static void plant(unit * u, int raw)
"skill minskill product", SK_HERBALISM, 6, itype->rtype, 1));
return;
}
/* Wasser des Lebens pr<EFBFBD>fen */
/* Wasser des Lebens pruefen */
if (get_pooled(u, rt_water, GET_DEFAULT, 1) == 0) {
ADDMSG(&u->faction->msgs,
msg_feedback(u, u->thisorder, "resource_missing", "missing", rt_water));
return;
}
n = get_pooled(u, itype->rtype, GET_DEFAULT, skill * u->number);
/* Kr<EFBFBD>uter pr<70>fen */
/* Kraeuter pruefen */
if (n == 0) {
ADDMSG(&u->faction->msgs,
msg_feedback(u, u->thisorder, "resource_missing", "missing",
@ -2073,7 +2073,7 @@ static void plant(unit * u, int raw)
i = skill * u->number;
if (i > raw) i = raw;
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--) {
if (rng_int() % 10 < skill)
planted++;
@ -2098,10 +2098,10 @@ static void planttrees(unit * u, int raw)
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);
/* Skill pr<EFBFBD>fen */
/* Skill pruefen */
skill = effskill(u, SK_HERBALISM, NULL);
if (skill < 6) {
ADDMSG(&u->faction->msgs,
@ -2126,7 +2126,7 @@ static void planttrees(unit * u, int 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--) {
if (rng_int() % 10 < skill)
planted++;
@ -2141,7 +2141,7 @@ static void planttrees(unit * u, int raw)
"unit region amount herb", u, r, planted, rtype));
}
/* z<EFBFBD>chte b<>ume */
/* zuechte baeume */
static void breedtrees(unit * u, int raw)
{
int n, i, skill, planted = 0;
@ -2153,7 +2153,7 @@ static void breedtrees(unit * u, int raw)
get_gamedate(turn, &date);
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) {
planttrees(u, raw);
return;
@ -2163,10 +2163,10 @@ static void breedtrees(unit * u, int raw)
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);
/* Skill pr<EFBFBD>fen */
/* Skill pruefen */
skill = effskill(u, SK_HERBALISM, NULL);
if (skill < 12) {
planttrees(u, raw);
@ -2177,7 +2177,7 @@ static void breedtrees(unit * u, int raw)
i = skill * u->number;
if (raw > i) raw = i;
n = get_pooled(u, rtype, GET_DEFAULT, raw);
/* Samen pr<EFBFBD>fen */
/* Samen pruefen */
if (n == 0) {
ADDMSG(&u->faction->msgs,
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;
/* F<EFBFBD>r jeden Samen Talent*5% Erfolgschance. */
/* Fuer jeden Samen Talent*5% Erfolgschance. */
for (i = n; i > 0; i--) {
if (rng_int() % 100 < skill * 5)
planted++;
@ -2200,7 +2200,7 @@ static void breedtrees(unit * u, int raw)
"unit region amount herb", u, r, planted, rtype));
}
/* z<EFBFBD>chte pferde */
/* zuechte pferde */
static void breedhorses(unit * u)
{
int n, c, breed = 0;
@ -2252,7 +2252,7 @@ static void breed_cmd(unit * u, struct order *ord)
return;
}
/* z<EFBFBD>chte [<anzahl>] <parameter> */
/* zuechte [<anzahl>] <parameter> */
(void)init_order_depr(ord);
s = gettoken(token, sizeof(token));
@ -2367,7 +2367,7 @@ static void expandentertainment(region * r)
m -= u->n;
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);
add_income(u, IC_ENTERTAIN, o->qty, u->n);
fset(u, UFL_LONGACTION | UFL_NOTMOVING);
@ -2925,7 +2925,7 @@ void produce(struct region *r)
/* Entertainment (expandentertainment) und Besteuerung (expandtax) vor den
* 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. */
if (entertaining)
expandentertainment(r);
@ -2943,7 +2943,7 @@ void produce(struct region *r)
}
/* An erster Stelle Kaufen (expandbuying), die Bauern so Geld bekommen, um
* nachher zu beim Verkaufen (expandselling) den Spielern abkaufen zu
* k<EFBFBD>nnen. */
* koennen. */
if (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))
k += n;
/* Wenn Parteigrenzen überschritten werden */
/* Wenn Parteigrenzen ueberschritten werden */
if (u2->faction != u->faction)
k += n;
@ -416,8 +416,8 @@ message * give_men(int n, unit * u, unit * u2, struct order *ord)
if (error == 0) {
ship *sh = leftship(u);
/* Einheiten von Schiffen können nicht NACH in von
* Nicht-alliierten bewachten Regionen ausführen */
/* Einheiten von Schiffen koennen nicht NACH in von
* Nicht-alliierten bewachten Regionen ausfuehren */
if (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) {
/* Damit Tarner nicht durch die Fehlermeldung enttarnt werden können */
/* Damit Tarner nicht durch die Fehlermeldung enttarnt werden koennen */
if (!u2) {
return false;
}
@ -638,8 +638,8 @@ static void give_all_items(unit *u, unit *u2, order *ord) {
return;
}
/* für alle items einmal prüfen, ob wir mehr als von diesem Typ
* reserviert ist besitzen und diesen Teil dann übergeben */
/* fuer alle items einmal pruefen, ob wir mehr als von diesem Typ
* reserviert ist besitzen und diesen Teil dann uebergeben */
if (u->items) {
item **itmp = &u->items;
while (*itmp) {
@ -768,7 +768,7 @@ void give_cmd(unit * u, order * ord)
while (*itmp) {
item *itm = *itmp;
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 */
if (give_item(itm->number, itm->type, u, u2, ord) == 0) {
given = true;

View File

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

View File

@ -9,7 +9,7 @@
* based on:
*
* 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
* prior permission by the authors of Eressea.
@ -74,7 +74,7 @@
#include <string.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 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;
/* Durchz<EFBFBD>hlen */
/* Durchzaehlen */
c = 0;
for (i = 0; i != MAXDIRECTIONS; i++) {
@ -412,11 +412,11 @@ static direction_t treeman_neighbour(region * r)
if (c == 0) {
return NODIRECTION;
}
/* Zuf<EFBFBD>llig eine ausw<73>hlen */
/* Zufaellig eine auswaehlen */
rr = rng_int() % c;
/* Durchz<EFBFBD>hlen */
/* Durchzaehlen */
c = -1;
for (i = 0; i != MAXDIRECTIONS; i++) {
@ -561,7 +561,7 @@ static order *monster_learn(unit * u)
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. */
for (sv = u->skills; sv != u->skills + u->skill_size; ++sv) {
if (sv->level > 0)
@ -650,7 +650,7 @@ static order *plan_dragon(unit * u)
if (rc == rc_wyrm && !move) {
unit *u2;
for (u2 = r->units; u2; u2 = u2->next) {
/* wyrme sind einzelg<6C>nger */
/* Wyrme sind Einzelgaenger */
if (u2 == u) {
/* we do not make room for newcomers, so we don't need to look at them */
break;
@ -747,7 +747,7 @@ void plan_monsters(faction * f)
order *long_order = NULL;
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)
continue;
@ -761,7 +761,7 @@ void plan_monsters(faction * f)
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);
/* All monsters guard the region: */
@ -833,7 +833,7 @@ void plan_monsters(faction * f)
}
}
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: */
if (rc->bonus[SK_WEAPONLESS] != -99) {
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)
{
@ -926,7 +926,7 @@ void spawn_dragons(void)
}
}
/** Untote k<EFBFBD>nnen entstehen */
/** Untote koennen entstehen */
void spawn_undead(void)
{
region *r;
@ -946,7 +946,7 @@ void spawn_undead(void)
message *msg;
unit *u;
/* 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. */
int undead = unburied / (rng_int() % 2 + 1);
const race *rc = NULL;
@ -1005,7 +1005,7 @@ void spawn_undead(void)
else {
int i = deathcount(r);
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));
}
}

View File

@ -551,9 +551,9 @@ static void nr_curses(struct stream *out, int indent, const faction *viewer, obj
region *r;
/* 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.
* Spezialfälle (besonderes Talent, verursachender Magier usw. werde
* Spezialfaelle (besonderes Talent, verursachender Magier usw. werde
* bei jedem curse gesondert behandelt. */
if (typ == TYP_SHIP) {
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
* mit seiner halben Stufe. Je nach Vertrautem erhaelt der Magier
* 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.
*
* Ein paar Moeglichkeiten:
@ -1588,7 +1588,7 @@ static int sp_create_stonegolem(castorder * co)
}
/* ------------------------------------------------------------- */
/* Name: Gro<EFBFBD>e Duerre
/* Name: Grosse Duerre
* Stufe: 17
* Kategorie: Region, negativ
* Gebiet: Gwyrrd
@ -1896,7 +1896,7 @@ static int sp_treewalkexit(castorder * co)
return 0;
}
/* Koordinaten setzen und Region loeschen fuer <EFBFBD>berpruefung auf
/* Koordinaten setzen und Region loeschen fuer Ueberpruefung auf
* Gueltigkeit */
rt = pa->param[0]->data.r;
tax = rt->x;
@ -2179,7 +2179,7 @@ static int sp_ironkeeper(castorder * co)
unit_setstatus(keeper, ST_AVOID); /* kaempft nicht */
setguard(keeper, true);
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()) {
fset(keeper, UFL_ANON_FACTION);
}
@ -2557,7 +2557,7 @@ static void patzer_fumblecurse(const castorder * co)
*
* Wirkung:
* 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.
*
* 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;
/* Jede Person ben<EFBFBD>tigt mindestens 1 HP */
/* Jede Person benoetigt mindestens 1 HP */
if (hp < u->number) {
if (hp < 0) { /* Einheit tot */
hp = 0;
@ -3680,7 +3680,7 @@ static int sp_rallypeasantmob(castorder * co)
* Gebiet: Cerddor
* Wirkung:
* 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
* koennen.
*
@ -3941,7 +3941,7 @@ static int sp_recruit(castorder * co)
return 0;
}
/* 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,
* ist das Verhaeltniss von ausgegebene Aura pro Bauer bei Stufe 2
* 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
* Gebiet: Cerddor
* Wirkung:
@ -4027,8 +4027,8 @@ static int sp_bigrecruit(castorder * co)
* Gebiet: Cerddor
* Wirkung:
* Erliegt die Einheit dem Zauber, so wird sie dem Magier alles
* erzaehlen, was sie ueber die gefragte Region wei<EFBFBD>. Ist in der Region
* niemand ihrer Partei, so wei<EFBFBD> sie nichts zu berichten. Auch kann
* erzaehlen, was sie ueber die gefragte Region weiss. Ist in der Region
* niemand ihrer Partei, so weiss sie nichts zu berichten. Auch kann
* sie nur das erzaehlen, was sie selber sehen koennte.
* Flags:
* (UNITSPELL | TESTCANSEE)
@ -4086,7 +4086,7 @@ static int sp_pump(castorder * co)
* Stufe: 6
* Gebiet: Cerddor
* 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
* sie zum ueberleben braucht. Wirkt gegen Magieresistenz.
* 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)
return 0;
/* finde das groe<EFBFBD>te Talent: */
/* finde das groesste Talent: */
for (i = 0; i != target->skill_size; ++i) {
skill *sv = target->skills + i;
if (smax == NULL || skill_compare(sv, smax) > 0) {
@ -4405,7 +4405,7 @@ int sp_puttorest(castorder * co)
return co->level;
}
/* Name: Traumschloe<EFBFBD>chen
/* Name: Traumschloesschen
* Stufe: 3
* Kategorie: Region, Gebaeude, positiv
* Gebiet: Illaun
@ -4440,7 +4440,7 @@ int sp_icastle(castorder * co)
b = new_building(bt_illusion, r, mage->faction->locale);
/* Groe<EFBFBD>e festlegen. */
/* Groesse festlegen. */
if (type == bt_illusion) {
b->size = (rng_int() % (int)((power * power) + 1) * 10);
}
@ -4613,7 +4613,7 @@ int sp_baddreams(castorder * co)
* Kategorie:
* Wirkung:
* 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
* bekommen. Der Zauber wirkt erst im Folgemonat.
* Flags:

View File

@ -62,7 +62,7 @@ static const char *spell_damage(int sp)
{
switch (sp) {
case 0:
/* meist t<EFBFBD>dlich 20-65 HP */
/* meist toetlich 20-65 HP */
return "5d10+15";
case 1:
/* sehr variabel 4-48 HP */
@ -71,7 +71,7 @@ static const char *spell_damage(int sp)
/* leicht verwundet 4-18 HP */
return "2d8+2";
case 3:
/* fast immer t<EFBFBD>dlich 30-50 HP */
/* fast immer toetlich 30-50 HP */
return "5d5+25";
case 4:
/* verwundet 11-26 HP */
@ -335,11 +335,11 @@ int sp_combatrosthauch(struct castorder * co)
selist_free(fgs);
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_all(b, msg);
msg_release(msg);
fi->magic = 0; /* k<EFBFBD>mpft nichtmagisch weiter */
fi->magic = 0; /* kaempft nichtmagisch weiter */
level = 0;
}
else {
@ -405,7 +405,7 @@ int sp_speed(struct castorder * co)
allies =
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*/
allies *= 2;
@ -871,7 +871,7 @@ static bool select_afraid(const side *vs, const fighter *fig, void *cbdata)
}
/* Gesang der Furcht (Kampfzauber) */
/* Panik (Pr<EFBFBD>kampfzauber) */
/* Panik (Praekampfzauber) */
int flee_spell(struct castorder * co, int strength)
{
fighter * fi = co->magician.fig;
@ -900,7 +900,7 @@ int flee_spell(struct castorder * co, int strength)
fighter *df = (fighter *)selist_get(ql, qi);
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;
--force;
++panik;
@ -944,7 +944,7 @@ int sp_hero(struct castorder * co)
allies =
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*/
allies *= 2;
@ -992,7 +992,7 @@ int sp_berserk(struct castorder * co)
allies =
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*/
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
* 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. */
int sp_appeasement(struct castorder * co)
{
@ -1194,7 +1194,7 @@ int sp_appeasement(struct castorder * co)
region *r = b->region;
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)) {
leave(mage, false);
}
@ -1202,7 +1202,7 @@ int sp_appeasement(struct castorder * co)
setguard(mage, false);
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->run.hp = mage->hp;
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);
msg_release(m);
/* gibt R<EFBFBD>stung +effect f<>r duration Treffer */
/* gibt Ruestung +effect fuer duration Treffer */
effect = level / per_level;
duration = (int)(time_multi * power * power);
@ -1286,7 +1286,7 @@ int sp_fumbleshield(struct castorder * co)
message_all(b, m);
msg_release(m);
/* der erste Zauber schl<EFBFBD>gt mit 100% fehl */
/* der erste Zauber schlaegt mit 100% fehl */
duration = 100;
effect = 25 - level;
if (effect < 1) effect = 1;
@ -1344,7 +1344,7 @@ int sp_reanimate(struct castorder * co)
&& u_race(tf->unit) != get_race(RC_DAEMON)
&& (chance(c))) {
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,
* also sind die hp von t.fighter->alive
* t.fighter->hitpoints[t.fighter->alive-1] und der erste Tote

View File

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

View File

@ -57,7 +57,7 @@ void expandstealing(region * r, econ_request * stealorders)
norders = expand_production(r, stealorders, &requests);
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.
*
* 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)
{

View File

@ -95,11 +95,11 @@ static bool hunger(int number, unit * u)
deathcounts(r, dead);
}
if (hpsub > 0) {
/* Jetzt die Sch<EFBFBD>den der nicht gestorbenen abziehen. */
/* Jetzt die Schaeden der nicht gestorbenen abziehen. */
u->hp -= hpsub;
/* Meldung nur, wenn noch keine f<EFBFBD>r Tote generiert. */
/* Meldung nur, wenn noch keine fuer Tote generiert. */
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));
}
}
@ -133,13 +133,13 @@ void get_food(region * r)
is_cold = insect_hunger && r_insectstalled(r);
/* 1. Versorgung von eigenen Einheiten. Das vorhandene Silber
* wird zun<EFBFBD>chst so auf die Einheiten aufgeteilt, dass idealerweise
* jede Einheit genug Silber f<EFBFBD>r ihren Unterhalt hat. */
* wird zunaechst so auf die Einheiten aufgeteilt, dass idealerweise
* jede Einheit genug Silber fuer ihren Unterhalt hat. */
for (u = r->units; u; u = u->next) {
int need = lifestyle(u);
/* Erstmal zur<EFBFBD>cksetzen */
/* Erstmal zuruecksetzen */
freset(u, UFL_HUNGER);
if (u->ship && (u->ship->flags & SF_FISHING)) {
@ -237,7 +237,7 @@ void get_food(region * r)
}
/* 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) {
const race * rc = u_race(u);
@ -302,7 +302,7 @@ void get_food(region * r)
}
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) {
int m = get_money(u);
int need = lifestyle(u);