forked from github/server
Mehr englische Beschreibungen
Mehr Dinge aus settings.h heraus und in xml-files hinein Sortierung von alliierten bleibt gleich wenn laden/speichern (kleinere diffs)
This commit is contained in:
parent
27cd78ab66
commit
b18a812fa2
|
@ -103,6 +103,17 @@ int *month_season;
|
||||||
char *agename;
|
char *agename;
|
||||||
int seasons;
|
int seasons;
|
||||||
|
|
||||||
|
static const char*
|
||||||
|
MailitPath()
|
||||||
|
{
|
||||||
|
static const char * value = NULL;
|
||||||
|
if (value==NULL) {
|
||||||
|
value = get_param(global.parameters, "report.mailit");
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
read_datenames(const char *filename)
|
read_datenames(const char *filename)
|
||||||
{
|
{
|
||||||
|
@ -2377,18 +2388,12 @@ openbatch(void)
|
||||||
log_error(("mailit konnte nicht geöffnet werden!\n"));
|
log_error(("mailit konnte nicht geöffnet werden!\n"));
|
||||||
else
|
else
|
||||||
fprintf(BAT,
|
fprintf(BAT,
|
||||||
"#!/bin/sh\n"
|
"#!/bin/sh\n\n"
|
||||||
"\n"
|
"# MAILIT shell file, vom Eressea Host generiert\n#\n"
|
||||||
"# MAILIT shell file, vom Eressea Host generiert\n"
|
"# Verwendung: nohup mailit &\n#\n\n"
|
||||||
"#\n"
|
"PATH=%s\n\n"
|
||||||
"# Verwendung: nohup mailit &\n"
|
|
||||||
"#\n"
|
|
||||||
"\n"
|
|
||||||
"PATH=%s\n"
|
|
||||||
"\n"
|
|
||||||
"chmod 755 *.sh\n"
|
"chmod 755 *.sh\n"
|
||||||
"\n"
|
"\n", MailitPath());
|
||||||
,MAILITPATH);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2690,7 +2695,7 @@ reports(void)
|
||||||
if (f->no > 0 && f->email && BAT) {
|
if (f->no > 0 && f->email && BAT) {
|
||||||
sprintf(buf, "%s/%s.sh", reportpath(), factionid(f));
|
sprintf(buf, "%s/%s.sh", reportpath(), factionid(f));
|
||||||
shfp = fopen(buf, "w");
|
shfp = fopen(buf, "w");
|
||||||
fprintf(shfp,"#!/bin/sh\n\nPATH=%s\n\n",MAILITPATH);
|
fprintf(shfp,"#!/bin/sh\n\nPATH=%s\n\n",MailitPath());
|
||||||
fprintf(shfp,"if [ $# -ge 1 ]; then\n");
|
fprintf(shfp,"if [ $# -ge 1 ]; then\n");
|
||||||
fprintf(shfp,"\taddr=$1\n");
|
fprintf(shfp,"\taddr=$1\n");
|
||||||
fprintf(shfp,"else\n");
|
fprintf(shfp,"else\n");
|
||||||
|
|
|
@ -53,7 +53,17 @@
|
||||||
|
|
||||||
#define TEACHNUMBER 10
|
#define TEACHNUMBER 10
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
static boolean
|
||||||
|
ExpensiveMigrants()
|
||||||
|
{
|
||||||
|
int value = -1;
|
||||||
|
if (value<0) {
|
||||||
|
const char * str = get_param(global.parameters, "study.expensivemigrants");
|
||||||
|
value = str?atoi(str):0;
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
static skill_t
|
static skill_t
|
||||||
getskill(const struct locale * lang)
|
getskill(const struct locale * lang)
|
||||||
{
|
{
|
||||||
|
@ -510,13 +520,11 @@ learn(void)
|
||||||
/* keine kostenpflichtigen Talente für Migranten. Vertraute sind
|
/* keine kostenpflichtigen Talente für Migranten. Vertraute sind
|
||||||
* keine Migranten, wird in is_migrant abgefangen. Vorsicht,
|
* keine Migranten, wird in is_migrant abgefangen. Vorsicht,
|
||||||
* studycost darf hier noch nicht durch Akademie erhöht sein */
|
* studycost darf hier noch nicht durch Akademie erhöht sein */
|
||||||
#if MIGRANTS_CAN_LEARN_EXPENSIVE_SKILLS == 0
|
if (studycost > 0 && !ExpensiveMigrants() && is_migrant(u)) {
|
||||||
if (is_migrant(u) && studycost > 0){
|
|
||||||
sprintf(buf, "Migranten können keine kostenpflichtigen Talente lernen");
|
sprintf(buf, "Migranten können keine kostenpflichtigen Talente lernen");
|
||||||
mistake(u, u->thisorder, buf, MSG_EVENT);
|
mistake(u, u->thisorder, buf, MSG_EVENT);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
/* Akademie: */
|
/* Akademie: */
|
||||||
{
|
{
|
||||||
struct building * b = inside_building(u);
|
struct building * b = inside_building(u);
|
||||||
|
|
|
@ -67,7 +67,16 @@
|
||||||
* Laen, Mallorn}, UnterSilber, UnterSpezialTyp, UnterSpezial */
|
* Laen, Mallorn}, UnterSilber, UnterSpezialTyp, UnterSpezial */
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
static boolean
|
||||||
|
CheckOverload()
|
||||||
|
{
|
||||||
|
static int value = -1;
|
||||||
|
if (value<0) {
|
||||||
|
const char * str = get_param(global.parameters, "rules.check_overload");
|
||||||
|
value = str?atoi(str):0;
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
slipthru(const region * r, const unit * u, const building * b)
|
slipthru(const region * r, const unit * u, const building * b)
|
||||||
|
@ -1130,8 +1139,7 @@ entership(unit * u, ship * sh, const char * cmd, boolean lasttry)
|
||||||
if (lasttry) cmistake(u, cmd, 34, MSG_MOVE);
|
if (lasttry) cmistake(u, cmd, 34, MSG_MOVE);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#ifdef CHECK_OVERLOAD_ON_ENTER
|
if (CheckOverload()) {
|
||||||
{
|
|
||||||
int sweight, scabins;
|
int sweight, scabins;
|
||||||
int mweight = shipcapacity(sh);
|
int mweight = shipcapacity(sh);
|
||||||
int mcabins = sh->type->cabins;
|
int mcabins = sh->type->cabins;
|
||||||
|
@ -1146,7 +1154,6 @@ entership(unit * u, ship * sh, const char * cmd, boolean lasttry)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
leave(u->region, u);
|
leave(u->region, u);
|
||||||
u->ship = sh;
|
u->ship = sh;
|
||||||
|
|
|
@ -105,21 +105,18 @@ int
|
||||||
sp_kampfzauber(fighter * fi, int level, double power, spell * sp)
|
sp_kampfzauber(fighter * fi, int level, double power, spell * sp)
|
||||||
{
|
{
|
||||||
battle *b = fi->side->battle;
|
battle *b = fi->side->battle;
|
||||||
troop dt;
|
troop at, dt;
|
||||||
troop at;
|
message * m;
|
||||||
/* Immer aus der ersten Reihe nehmen */
|
/* Immer aus der ersten Reihe nehmen */
|
||||||
int minrow = FIGHT_ROW;
|
int minrow = FIGHT_ROW;
|
||||||
int maxrow = BEHIND_ROW-1;
|
int maxrow = BEHIND_ROW-1;
|
||||||
int force, enemies;
|
int force, enemies;
|
||||||
int killed = 0;
|
int killed = 0;
|
||||||
const char *damage;
|
const char *damage;
|
||||||
at.fighter = fi;
|
|
||||||
at.index = 0;
|
|
||||||
|
|
||||||
if (power <= 0) return 0;
|
if (power <= 0) return 0;
|
||||||
|
at.fighter = fi;
|
||||||
sprintf(buf, "%s zaubert %s", unitname(fi->unit),
|
at.index = 0;
|
||||||
spell_name(sp, default_locale));
|
|
||||||
|
|
||||||
switch(sp->id) {
|
switch(sp->id) {
|
||||||
/* lovar halbiert im Schnitt! */
|
/* lovar halbiert im Schnitt! */
|
||||||
|
@ -140,15 +137,16 @@ sp_kampfzauber(fighter * fi, int level, double power, spell * sp)
|
||||||
force = lovar(get_force(power,10));
|
force = lovar(get_force(power,10));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sprintf(buf, "%s zaubert %s", unitname(fi->unit),
|
||||||
|
spell_name(sp, default_locale));
|
||||||
|
|
||||||
enemies = count_enemies(b, fi->side, minrow, maxrow);
|
enemies = count_enemies(b, fi->side, minrow, maxrow);
|
||||||
if (!enemies) {
|
if (enemies==0) {
|
||||||
message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
|
m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
|
||||||
message_all(b, m);
|
message_all(b, m);
|
||||||
msg_release(m);
|
msg_release(m);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
scat(":");
|
|
||||||
battlerecord(b, buf);
|
|
||||||
|
|
||||||
while (force>0 && killed < enemies) {
|
while (force>0 && killed < enemies) {
|
||||||
dt = select_enemy(b, fi, minrow, maxrow);
|
dt = select_enemy(b, fi, minrow, maxrow);
|
||||||
|
@ -157,11 +155,11 @@ sp_kampfzauber(fighter * fi, int level, double power, spell * sp)
|
||||||
killed += terminate(dt, at, AT_COMBATSPELL, damage, false);
|
killed += terminate(dt, at, AT_COMBATSPELL, damage, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(buf, "%d Personen %s getötet",
|
m = msg_message("battle::combatspell", "mage spell dead",
|
||||||
killed, killed == 1 ? "wurde" : "wurden");
|
fi->unit, sp, killed);
|
||||||
|
message_all(b, m);
|
||||||
|
msg_release(m);
|
||||||
|
|
||||||
scat(".");
|
|
||||||
battlerecord(b, buf);
|
|
||||||
return level;
|
return level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2824,12 +2824,9 @@ magic(void)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (range > 1024) { /* (2^10) weiter als 10 Regionen entfernt */
|
if (range > 1024) { /* (2^10) weiter als 10 Regionen entfernt */
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER %s' Zu der Region %s kann keine "
|
ADDMSG(&u->faction->msgs, msg_message("spellfail::nolevel",
|
||||||
"Verbindung hergestellt werden", unitname(u),
|
"mage region order target", u, u->region, so->s,
|
||||||
regionid(u->region),
|
gc_add(strdup(regionid(target_r)))));
|
||||||
spell_name(sp, u->faction->locale),
|
|
||||||
regionid(target_r));
|
|
||||||
addmessage(0, u->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2838,11 +2835,8 @@ magic(void)
|
||||||
int ilevel = eff_skill(u, SK_MAGIC, u->region);
|
int ilevel = eff_skill(u, SK_MAGIC, u->region);
|
||||||
if (ilevel!=level) {
|
if (ilevel!=level) {
|
||||||
level = ilevel;
|
level = ilevel;
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER %s' Dieser Zauber kann nicht "
|
ADDMSG(&u->faction->msgs, msg_message("spellfail::nolevel",
|
||||||
"mit Stufenangabe gezaubert werden.", unitname(u),
|
"mage region order", u, u->region, so->s));
|
||||||
regionid(u->region),
|
|
||||||
spell_name(sp, u->faction->locale));
|
|
||||||
addmessage(0, u->faction, buf, MSG_MAGIC, ML_WARN);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Vertrautenmagie */
|
/* Vertrautenmagie */
|
||||||
|
|
|
@ -1498,7 +1498,7 @@ writeregion(FILE * F, const region * r)
|
||||||
wnl(F);
|
wnl(F);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static ally **
|
||||||
addally(const faction * f, ally ** sfp, int aid, int state)
|
addally(const faction * f, ally ** sfp, int aid, int state)
|
||||||
{
|
{
|
||||||
struct faction * af = findfaction(aid);
|
struct faction * af = findfaction(aid);
|
||||||
|
@ -1520,9 +1520,10 @@ addally(const faction * f, ally ** sfp, int aid, int state)
|
||||||
sf->faction = af;
|
sf->faction = af;
|
||||||
if (!sf->faction) ur_add((void*)aid, (void**)&sf->faction, resolve_faction);
|
if (!sf->faction) ur_add((void*)aid, (void**)&sf->faction, resolve_faction);
|
||||||
sf->status = state;
|
sf->status = state;
|
||||||
sf->next = *sfp;
|
|
||||||
|
|
||||||
|
while (*sfp) sfp=&(*sfp)->next;
|
||||||
*sfp = sf;
|
*sfp = sf;
|
||||||
|
return &sf;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Reads a faction from a file.
|
/** Reads a faction from a file.
|
||||||
|
@ -1647,7 +1648,7 @@ readfaction(FILE * F)
|
||||||
while (--p >= 0) {
|
while (--p >= 0) {
|
||||||
int aid = rid(F);
|
int aid = rid(F);
|
||||||
int state = ri(F);
|
int state = ri(F);
|
||||||
addally(f, sfp, aid, state);
|
sfp = addally(f, sfp, aid, state);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
@ -1656,7 +1657,7 @@ readfaction(FILE * F)
|
||||||
else {
|
else {
|
||||||
int aid = atoi36(buf);
|
int aid = atoi36(buf);
|
||||||
int state = ri(F);
|
int state = ri(F);
|
||||||
addally(f, sfp, aid, state);
|
sfp = addally(f, sfp, aid, state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -470,7 +470,7 @@ report_effect(region * r, unit * mage, message * seen, message * unseen)
|
||||||
* ML_WARN ausgegeben werden. (stehen im Kopf der Auswertung unter
|
* ML_WARN ausgegeben werden. (stehen im Kopf der Auswertung unter
|
||||||
* Zauberwirkungen)
|
* Zauberwirkungen)
|
||||||
|
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': [hier die Fehlermeldung].",
|
sprintf(buf, "%s in %s: 'ZAUBER %s': [hier die Fehlermeldung].",
|
||||||
unitname(mage), regionid(mage->region), sa->strings[0]);
|
unitname(mage), regionid(mage->region), sa->strings[0]);
|
||||||
add_message(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
add_message(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
|
||||||
|
@ -1018,14 +1018,14 @@ sp_blessstonecircle(castorder *co)
|
||||||
b = p->param[0]->data.b;
|
b = p->param[0]->data.b;
|
||||||
|
|
||||||
if(b->type != bt_find("stonecircle")) {
|
if(b->type != bt_find("stonecircle")) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': %s ist kein Steinkreis.",
|
sprintf(buf, "%s in %s: 'ZAUBER %s': %s ist kein Steinkreis.",
|
||||||
unitname(mage), regionid(mage->region), co->order, buildingname(b));
|
unitname(mage), regionid(mage->region), co->order, buildingname(b));
|
||||||
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(b->size < b->type->maxsize) {
|
if(b->size < b->type->maxsize) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': %s muss vor der Weihe "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': %s muss vor der Weihe "
|
||||||
"fertiggestellt sein.", unitname(mage), regionid(mage->region),
|
"fertiggestellt sein.", unitname(mage), regionid(mage->region),
|
||||||
co->order, buildingname(b));
|
co->order, buildingname(b));
|
||||||
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
@ -4378,7 +4378,7 @@ sp_migranten(castorder *co)
|
||||||
if (target->number > cast_level
|
if (target->number > cast_level
|
||||||
|| target->number > max_spellpoints(r, mage))
|
|| target->number > max_spellpoints(r, mage))
|
||||||
{
|
{
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': So viele Personen übersteigen "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': So viele Personen übersteigen "
|
||||||
"meine Kräfte.", unitname(mage), regionid(mage->region),
|
"meine Kräfte.", unitname(mage), regionid(mage->region),
|
||||||
spell_name(sp, mage->faction->locale));
|
spell_name(sp, mage->faction->locale));
|
||||||
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_WARN);
|
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_WARN);
|
||||||
|
@ -4420,21 +4420,18 @@ sp_migranten(castorder *co)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (kontaktiert == 0){
|
if (kontaktiert == 0) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Die Einheit %s hat keinen "
|
ADDMSG(&mage->faction->msgs, msg_message("spellfail::contact",
|
||||||
"Kontakt mit uns aufgenommen.", unitname(mage),
|
"mage region order target", mage, mage->region, strdup(co->order),
|
||||||
regionid(mage->region), spell_name(sp, mage->faction->locale)
|
target));
|
||||||
, unitname(target));
|
|
||||||
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
u_setfaction(target,mage->faction);
|
u_setfaction(target,mage->faction);
|
||||||
set_string(&target->thisorder, "");
|
set_string(&target->thisorder, "");
|
||||||
|
|
||||||
/* Erfolg melden */
|
/* Erfolg melden */
|
||||||
ADDMSG(&mage->faction->msgs, msg_message(
|
ADDMSG(&mage->faction->msgs, msg_message("sp_migranten",
|
||||||
"sp_migranten", "unit region command target", mage,
|
"unit region command target", mage, mage->region, strdup(co->order), target));
|
||||||
mage->region, strdup(co->order), target));
|
|
||||||
|
|
||||||
return target->number;
|
return target->number;
|
||||||
}
|
}
|
||||||
|
@ -5824,7 +5821,7 @@ sp_enterastral(castorder *co)
|
||||||
ro = r;
|
ro = r;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Dieser Zauber funktioniert "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Dieser Zauber funktioniert "
|
||||||
"nur in der materiellen Welt.", unitname(mage),
|
"nur in der materiellen Welt.", unitname(mage),
|
||||||
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
||||||
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
@ -5832,7 +5829,7 @@ sp_enterastral(castorder *co)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!rt) {
|
if(!rt) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Es kann hier kein Kontakt zur "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Es kann hier kein Kontakt zur "
|
||||||
"Astralwelt hergestellt werden.", unitname(mage),
|
"Astralwelt hergestellt werden.", unitname(mage),
|
||||||
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
||||||
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
@ -5841,7 +5838,7 @@ sp_enterastral(castorder *co)
|
||||||
|
|
||||||
if(is_cursed(rt->attribs, C_ASTRALBLOCK, 0) ||
|
if(is_cursed(rt->attribs, C_ASTRALBLOCK, 0) ||
|
||||||
is_cursed(ro->attribs, C_ASTRALBLOCK, 0)) {
|
is_cursed(ro->attribs, C_ASTRALBLOCK, 0)) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Es kann kein Kontakt zu "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Es kann kein Kontakt zu "
|
||||||
"dieser astralen Region hergestellt werden.", unitname(mage),
|
"dieser astralen Region hergestellt werden.", unitname(mage),
|
||||||
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
||||||
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
@ -5948,7 +5945,7 @@ sp_pullastral(castorder *co)
|
||||||
rl2 = rl2->next;
|
rl2 = rl2->next;
|
||||||
}
|
}
|
||||||
if(!rl2) {
|
if(!rl2) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Es kann kein Kontakt zu "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Es kann kein Kontakt zu "
|
||||||
"dieser Region hergestellt werden.", unitname(mage),
|
"dieser Region hergestellt werden.", unitname(mage),
|
||||||
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
||||||
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
@ -5958,7 +5955,7 @@ sp_pullastral(castorder *co)
|
||||||
free_regionlist(rl);
|
free_regionlist(rl);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Dieser Zauber funktioniert "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Dieser Zauber funktioniert "
|
||||||
"nur in der astralen Welt.", unitname(mage),
|
"nur in der astralen Welt.", unitname(mage),
|
||||||
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
||||||
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
@ -5967,7 +5964,7 @@ sp_pullastral(castorder *co)
|
||||||
|
|
||||||
if(is_cursed(rt->attribs, C_ASTRALBLOCK, 0) ||
|
if(is_cursed(rt->attribs, C_ASTRALBLOCK, 0) ||
|
||||||
is_cursed(ro->attribs, C_ASTRALBLOCK, 0)) {
|
is_cursed(ro->attribs, C_ASTRALBLOCK, 0)) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Es kann kein Kontakt zu "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Es kann kein Kontakt zu "
|
||||||
"dieser Region hergestellt werden.", unitname(mage),
|
"dieser Region hergestellt werden.", unitname(mage),
|
||||||
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
||||||
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
@ -6623,7 +6620,7 @@ sp_permtransfer(castorder *co)
|
||||||
aura = pa->param[0]->data.i;
|
aura = pa->param[0]->data.i;
|
||||||
|
|
||||||
if(!is_mage(tu)) {
|
if(!is_mage(tu)) {
|
||||||
/* sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Einheit ist kein Magier."
|
/* sprintf(buf, "%s in %s: 'ZAUBER %s': Einheit ist kein Magier."
|
||||||
, unitname(mage), regionid(mage->region),sa->strings[0]); */
|
, unitname(mage), regionid(mage->region),sa->strings[0]); */
|
||||||
cmistake(mage, strdup(co->order), 214, MSG_MAGIC);
|
cmistake(mage, strdup(co->order), 214, MSG_MAGIC);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -6669,7 +6666,7 @@ sp_movecastle(castorder *co)
|
||||||
dir = finddirection(pa->param[1]->data.s, mage->faction->locale);
|
dir = finddirection(pa->param[1]->data.s, mage->faction->locale);
|
||||||
|
|
||||||
if(dir == NODIRECTION) {
|
if(dir == NODIRECTION) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Ungültige Richtung %s.",
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Ungültige Richtung %s.",
|
||||||
unitname(mage), regionid(mage->region),
|
unitname(mage), regionid(mage->region),
|
||||||
spell_name(sp, mage->faction->locale),
|
spell_name(sp, mage->faction->locale),
|
||||||
pa->param[1]->data.s);
|
pa->param[1]->data.s);
|
||||||
|
@ -6678,7 +6675,7 @@ sp_movecastle(castorder *co)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(b->size > (cast_level-12) * 250) {
|
if(b->size > (cast_level-12) * 250) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Der Elementar ist "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Der Elementar ist "
|
||||||
"zu klein, um das Gebäude zu tragen.", unitname(mage),
|
"zu klein, um das Gebäude zu tragen.", unitname(mage),
|
||||||
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
regionid(mage->region), spell_name(sp, mage->faction->locale));
|
||||||
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
||||||
|
@ -6688,7 +6685,7 @@ sp_movecastle(castorder *co)
|
||||||
target_region = rconnect(r,dir);
|
target_region = rconnect(r,dir);
|
||||||
|
|
||||||
if(!(terrain[target_region->terrain].flags & LAND_REGION)) {
|
if(!(terrain[target_region->terrain].flags & LAND_REGION)) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER \"%s\"': Der Erdelementar "
|
sprintf(buf, "%s in %s: 'ZAUBER %s': Der Erdelementar "
|
||||||
"weigert sich, nach %s zu gehen.",
|
"weigert sich, nach %s zu gehen.",
|
||||||
unitname(mage), regionid(mage->region),
|
unitname(mage), regionid(mage->region),
|
||||||
spell_name(sp, mage->faction->locale),
|
spell_name(sp, mage->faction->locale),
|
||||||
|
|
|
@ -39,13 +39,8 @@
|
||||||
|
|
||||||
#define ZEROFOKS_QUESTMASTER "eressea@zerofoks.net"
|
#define ZEROFOKS_QUESTMASTER "eressea@zerofoks.net"
|
||||||
|
|
||||||
#define CHECK_OVERLOAD_ON_ENTER
|
|
||||||
#undef REGIONOWNERS
|
|
||||||
|
|
||||||
#undef DUNGEON_MODULE
|
#undef DUNGEON_MODULE
|
||||||
#define MUSEUM_MODULE
|
#define MUSEUM_MODULE
|
||||||
#define ARENA_MODULE
|
#define ARENA_MODULE
|
||||||
#define WORMHOLE_MODULE
|
#define WORMHOLE_MODULE
|
||||||
|
|
||||||
#define MAILITPATH "/usr/sbin:$HOME/eressea/bin:/bin:/usr/bin:/usr/local/bin"
|
|
||||||
|
|
||||||
|
|
|
@ -35,5 +35,3 @@
|
||||||
#define PEASANTS_DO_NOT_STARVE 0
|
#define PEASANTS_DO_NOT_STARVE 0
|
||||||
#define NEW_MIGRATION 1
|
#define NEW_MIGRATION 1
|
||||||
#define ASTRAL_HUNGER
|
#define ASTRAL_HUNGER
|
||||||
|
|
||||||
#define MAILITPATH "/usr/sbin:$HOME/tutorial/bin:/bin:/usr/bin:/usr/local/bin"
|
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#define COMBAT_TURNS 5
|
#define COMBAT_TURNS 5
|
||||||
#define PEASANTS_DO_NOT_STARVE 0
|
#define PEASANTS_DO_NOT_STARVE 0
|
||||||
#define NEW_MIGRATION 1
|
#define NEW_MIGRATION 1
|
||||||
#define MIGRANTS_CAN_LEARN_EXPENSIVE_SKILLS 1 /* vinyambar 3 only */
|
|
||||||
|
|
||||||
#if NEWATSROI == 1
|
#if NEWATSROI == 1
|
||||||
#define ATSBONUS 2
|
#define ATSBONUS 2
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
/* vi: set ts=2:
|
|
||||||
+-------------------+ Christian Schlittchen <corwin@amber.kn-bremen.de>
|
|
||||||
| | Enno Rehling <enno@eressea-pbem.de>
|
|
||||||
| Eressea PBEM host | Katja Zedel <katze@felidae.kn-bremen.de>
|
|
||||||
| (c) 1998 - 2003 | Henning Peters <faroul@beyond.kn-bremen.de>
|
|
||||||
| | Ingo Wilken <Ingo.Wilken@informatik.uni-oldenburg.de>
|
|
||||||
+-------------------+ Stefan Reich <reich@halbling.de>
|
|
||||||
|
|
||||||
This program may not be used, modified or distributed
|
|
||||||
without prior permission by the authors of Eressea.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Contains defines for the "classic" game (Vinyambar I) .
|
|
||||||
* Include this file from settings.h to make eressea work.
|
|
||||||
*/
|
|
||||||
#define ENTERTAINFRACTION 20
|
|
||||||
#define IMMUN_GEGEN_ANGRIFF 8
|
|
||||||
#define RESOURCE_CONVERSION 0
|
|
||||||
#define NEW_RESOURCEGROWTH 0
|
|
||||||
#define LARGE_CASTLES 0
|
|
||||||
#define GROWING_TREES 0
|
|
||||||
#define REDUCED_PEASANTGROWTH 0
|
|
||||||
#define RACE_ADJUSTMENTS 0
|
|
||||||
#define TEACHDIFFERENCE 1
|
|
||||||
#define PEASANT_ADJUSTMENT 0
|
|
||||||
#define GUARD_DISABLES_RECRUIT 0
|
|
||||||
#define GUARD_DISABLES_PRODUCTION 0
|
|
||||||
#define RESOURCE_QUANTITY 1.0
|
|
||||||
#define RECRUITFRACTION 20
|
|
||||||
#define CATAPULT_AMMUNITION 0
|
|
||||||
#define CHANGED_CROSSBOWS 0
|
|
||||||
#define NEWATSROI 0
|
|
||||||
#define COMBAT_TURNS 10
|
|
||||||
#define PEASANTS_DO_NOT_STARVE 0
|
|
||||||
#define NEW_MIGRATION 1
|
|
||||||
|
|
||||||
#define MAILITPATH "/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"
|
|
|
@ -1,38 +0,0 @@
|
||||||
/* vi: set ts=2:
|
|
||||||
+-------------------+ Christian Schlittchen <corwin@amber.kn-bremen.de>
|
|
||||||
| | Enno Rehling <enno@eressea-pbem.de>
|
|
||||||
| Eressea PBEM host | Katja Zedel <katze@felidae.kn-bremen.de>
|
|
||||||
| (c) 1998 - 2003 | Henning Peters <faroul@beyond.kn-bremen.de>
|
|
||||||
| | Ingo Wilken <Ingo.Wilken@informatik.uni-oldenburg.de>
|
|
||||||
+-------------------+ Stefan Reich <reich@halbling.de>
|
|
||||||
|
|
||||||
This program may not be used, modified or distributed
|
|
||||||
without prior permission by the authors of Eressea.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Contains defines for the "modern" vinyambar game.
|
|
||||||
* Include this file from settings.h to make eressea work.
|
|
||||||
*/
|
|
||||||
#define ENTERTAINFRACTION 20
|
|
||||||
#define IMMUN_GEGEN_ANGRIFF 8
|
|
||||||
#define RESOURCE_CONVERSION 1
|
|
||||||
#define NEW_RESOURCEGROWTH 1
|
|
||||||
#define LARGE_CASTLES 1
|
|
||||||
#define GROWING_TREES 1
|
|
||||||
#define REDUCED_PEASANTGROWTH 0
|
|
||||||
#define RACE_ADJUSTMENTS 0
|
|
||||||
#define TEACHDIFFERENCE 1
|
|
||||||
#define PEASANT_ADJUSTMENT 0
|
|
||||||
#define GUARD_DISABLES_RECRUIT 0
|
|
||||||
#define GUARD_DISABLES_PRODUCTION 0
|
|
||||||
#define RESOURCE_QUANTITY 1.0
|
|
||||||
#define RECRUITFRACTION 20
|
|
||||||
#define CATAPULT_AMMUNITION 0
|
|
||||||
#define CHANGED_CROSSBOWS 0
|
|
||||||
#define NEWATSROI 0
|
|
||||||
#define COMBAT_TURNS 10
|
|
||||||
#define PEASANTS_DO_NOT_STARVE 0
|
|
||||||
#define NEW_MIGRATION 1
|
|
||||||
|
|
||||||
#define MAILITPATH "/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"
|
|
|
@ -34,7 +34,6 @@
|
||||||
#define COMBAT_TURNS 5
|
#define COMBAT_TURNS 5
|
||||||
#define PEASANTS_DO_NOT_STARVE 0
|
#define PEASANTS_DO_NOT_STARVE 0
|
||||||
#define NEW_MIGRATION 1
|
#define NEW_MIGRATION 1
|
||||||
#define MIGRANTS_CAN_LEARN_EXPENSIVE_SKILLS 1 /* vinyambar 3 only */
|
|
||||||
#define ASTRAL_HUNGER
|
#define ASTRAL_HUNGER
|
||||||
|
|
||||||
#if NEWATSROI == 1
|
#if NEWATSROI == 1
|
||||||
|
@ -52,5 +51,3 @@
|
||||||
#define WDW_PHOENIX
|
#define WDW_PHOENIX
|
||||||
#define WDW_PYRAMIDSPELL
|
#define WDW_PYRAMIDSPELL
|
||||||
#define NEW_STARTEQUIPMENT
|
#define NEW_STARTEQUIPMENT
|
||||||
|
|
||||||
#define MAILITPATH "/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"
|
|
||||||
|
|
|
@ -26,7 +26,9 @@
|
||||||
<param name="GiveRestriction" value="3"/>
|
<param name="GiveRestriction" value="3"/>
|
||||||
<param name="hunger.long" value="1"/>
|
<param name="hunger.long" value="1"/>
|
||||||
<param name="database.gameid" value="0"/>
|
<param name="database.gameid" value="0"/>
|
||||||
|
<param name="rules.check_overload" value="1"/>
|
||||||
<param name="firstturn" value="184"/>
|
<param name="firstturn" value="184"/>
|
||||||
|
<param name="report.mailit" value="/usr/sbin:$HOME/eressea/bin:/bin:/usr/bin:/usr/local/bin"/>
|
||||||
</game>
|
</game>
|
||||||
<xi:include href="eressea/de/strings.xml"/>
|
<xi:include href="eressea/de/strings.xml"/>
|
||||||
<xi:include href="eressea/en/strings.xml"/>
|
<xi:include href="eressea/en/strings.xml"/>
|
||||||
|
|
|
@ -5762,6 +5762,15 @@
|
||||||
<text locale="de">"In $region($region) findet ein Kampf statt."</text>
|
<text locale="de">"In $region($region) findet ein Kampf statt."</text>
|
||||||
<text locale="en">"There is a battle in $region($region)."</text>
|
<text locale="en">"There is a battle in $region($region)."</text>
|
||||||
</message>
|
</message>
|
||||||
|
<message name="battle::combatspell" section="battle">
|
||||||
|
<type>
|
||||||
|
<arg name="mage" type="unit"/>
|
||||||
|
<arg name="spell" type="spell"/>
|
||||||
|
<arg name="dead" type="int"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($mage) zaubert $spell($spell): $int($dead) $if($eq($dead,1),"Krieger wurde", "Krieger wurden") getötet."</text>
|
||||||
|
<text locale="en">"$unit($mage) casts $spell($spell): $int($dead) $if($eq($dead,1),"enemy was", "enemies were") killed."</text>
|
||||||
|
</message>
|
||||||
<message name="battle::army_report" section="battle">
|
<message name="battle::army_report" section="battle">
|
||||||
<type>
|
<type>
|
||||||
<arg name="index" type="int"/>
|
<arg name="index" type="int"/>
|
||||||
|
@ -5773,5 +5782,34 @@
|
||||||
<text locale="de">"Heer $int($index)($abbrev): $int($dead) Tote, $int($flown) Geflohene, $int($survived) Überlebende."</text>
|
<text locale="de">"Heer $int($index)($abbrev): $int($dead) Tote, $int($flown) Geflohene, $int($survived) Überlebende."</text>
|
||||||
<text locale="en">"Army $int($index)($abbrev): $int($dead) dead, $int($flown) flown, $int($survived) survivors."</text>
|
<text locale="en">"Army $int($index)($abbrev): $int($dead) dead, $int($flown) flown, $int($survived) survivors."</text>
|
||||||
</message>
|
</message>
|
||||||
|
<message name="spellfail::nolevel" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="mage" type="unit"/>
|
||||||
|
<arg name="region" type="region"/>
|
||||||
|
<arg name="command" type="order"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($mage) in $region($region): '$order($command)' - Dieser Zauber kann nicht mit Stufenangabe gezaubert werden."</text>
|
||||||
|
<text locale="en">"$unit($mage) in $region($region): '$order($command)' - This spell cannot be cast with variable level."</text>
|
||||||
|
</message>
|
||||||
|
<message name="spellfail::nocontact" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="mage" type="unit"/>
|
||||||
|
<arg name="region" type="region"/>
|
||||||
|
<arg name="command" type="order"/>
|
||||||
|
<arg name="target" type="string"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($mage) in $region($region): '$order($command)' - Zur Region $target kann kein Kontakt hergestellt werden."</text>
|
||||||
|
<text locale="en">"$unit($mage) in $region($region): '$order($command)' - The region $target could not be contacted."</text>
|
||||||
|
</message>
|
||||||
|
<message name="spellfail::contact" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="unit" type="unit"/>
|
||||||
|
<arg name="region" type="region"/>
|
||||||
|
<arg name="command" type="order"/>
|
||||||
|
<arg name="target" type="unit"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Die Einheit $unit($target) hat keinen Kontakt mit uns aufgenommen."</text>
|
||||||
|
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - The unit $unit($target) did not contact us."</text>
|
||||||
|
</message>
|
||||||
</messages>
|
</messages>
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
<param name="database.gameid" value="1"></param>
|
<param name="database.gameid" value="1"></param>
|
||||||
<param name="hunger.long" value="1"></param>
|
<param name="hunger.long" value="1"></param>
|
||||||
<param name="MaxAge" value="8"></param>
|
<param name="MaxAge" value="8"></param>
|
||||||
|
<param name="report.mailit" value="/usr/sbin:$HOME/eressea/bin:/bin:/usr/bin:/usr/local/bin"/>
|
||||||
</game>
|
</game>
|
||||||
<xi:include file="tutorial/de/strings.xml"/>
|
<xi:include file="tutorial/de/strings.xml"/>
|
||||||
<xi:include file="tutorial/en/strings.xml"/>
|
<xi:include file="tutorial/en/strings.xml"/>
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
<param name="GiveRestriction" value="0"></param>
|
<param name="GiveRestriction" value="0"></param>
|
||||||
<param name="database.gameid" value="3"></param>
|
<param name="database.gameid" value="3"></param>
|
||||||
<param name="hunger.long" value="0"></param>
|
<param name="hunger.long" value="0"></param>
|
||||||
|
<param name="study.expensivemigrants" value="1"/>
|
||||||
|
<param name="report.mailit" value="/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"/>
|
||||||
</game>
|
</game>
|
||||||
<include file="vinyambar/de/strings.xml"></include>
|
<include file="vinyambar/de/strings.xml"></include>
|
||||||
<include file="vinyambar/stronghold.xml"></include>
|
<include file="vinyambar/stronghold.xml"></include>
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
<param name="magic.regeneration" value="0.5"/>
|
<param name="magic.regeneration" value="0.5"/>
|
||||||
<param name="magic.power" value="0.5"/>
|
<param name="magic.power" value="0.5"/>
|
||||||
<param name="resource.factor" value="0.25"/>
|
<param name="resource.factor" value="0.25"/>
|
||||||
|
<param name="study.expensivemigrants" value="1"/>
|
||||||
|
<param name="report.mailit" value="/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"/>
|
||||||
</game>
|
</game>
|
||||||
|
|
||||||
<xi:include href="vinyambar/wdw-strings.xml"/>
|
<xi:include href="vinyambar/wdw-strings.xml"/>
|
||||||
|
|
Loading…
Reference in New Issue