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:
Enno Rehling 2004-05-04 19:24:03 +00:00
parent 27cd78ab66
commit b18a812fa2
19 changed files with 449 additions and 481 deletions

View File

@ -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");

View File

@ -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);

View File

@ -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;

View File

@ -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;
} }

View File

@ -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 */

View File

@ -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);
} }
} }
} }

View File

@ -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);
@ -4421,20 +4421,17 @@ 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),

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"/>

View File

@ -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>

View File

@ -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"/>

View File

@ -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>

View File

@ -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"/>