asciify more files

This commit is contained in:
Enno Rehling 2019-02-07 20:33:20 +01:00
parent 35c6f30511
commit 642d043e7c
8 changed files with 86 additions and 85 deletions

View File

@ -191,7 +191,7 @@ static attrib_type *at_find_key(unsigned int hk)
if (!find) {
const char *translate[3][2] = {
{ "zielregion", "targetregion" }, /* remapping: from 'zielregion, heute targetregion */
{ "verzaubert", "curse" }, /* remapping: früher verzaubert, jetzt curse */
{ "verzaubert", "curse" }, /* remapping: frueher verzaubert, jetzt curse */
{ NULL, NULL }
};
int i = 0;
@ -388,7 +388,7 @@ int a_age(attrib ** p, void *owner)
{
attrib **ap = p;
/* Attribute altern, und die Entfernung (age()==0) eines Attributs
* hat Einfluß auf den Besitzer */
* hat Einfluss auf den Besitzer */
while (*ap) {
attrib *a = *ap;
if (a->type->age) {

View File

@ -447,7 +447,7 @@ void remove_building(building ** blist, building * b)
b->size = 0;
bunhash(b);
/* Falls Karawanserei, Damm oder Tunnel einst<EFBFBD>rzen, wird die schon
/* Falls Karawanserei, Damm oder Tunnel einstuerzen, wird die schon
* gebaute Strasse zur Haelfte vernichtet */
if (b->type == bt_caravan || b->type == bt_dam || b->type == bt_tunnel) {
int d;
@ -560,8 +560,8 @@ void building_set_owner(struct unit * owner)
static unit *building_owner_ex(const building * bld, const struct faction * last_owner)
{
unit *u, *heir = 0;
/* Eigent<EFBFBD>mer tot oder kein Eigent<6E>mer vorhanden. Erste lebende Einheit
* nehmen. */
/* Eigentuemer tot oder kein Eigentuemer vorhanden.
* Erste lebende Einheit nehmen. */
for (u = bld->region->units; u; u = u->next) {
if (u->building == bld) {
if (u->number > 0) {
@ -711,7 +711,7 @@ building *largestbuilding(const region * r, cmp_building_cb cmp_gt,
}
return best;
}
/* Lohn bei den einzelnen Burgstufen f<EFBFBD>r Normale Typen, Orks, Bauern */
/* Lohn bei den einzelnen Burgstufen fuer Normale Typen, Orks, Bauern */
static const int wagetable[7][3] = {
{ 10, 10, 11 }, /* Baustelle */
@ -770,7 +770,7 @@ default_wage(const region * r, const faction * f, const race * rc, int in_turn)
}
vm = frac_make(wage, 1);
/* Bei einer D<EFBFBD>rre verdient man nur noch ein Viertel */
/* Bei einer Duerre verdient man nur noch ein Viertel */
c = get_curse(r->attribs, &ct_drought);
if (c && curse_active(c)) {
vm = frac_mul(vm, frac_make(1, curse_geteffect_int(c)));
@ -794,8 +794,9 @@ minimum_wage(const region * r, const faction * f, const race * rc, int in_turn)
return default_wage(r, f, rc, in_turn);
}
/* Gibt Arbeitslohn f<>r entsprechende Rasse zur<75>ck, oder f<>r
* die Bauern wenn f == NULL. */
/**
* Gibt Arbeitslohn fuer entsprechende Rasse zurueck, oder fuer
* die Bauern wenn f == NULL. */
int wage(const region * r, const faction * f, const race * rc, int in_turn)
{
static int config;

View File

@ -621,7 +621,7 @@ int read_borders(gamedata *data)
}
if (type->read) {
connection *b = new_border(type, from, to);
nextborder--; /* new_border erh<EFBFBD>ht den Wert */
nextborder--; /* new_border erhoeht den Wert */
b->id = bid;
assert(bid <= nextborder);
type->read(b, data);

View File

@ -402,8 +402,8 @@ static void set_cursevigour(curse * c, double vigour)
c->vigour = vigour;
}
/* veraendert die Stärke der Verzauberung um +i und gibt die neue
* Staerke zurueck. Sollte die Zauberstärke unter Null sinken, loest er
/* veraendert die Staerke der Verzauberung um +i und gibt die neue
* Staerke zurueck. Sollte die Zauberstaerke unter Null sinken, loest er
* sich auf.
*/
double curse_changevigour(attrib ** ap, curse * c, double vigour)
@ -454,7 +454,7 @@ set_curseingmagician(struct unit *magician, struct attrib *ap_target,
/* ------------------------------------------------------------- */
/* gibt bei Personenbeschraenkten Verzauberungen die Anzahl der
* betroffenen Personen zurueck. Ansonsten wird 0 zurückgegeben. */
* betroffenen Personen zurueck. Ansonsten wird 0 zurueckgegeben. */
int get_cursedmen(const unit * u, const curse * c)
{
int cursedmen = u->number;

View File

@ -442,7 +442,7 @@ static unit * ship_owner_ex(const ship * sh, const struct faction * last_owner)
{
unit *u, *heir = 0;
/* Eigent<EFBFBD>mer tot oder kein Eigent<6E>mer vorhanden. Erste lebende Einheit
/* Eigentuemer tot oder kein Eigentuemer vorhanden. Erste lebende Einheit
* nehmen. */
for (u = sh->region->units; u; u = u->next) {
if (u->ship == sh) {

View File

@ -144,34 +144,34 @@ extern "C" {
*
* u : eine Einheitennummer
* r : hier kommen zwei Regionskoordinaten x y
* b : Geb<EFBFBD>ude- oder Burgnummer
* b : Gebaeude- oder Burgnummer
* s : Schiffsnummer
* c : String, wird ohne Weiterverarbeitung <EFBFBD>bergeben
* i : Zahl (int), wird ohne Weiterverarbeitung <EFBFBD>bergeben
* c : String, wird ohne Weiterverarbeitung uebergeben
* i : Zahl (int), wird ohne Weiterverarbeitung uebergeben
* k : Keywort - dieser String gibt den Paramter an, der folgt. Der
* Parameter wird mit findparam() identifiziert.
* k muss immer von einem c als Platzhalter f<EFBFBD>r das Objekt gefolgt
* k muss immer von einem c als Platzhalter fuer das Objekt gefolgt
* werden.
* Ein gutes Beispiel sind hierf<EFBFBD>r die Spr<EFBFBD>che zur Magieanalyse.
* Ein gutes Beispiel sind hierfuer die Sprueche zur Magieanalyse.
* + : gibt an, das der vorherige Parameter mehrfach vorkommen kann. Da
* ein Ende nicht definiert werden kann, muss dies immer am Schluss
* kommen.
*
* Flags f<EFBFBD>r das Parsing:
* Flags fuer das Parsing:
* TESTRESISTANCE : alle Zielobjekte, also alle Parameter vom Typ Unit,
* Burg, Schiff oder Region, werden auf ihre
* Magieresistenz <EFBFBD>berpr<EFBFBD>ft
* Magieresistenz ueberprueft
* TESTCANSEE : jedes Objekt vom Typ Einheit wird auf seine
* Sichtbarkeit <EFBFBD>berpr<EFBFBD>ft
* Sichtbarkeit ueberprueft
* SEARCHLOCAL : die Zielobjekte werden nur regional gesucht
* REGIONSPELL : Ziel ist die Region, auch wenn kein Zielobjekt
* angegeben wird. Ist TESTRESISTANCE gesetzt, so wird
* die Magieresistenz der Region <EFBFBD>berpr<EFBFBD>ft
* die Magieresistenz der Region ueberprueft
*
* Bei fehlendem Ziel oder wenn dieses dem Zauber widersteht, wird die
* Spruchfunktion nicht aufgerufen.
* Sind zu wenig Parameter vorhanden, wird der Zauber ebenfalls nicht
* ausgef<EFBFBD>hrt.
* ausgefuehrt.
* Ist eins von mehreren Zielobjekten resistent, so wird das Flag
* pa->param[n]->flag == TARGET_RESISTS
* Ist eins von mehreren Zielobjekten nicht gefunden worden, so ist

View File

@ -202,7 +202,7 @@ static void dumbeffect(unit *u) {
reduce_skill(u, sb, weeks);
ADDMSG(&u->faction->msgs, msg_message("dumbeffect",
"unit weeks skill", u, weeks, (skill_t)sb->id));
} /* sonst Glück gehabt: wer nix weiss, kann nix vergessen... */
} /* sonst Glueck gehabt: wer nix weiss, kann nix vergessen... */
change_effect(u, oldpotiontype[P_FOOL], -effect);
}
}
@ -249,7 +249,7 @@ static void live(region * r)
while (*up) {
unit *u = *up;
/* IUW: age_unit() kann u loeschen, u->next ist dann
* undefiniert, also muessen wir hier schon das nächste
* undefiniert, also muessen wir hier schon das naechste
* Element bestimmen */
age_unit(r, u);
if (*up == u)
@ -378,17 +378,17 @@ static void peasants(region * r, int rule)
peasants += births + luck;
}
/* Alle werden satt, oder halt soviele für die es auch Geld gibt */
/* Alle werden satt, oder halt soviele fuer die es auch Geld gibt */
satiated = money / maintenance_cost(NULL);
if (satiated > peasants) satiated = peasants;
rsetmoney(r, money - satiated * maintenance_cost(NULL));
/* Von denjenigen, die nicht satt geworden sind, verhungert der
* Großteil. dead kann nie größer als rpeasants(r) - satiated werden,
* so dass rpeasants(r) >= 0 bleiben muß. */
* Grossteil. dead kann nie groesser als rpeasants(r) - satiated werden,
* so dass rpeasants(r) >= 0 bleiben muss. */
/* Es verhungert maximal die unterernährten Bevölkerung. */
/* Es verhungert maximal die unterernaehrten Bevoelkerung. */
n = peasants - satiated;
if (n > rp) n = rp;
@ -456,9 +456,9 @@ static void migrate(region * r)
rsethorses(r, rhorses(r) + m->horses);
/* Was macht das denn hier?
* Baumwanderung wird in trees() gemacht.
* wer fragt das? Die Baumwanderung war abhängig von der
* wer fragt das? Die Baumwanderung war abhaengig von der
* Auswertungsreihenfolge der regionen,
* das hatte ich geändert. jemand hat es wieder gelöscht, toll.
* das hatte ich geaendert. jemand hat es wieder geloescht, toll.
* ich habe es wieder aktiviert, muss getestet werden.
*/
*hp = m->next;
@ -500,7 +500,7 @@ static void horses(region * r)
/* Pferde wandern in Nachbarregionen.
* Falls die Nachbarregion noch berechnet
* werden muss, wird eine migration-Struktur gebildet,
* die dann erst in die Berechnung der Nachbarstruktur einfließt.
* die dann erst in die Berechnung der Nachbarstruktur einfliesst.
*/
for (n = 0; n != MAXDIRECTIONS; n++) {
@ -514,7 +514,7 @@ static void horses(region * r)
else {
migration *nb;
/* haben wir die Migration schonmal benutzt?
* wenn nicht, müssen wir sie suchen.
* wenn nicht, muessen wir sie suchen.
* Wandernde Pferde vermehren sich nicht.
*/
nb = get_migrants(r2);
@ -620,12 +620,12 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
a = a_find(r->attribs, &at_germs);
if (a && last_weeks_season == SEASON_SPRING) {
/* ungekeimte Samen bleiben erhalten, Sprößlinge wachsen */
/* ungekeimte Samen bleiben erhalten, Sproesslinge wachsen */
sprout = rtrees(r, 1);
if (sprout > a->data.sa[1]) sprout = a->data.sa[1];
/* aus dem gesamt Sprößlingepool abziehen */
/* aus dem gesamt Sproesslingepool abziehen */
rsettrees(r, 1, rtrees(r, 1) - sprout);
/* zu den Bäumen hinzufügen */
/* zu den Baeumen hinzufuegen */
rsettrees(r, 2, rtrees(r, 2) + sprout);
a_removeall(&r->attribs, &at_germs);
@ -642,7 +642,7 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
return;
/* Grundchance 1.0% */
/* Jeder Elf in der Region erhöht die Chance marginal */
/* Jeder Elf in der Region erhoeht die Chance marginal */
mp = mp / 8;
if (elves > mp) elves = mp;
if (elves) {
@ -664,19 +664,19 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
}
}
/* Bäume breiten sich in Nachbarregionen aus. */
/* Baeume breiten sich in Nachbarregionen aus. */
/* Gesamtzahl der Samen:
* bis zu 6% (FORESTGROWTH*3) der Bäume samen in die Nachbarregionen */
* bis zu 6% (FORESTGROWTH*3) der Baeume samen in die Nachbarregionen */
seeds = (rtrees(r, 2) * FORESTGROWTH * 3) / 1000000;
for (d = 0; d != MAXDIRECTIONS; ++d) {
region *r2 = rconnect(r, d);
if (r2 && fval(r2->terrain, LAND_REGION) && r2->terrain->size) {
/* Eine Landregion, wir versuchen Samen zu verteilen:
* Die Chance, das Samen ein Stück Boden finden, in dem sie
* keimen können, ngt von der Bewuchsdichte und der
* verfügbaren Fläche ab. In Gletschern gibt es weniger
* Möglichkeiten als in Ebenen. */
* Die Chance, das Samen ein Stueck Boden finden, in dem sie
* keimen koennen, haengt von der Bewuchsdichte und der
* verfuegbaren Flaeche ab. In Gletschern gibt es weniger
* Moeglichkeiten als in Ebenen. */
sprout = 0;
seedchance = (1000.0 * region_maxworkers(r2)) / r2->terrain->size;
for (i = 0; i < seeds / MAXDIRECTIONS; i++) {
@ -694,8 +694,8 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
if (is_cursed(r->attribs, &ct_godcursezone))
return;
/* in at_germs merken uns die Zahl der Samen und Sprößlinge, die
* dieses Jahr älter werden rfen, damit nicht ein Same im selben
/* in at_germs merken uns die Zahl der Samen und Sproesslinge, die
* dieses Jahr aelter werden duerfen, damit nicht ein Same im selben
* Zyklus zum Baum werden kann */
a = a_find(r->attribs, &at_germs);
if (!a) {
@ -709,7 +709,7 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
/* Samenwachstum */
/* Raubbau abfangen, es dürfen nie mehr Samen wachsen, als aktuell
/* Raubbau abfangen, es duerfen nie mehr Samen wachsen, als aktuell
* in der Region sind */
seeds = rtrees(r, 0);
if (seeds > a->data.sa[0]) seeds = a->data.sa[0];
@ -723,15 +723,15 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
a->data.sa[0] = (short)(seeds - sprout);
/* aus dem gesamt Samenpool abziehen */
rsettrees(r, 0, rtrees(r, 0) - sprout);
/* zu den Sprößlinge hinzufügen */
/* zu den Sproesslinge hinzufuegen */
rsettrees(r, 1, rtrees(r, 1) + sprout);
/* Baumwachstum */
/* hier gehen wir davon aus, das Jungbäume nicht ohne weiteres aus
* der Region entfernt werden können, da Jungbäume in der gleichen
* Runde nachwachsen, wir also nicht mehr zwischen diesjährigen und
* 'alten' Jungbäumen unterscheiden nnten */
/* hier gehen wir davon aus, das Jungbaeume nicht ohne weiteres aus
* der Region entfernt werden koennen, da Jungbaeume in der gleichen
* Runde nachwachsen, wir also nicht mehr zwischen diesjaehrigen und
* 'alten' Jungbaeumen unterscheiden koennten */
sprout = rtrees(r, 1);
if (sprout > a->data.sa[1]) sprout = a->data.sa[1];
grownup_trees = 0;
@ -740,11 +740,11 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
if (rng_int() % 10000 < growth)
grownup_trees++;
}
/* aus dem Sprößlingepool dieses Jahres abziehen */
/* aus dem Sproesslingepool dieses Jahres abziehen */
a->data.sa[1] = (short)(sprout - grownup_trees);
/* aus dem gesamt Sprößlingepool abziehen */
/* aus dem gesamt Sproesslingepool abziehen */
rsettrees(r, 1, rtrees(r, 1) - grownup_trees);
/* zu den Bäumen hinzufügen */
/* zu den Baeumen hinzufuegen */
rsettrees(r, 2, rtrees(r, 2) + grownup_trees);
}
}
@ -752,10 +752,10 @@ growing_trees(region * r, const int current_season, const int last_weeks_season)
static void
growing_herbs(region * r, const int current_season, const int last_weeks_season)
{
/* Jetzt die Kräutervermehrung. Vermehrt wird logistisch:
/* Jetzt die Kraeutervermehrung. Vermehrt wird logistisch:
*
* Jedes Kraut hat eine Wahrscheinlichkeit von (100-(vorhandene
* Kräuter))% sich zu vermehren. */
* Kraeuter))% sich zu vermehren. */
UNUSED_ARG(last_weeks_season);
if (current_season != SEASON_WINTER) {
int i, herbs = rherbs(r);
@ -1060,7 +1060,7 @@ int enter_building(unit * u, order * ord, int id, bool report)
region *r = u->region;
building *b;
/* Schwimmer können keine Gebäude betreten, außer diese sind
/* Schwimmer koennen keine Gebaeude betreten, ausser diese sind
* auf dem Ozean */
if (!fval(u_race(u), RCF_WALK) && !fval(u_race(u), RCF_FLY)) {
if (!fval(r->terrain, SEA_REGION)) {
@ -1169,8 +1169,8 @@ void do_enter(struct region *r, bool is_final_attempt)
}
if (ulast != NULL) {
/* Wenn wir hier angekommen sind, war der Befehl
* erfolgreich und wir löschen ihn, damit er im
* zweiten Versuch nicht nochmal ausgeführt wird. */
* erfolgreich und wir loeschen ihn, damit er im
* zweiten Versuch nicht nochmal ausgefuehrt wird. */
*ordp = ord->next;
ord->next = NULL;
free_order(ord);
@ -1925,13 +1925,13 @@ int mail_cmd(unit * u, struct order *ord)
s = gettoken(token, sizeof(token));
/* Falls kein Parameter, ist das eine Einheitsnummer;
* das Füllwort "AN" muss wegfallen, da gültige Nummer! */
* das Fuellwort "AN" muss wegfallen, da gueltige Nummer! */
do {
cont = 0;
switch (findparam_ex(s, u->faction->locale)) {
case P_REGION:
/* können alle Einheiten in der Region sehen */
/* koennen alle Einheiten in der Region sehen */
s = getstrtoken();
if (!s || !s[0]) {
cmistake(u, ord, 30, MSG_MESSAGE);
@ -2408,7 +2408,7 @@ int combatspell_cmd(unit * u, struct order *ord)
init_order_depr(ord);
s = gettoken(token, sizeof(token));
/* KAMPFZAUBER [NICHT] löscht alle gesetzten Kampfzauber */
/* KAMPFZAUBER [NICHT] loescht alle gesetzten Kampfzauber */
if (!s || *s == 0 || findparam(s, u->faction->locale) == P_NOT) {
unset_combatspell(u, 0);
return 0;
@ -2416,7 +2416,7 @@ int combatspell_cmd(unit * u, struct order *ord)
/* Optional: STUFE n */
if (findparam(s, u->faction->locale) == P_LEVEL) {
/* Merken, setzen kommt erst später */
/* Merken, setzen kommt erst spaeter */
level = getuint();
s = gettoken(token, sizeof(token));
}
@ -2430,14 +2430,14 @@ int combatspell_cmd(unit * u, struct order *ord)
s = gettoken(token, sizeof(token));
if (findparam(s, u->faction->locale) == P_NOT) {
/* KAMPFZAUBER "<Spruchname>" NICHT löscht diesen speziellen
/* KAMPFZAUBER "<Spruchname>" NICHT loescht diesen speziellen
* Kampfzauber */
unset_combatspell(u, sp);
return 0;
}
else {
/* KAMPFZAUBER "<Spruchname>" setzt diesen Kampfzauber */
/* knowsspell prüft auf ist_magier, ist_spruch, kennt_spruch */
/* knowsspell prueft auf ist_magier, ist_spruch, kennt_spruch */
if (!knowsspell(u->region, u, sp)) {
/* Fehler 'Spell not found' */
cmistake(u, ord, 173, MSG_MAGIC);
@ -2773,7 +2773,7 @@ static void ageing(void)
sp = &(*sp)->next;
}
/* Gebäude */
/* Gebaeude */
for (bp = &r->buildings; *bp;) {
building *b = *bp;
age_building(b);
@ -2978,7 +2978,7 @@ void update_long_order(unit * u)
/* we have found the (first) long order
* some long orders can have multiple instances: */
switch (kwd) {
/* Wenn gehandelt wird, darf kein langer Befehl ausgeführt
/* Wenn gehandelt wird, darf kein langer Befehl ausgefuehrt
* werden. Da Handel erst nach anderen langen Befehlen kommt,
* muss das vorher abgefangen werden. Wir merken uns also
* hier, ob die Einheit handelt. */
@ -3034,11 +3034,11 @@ void update_long_order(unit * u)
}
}
if (hunger) {
/* Hungernde Einheiten führen NUR den default-Befehl aus */
/* Hungernde Einheiten fuehren NUR den default-Befehl aus */
set_order(&u->thisorder, default_order(u->faction->locale));
}
else if (!exclusive) {
/* Wenn die Einheit handelt oder zaubert, muss der Default-Befehl gelöscht werden. */
/* Wenn die Einheit handelt oder zaubert, muss der Default-Befehl geloescht werden. */
set_order(&u->thisorder, NULL);
}
}
@ -3075,7 +3075,7 @@ void monthly_healing(void)
double healingcurse = 0;
if (r->attribs) {
/* bonus zurücksetzen */
/* bonus zuruecksetzen */
curse *c = get_curse(r->attribs, &ct_healing);
if (c != NULL) {
healingcurse = curse_geteffect(c);
@ -3085,8 +3085,8 @@ void monthly_healing(void)
int umhp = unit_max_hp(u) * u->number;
double p = 1.0;
/* hp über Maximum bauen sich ab. Wird zb durch Elixier der Macht
* oder verändertes Ausdauertalent verursacht */
/* hp ueber Maximum bauen sich ab. Wird zb durch Elixier der Macht
* oder veraendertes Ausdauertalent verursacht */
if (u->hp > umhp) {
int diff = u->hp - umhp;
u->hp -= (int)ceil(diff / 2.0);
@ -3113,7 +3113,7 @@ void monthly_healing(void)
if (active_building(u, bt_find("inn"))) {
p *= 1.5;
}
/* pro punkt 5% höher */
/* pro punkt 5% hoeher */
p *= (1.0 + healingcurse * 0.05);
maxheal = p * maxheal;
@ -3126,7 +3126,7 @@ void monthly_healing(void)
if (umhp > u->hp + addhp) umhp = u->hp + addhp;
u->hp = umhp;
/* soll man an negativer regeneration sterben können? */
/* soll man an negativer regeneration sterben koennen? */
assert(u->hp > 0);
}
}
@ -3173,7 +3173,7 @@ void defaultorders(void)
ord->next = NULL;
free_order(ord);
if (!neworders) {
/* lange Befehle aus orders und old_orders löschen zu gunsten des neuen */
/* lange Befehle aus orders und old_orders loeschen zu gunsten des neuen */
/* TODO: why only is_exclusive, not is_long? what about CAST, BUY, SELL? */
remove_exclusive(&u->orders);
remove_exclusive(&u->old_orders);
@ -3981,8 +3981,8 @@ void turn_end(void)
wormholes_update();
}
/* immer ausführen, wenn neue Sprüche dazugekommen sind, oder sich
* Beschreibungen geändert haben */
/* immer ausfuehren, wenn neue Sprueche dazugekommen sind, oder sich
* Beschreibungen geaendert haben */
update_spells();
}

View File

@ -90,7 +90,7 @@ extern "C" {
* - Magierichtung
* - Magiepunkte derzeit
* - Malus (neg. Wert)/ Bonus (pos. Wert) auf maximale Magiepunkte
* (koennen sich durch Questen absolut veraendern und durch Gegenstände
* (koennen sich durch Questen absolut veraendern und durch Gegenstaende
* temporaer). Auch fuer Artefakt benoetigt man permanente MP
* - Anzahl bereits gezauberte Sprueche diese Runde
* - Kampfzauber (3) (vor/waehrend/nach)
@ -145,7 +145,7 @@ extern "C" {
Schiffen stehend gezaubert werden */
#define TESTCANSEE (1<<4) /* alle Zielunits auf cansee pruefen */
/* ID's koennen zu drei unterschiedlichen Entitaeten gehören: Einheiten,
/* ID's koennen zu drei unterschiedlichen Entitaeten gehoeren: Einheiten,
* Gebaeuden und Schiffen. */
#define UNITSPELL (1<<5) /* ZAUBER .. <Einheit-Nr> [<Einheit-Nr> ..] */
#define SHIPSPELL (1<<6) /* ZAUBER .. <Schiff-Nr> [<Schiff-Nr> ..] */
@ -153,7 +153,7 @@ extern "C" {
#define REGIONSPELL (1<<8) /* wirkt auf struct region */
#define GLOBALTARGET (1<<9) /* Ziel kann ausserhalb der region sein */
#define PRECOMBATSPELL (1<<10) /* PRÄKAMPFZAUBER .. */
#define PRECOMBATSPELL (1<<10) /* PRAEKAMPFZAUBER .. */
#define COMBATSPELL (1<<11) /* KAMPFZAUBER .. */
#define POSTCOMBATSPELL (1<<12) /* POSTKAMPFZAUBER .. */
#define ISCOMBATSPELL (PRECOMBATSPELL|COMBATSPELL|POSTCOMBATSPELL)
@ -275,18 +275,18 @@ extern "C" {
struct unit * familiar, const struct spell * sp, struct region * r,
int lev, double force, int range, struct order * ord, struct spellparameter * p);
void free_castorder(struct castorder *co);
/* Zwischenspreicher fuer Zauberbefehle, notwendig für Prioritaeten */
/* Zwischenspreicher fuer Zauberbefehle, notwendig fuer Prioritaeten */
void add_castorder(struct spellrank *cll, struct castorder *co);
/* Haenge c-order co an die letze c-order von cll an */
void free_castorders(struct castorder *co);
/* Speicher wieder freigeben */
int cast_spell(struct castorder *co);
/* Pruefroutinen für Zaubern */
/* Pruefroutinen fuer Zaubern */
int countspells(struct unit *u, int step);
int spellcount(const struct unit *u);
/* erhoeht den Counter fuer Zaubersprüche um 'step' und gibt die neue
* Anzahl der gezauberten Sprueche zurück. */
/* erhoeht den Counter fuer Zaubersprueche um 'step' und gibt die neue
* Anzahl der gezauberten Sprueche zurueck. */
int auracost(const struct unit *caster, const struct spell *sp);
int spellcost(const struct unit *caster, const struct spell_component *spc);
/* gibt die fuer diesen Spruch derzeit notwendigen Magiepunkte auf der