forked from github/server
regions curse
This commit is contained in:
parent
4996d79734
commit
b97355f2a4
|
@ -696,79 +696,19 @@ write_skill(FILE * F, const curse * c)
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
/* cursedata */
|
/* cursedata */
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
/* typedef struct cursedata {
|
/*
|
||||||
* int id; (altlast für kompatibiliät)
|
* typedef struct curse_type {
|
||||||
* char *name;
|
* const char *cname; (Name der Zauberwirkung, Identifizierung des curse)
|
||||||
* int typ;
|
* int typ;
|
||||||
* spread_t spread;
|
* spread_t spread;
|
||||||
* int mergeflags;
|
* unsigned int mergeflags;
|
||||||
* char *info;
|
* const char *info_str; Wirkung des curse, wird bei einer gelungenen Zauberanalyse angezeigt
|
||||||
* void (*display)(void*,typ_t, curse*);
|
* int (*curseinfo)(const struct locale*, const void*, int, curse*, int);
|
||||||
*} cursedata;
|
* void (*change_vigour)(curse*, int);
|
||||||
|
* int (*read)(FILE * F, curse * c);
|
||||||
|
* int (*write)(FILE * F, const curse * c);
|
||||||
|
* } curse_type;
|
||||||
*/
|
*/
|
||||||
/* die Beschreibung wird bei einer gelungenen Zauberanalyse ausgegeben
|
|
||||||
* und hat die Form:
|
|
||||||
* Magier (xx) gelang es folgendes herauszufinden:
|
|
||||||
* Unit (xyz) steht unter dem Einfluss des Zaubers %name,/ Auf
|
|
||||||
* Region/Schiff/Burg (xy) liegt der Zauber %name,
|
|
||||||
* der wohl noch etwa %s Wochen andauert.
|
|
||||||
* %info, "Dieser Zauber blafalsel blub"
|
|
||||||
*/
|
|
||||||
|
|
||||||
static struct curse_type ct_fogtrap = { "fogtrap",
|
|
||||||
CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR),
|
|
||||||
"",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_antimagiczone = { "antimagiczone",
|
|
||||||
CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR),
|
|
||||||
"Dieser Zauber scheint magische Energien irgendwie abzuleiten und "
|
|
||||||
"so alle in der Region gezauberten Sprüche in ihrer Wirkung zu "
|
|
||||||
"schwächen oder ganz zu verhindern.",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
static struct curse_type ct_farvision = { "farvision",
|
|
||||||
CURSETYP_NORM, 0, (NO_MERGE),
|
|
||||||
"",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
static struct curse_type ct_gbdream = { "gbdream",
|
|
||||||
CURSETYP_NORM, 0, (NO_MERGE),
|
|
||||||
"",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_auraboost = { "auraboost",
|
|
||||||
CURSETYP_NORM, CURSE_SPREADMODULO, (NO_MERGE),
|
|
||||||
"Dieser Zauber greift irgendwie in die Verbindung zwischen Magier "
|
|
||||||
"und Magischer Essenz ein. Mit positiver Ausrichtung kann er wohl "
|
|
||||||
"wie ein Fokus für Aura wirken, jedoch genauso für das Gegenteil "
|
|
||||||
"benutzt werden."
|
|
||||||
};
|
|
||||||
static struct curse_type ct_maelstrom = { "maelstrom",
|
|
||||||
CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR),
|
|
||||||
"Dieser Zauber verursacht einen gigantischen magischen Strudel. Der "
|
|
||||||
"Mahlstrom wird alle Schiffe, die in seinen Sog geraten, schwer "
|
|
||||||
"beschädigen.",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
static struct curse_type ct_blessedharvest = { "blessedharvest",
|
|
||||||
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ),
|
|
||||||
"Dieser Fruchtbarkeitszauber erhöht die Erträge der Felder.",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_drought = { "drought",
|
|
||||||
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ),
|
|
||||||
"Dieser Zauber strahlt starke negative Energien aus. Warscheinlich "
|
|
||||||
"ist er die Ursache der Dürre." ,
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_badlearn = { "badlearn",
|
|
||||||
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ),
|
|
||||||
"Dieser Zauber scheint die Ursache für die Schlaflosigkeit und "
|
|
||||||
"Mattigkeit zu sein, unter der die meisten Leute hier leiden und "
|
|
||||||
"die dazu führt, das Lernen weniger Erfolg bringt. ",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_stormwind = { "stormwind",
|
static struct curse_type ct_stormwind = { "stormwind",
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
"",
|
"",
|
||||||
|
@ -786,15 +726,11 @@ static struct curse_type ct_nodrift = { "nodrift",
|
||||||
"läßt es leichter durch die Wellen gleiten und der der Luft verbundene "
|
"läßt es leichter durch die Wellen gleiten und der der Luft verbundene "
|
||||||
"Teil scheint es vor widrigen Winden zu schützen."
|
"Teil scheint es vor widrigen Winden zu schützen."
|
||||||
};
|
};
|
||||||
static struct curse_type ct_depression = { "depression",
|
static struct curse_type ct_shipdisorientation = { "shipdisorientation",
|
||||||
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ),
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
"Wie schon zu vermuten war, sind der ewig graue Himmel und die "
|
"Dieses Schiff hat sich verfahren."
|
||||||
"depressive Stimmung in der Region nicht natürlich. Dieser Fluch "
|
|
||||||
"hat sich wie ein bleiernes Tuch auf die Gemüter der Bevölkerung "
|
|
||||||
"gelegt und eh er nicht gebrochen oder verklungen ist, wird keiner "
|
|
||||||
"sich an Gaukelleien erfreuen können.",
|
|
||||||
cinfo_region
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct curse_type ct_magicwalls = { "magicwalls",
|
static struct curse_type ct_magicwalls = { "magicwalls",
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
"Die Macht dieses Zaubers ist fast greifbar und tief in die Mauern "
|
"Die Macht dieses Zaubers ist fast greifbar und tief in die Mauern "
|
||||||
|
@ -808,63 +744,33 @@ static struct curse_type ct_strongwall = { "strongwall",
|
||||||
"",
|
"",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
static struct curse_type ct_astralblock = { "astralblock",
|
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
|
||||||
"",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_generous = { "generous",
|
|
||||||
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR | M_MAXEFFECT ),
|
|
||||||
"Dieser Zauber beeinflusst die allgemeine Stimmung in der Region positiv. "
|
|
||||||
"Die gute Laune macht die Leute freigiebiger.",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_peacezone = { "peacezone",
|
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
|
||||||
"Dieser machtvoller Beeinflussungszauber erstickt jeden Streit schon im "
|
|
||||||
"Keim.",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_disorientationzone = { "disorientationzone",
|
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
|
||||||
"",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_magicstreet = { "magicstreet",
|
|
||||||
CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR),
|
|
||||||
"Es scheint sich um einen elementarmagischen Zauber zu handeln, der alle "
|
|
||||||
"Pfade und Wege so gut festigt, als wären sie gepflastert. Wie auf einer "
|
|
||||||
"Straße kommt man so viel besser und schneller vorwärts."
|
|
||||||
};
|
|
||||||
static struct curse_type ct_magicrunes = { "magicrunes",
|
static struct curse_type ct_magicrunes = { "magicrunes",
|
||||||
CURSETYP_NORM, 0, M_SUMEFFECT,
|
CURSETYP_NORM, 0, M_SUMEFFECT,
|
||||||
"Dieses Zauber verstärkt die natürliche Widerstandskraft gegen eine "
|
"Dieses Zauber verstärkt die natürliche Widerstandskraft gegen eine "
|
||||||
"Verzauberung."
|
"Verzauberung."
|
||||||
};
|
};
|
||||||
static struct curse_type ct_badmagicresistancezone = { "badmagicresistancezone",
|
static struct curse_type ct_nocostbuilding = { "nocostbuilding",
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
"Dieses Lied, das irgendwie in die magische Essenz der Region gewoben "
|
"Die Macht dieses Zaubers ist fast greifbar und tief in die Mauern "
|
||||||
"ist, schwächt die natürliche Widerstandskraft gegen eine "
|
"gebunden. Unbeeindruck vom Zahn der Zeit wird dieses Gebäude wohl "
|
||||||
"Verzauberung. Es scheint jedoch nur auf bestimmte Einheiten zu wirken.",
|
"auf Ewig stehen.",
|
||||||
NULL
|
cinfo_region
|
||||||
};
|
};
|
||||||
static struct curse_type ct_goodmagicresistancezone = { "goodmagicresistancezone",
|
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
static struct curse_type ct_auraboost = { "auraboost",
|
||||||
"Dieser Lied, das irgendwie in die magische Essenz der Region gewoben "
|
CURSETYP_NORM, CURSE_SPREADMODULO, (NO_MERGE),
|
||||||
"ist, verstärkt die natürliche Widerstandskraft gegen eine "
|
"Dieser Zauber greift irgendwie in die Verbindung zwischen Magier "
|
||||||
"Verzauberung. Es scheint jedoch nur auf bestimmte Einheiten zu wirken.",
|
"und Magischer Essenz ein. Mit positiver Ausrichtung kann er wohl "
|
||||||
NULL
|
"wie ein Fokus für Aura wirken, jedoch genauso für das Gegenteil "
|
||||||
|
"benutzt werden."
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct curse_type ct_slavery = { "slavery",
|
static struct curse_type ct_slavery = { "slavery",
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
"Dieser mächtige Bann scheint die Einheit ihres freien Willens "
|
"Dieser mächtige Bann scheint die Einheit ihres freien Willens "
|
||||||
"zu berauben. Solange der Zauber wirkt, wird sie nur den Befehlen "
|
"zu berauben. Solange der Zauber wirkt, wird sie nur den Befehlen "
|
||||||
"ihres neuen Herrn gehorchen."
|
"ihres neuen Herrn gehorchen."
|
||||||
};
|
};
|
||||||
static struct curse_type ct_shipdisorientation = { "shipdisorientation",
|
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
|
||||||
"Dieses Schiff hat sich verfahren."
|
|
||||||
};
|
|
||||||
static struct curse_type ct_calmmonster = { "calmmonster",
|
static struct curse_type ct_calmmonster = { "calmmonster",
|
||||||
CURSETYP_NORM, CURSE_SPREADNEVER, NO_MERGE,
|
CURSETYP_NORM, CURSE_SPREADNEVER, NO_MERGE,
|
||||||
"Dieser Beeinflussungszauber scheint die Einheit einem ganz "
|
"Dieser Beeinflussungszauber scheint die Einheit einem ganz "
|
||||||
|
@ -879,31 +785,6 @@ static struct curse_type ct_fumble = { "fumble",
|
||||||
CURSETYP_NORM, CURSE_SPREADNEVER, NO_MERGE,
|
CURSETYP_NORM, CURSE_SPREADNEVER, NO_MERGE,
|
||||||
"Eine Wolke negativer Energie umgibt die Einheit."
|
"Eine Wolke negativer Energie umgibt die Einheit."
|
||||||
};
|
};
|
||||||
static struct curse_type ct_riotzone = { "riotzone",
|
|
||||||
CURSETYP_NORM, 0, (M_DURATION),
|
|
||||||
"Eine Wolke negativer Energie liegt über der Region.",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_nocostbuilding = { "nocostbuilding",
|
|
||||||
CURSETYP_NORM, 0, NO_MERGE,
|
|
||||||
"Die Macht dieses Zaubers ist fast greifbar und tief in die Mauern "
|
|
||||||
"gebunden. Unbeeindruck vom Zahn der Zeit wird dieses Gebäude wohl "
|
|
||||||
"auf Ewig stehen.",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_holyground = { "holyground",
|
|
||||||
CURSETYP_NORM, 0, (M_VIGOUR_ADD),
|
|
||||||
"Verschiedene Naturgeistern sind im Boden der Region gebunden und "
|
|
||||||
"beschützen diese vor dem der dunklen Magie des lebenden Todes.",
|
|
||||||
cinfo_region
|
|
||||||
};
|
|
||||||
static struct curse_type ct_godcursezone = { "godcursezone",
|
|
||||||
CURSETYP_NORM, 0, (NO_MERGE),
|
|
||||||
"Diese Region wurde von den Göttern verflucht. Stinkende Nebel ziehen "
|
|
||||||
"über die tote Erde, furchbare Kreaturen ziehen über das Land. Die Brunnen "
|
|
||||||
"sind vergiftet, und die wenigen essbaren Früchte sind von einem rosa Pilz "
|
|
||||||
"überzogen. Niemand kann hier lange überleben."
|
|
||||||
};
|
|
||||||
static struct curse_type ct_speed = { "speed",
|
static struct curse_type ct_speed = { "speed",
|
||||||
CURSETYP_UNIT, CURSE_SPREADNEVER, M_MEN,
|
CURSETYP_UNIT, CURSE_SPREADNEVER, M_MEN,
|
||||||
"Diese Einheit bewegt sich doppelt so schnell."
|
"Diese Einheit bewegt sich doppelt so schnell."
|
||||||
|
@ -962,38 +843,19 @@ resolve_curse(void * id)
|
||||||
void
|
void
|
||||||
register_curses(void)
|
register_curses(void)
|
||||||
{
|
{
|
||||||
ct_register(&ct_fogtrap);
|
|
||||||
ct_register(&ct_antimagiczone);
|
|
||||||
ct_register(&ct_farvision);
|
|
||||||
ct_register(&ct_gbdream);
|
|
||||||
ct_register(&ct_auraboost);
|
ct_register(&ct_auraboost);
|
||||||
ct_register(&ct_maelstrom);
|
|
||||||
ct_register(&ct_blessedharvest);
|
|
||||||
ct_register(&ct_drought);
|
|
||||||
ct_register(&ct_badlearn);
|
|
||||||
ct_register(&ct_stormwind);
|
ct_register(&ct_stormwind);
|
||||||
ct_register(&ct_flyingship);
|
ct_register(&ct_flyingship);
|
||||||
ct_register(&ct_nodrift);
|
ct_register(&ct_nodrift);
|
||||||
ct_register(&ct_depression);
|
|
||||||
ct_register(&ct_magicwalls);
|
ct_register(&ct_magicwalls);
|
||||||
ct_register(&ct_strongwall);
|
ct_register(&ct_strongwall);
|
||||||
ct_register(&ct_astralblock);
|
|
||||||
ct_register(&ct_generous);
|
|
||||||
ct_register(&ct_peacezone);
|
|
||||||
ct_register(&ct_disorientationzone);
|
|
||||||
ct_register(&ct_magicstreet);
|
|
||||||
ct_register(&ct_magicrunes);
|
ct_register(&ct_magicrunes);
|
||||||
ct_register(&ct_badmagicresistancezone);
|
|
||||||
ct_register(&ct_goodmagicresistancezone);
|
|
||||||
ct_register(&ct_slavery);
|
ct_register(&ct_slavery);
|
||||||
ct_register(&ct_shipdisorientation);
|
ct_register(&ct_shipdisorientation);
|
||||||
ct_register(&ct_calmmonster);
|
ct_register(&ct_calmmonster);
|
||||||
ct_register(&ct_oldrace);
|
ct_register(&ct_oldrace);
|
||||||
ct_register(&ct_fumble);
|
ct_register(&ct_fumble);
|
||||||
ct_register(&ct_riotzone);
|
|
||||||
ct_register(&ct_nocostbuilding);
|
ct_register(&ct_nocostbuilding);
|
||||||
ct_register(&ct_holyground);
|
|
||||||
ct_register(&ct_godcursezone);
|
|
||||||
ct_register(&ct_speed);
|
ct_register(&ct_speed);
|
||||||
ct_register(&ct_orcish);
|
ct_register(&ct_orcish);
|
||||||
ct_register(&ct_magicboost);
|
ct_register(&ct_magicboost);
|
||||||
|
@ -1004,6 +866,7 @@ register_curses(void)
|
||||||
ct_register(&ct_itemcloak);
|
ct_register(&ct_itemcloak);
|
||||||
ct_register(&ct_sparkle);
|
ct_register(&ct_sparkle);
|
||||||
ct_register(&ct_skillmod);
|
ct_register(&ct_skillmod);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1066,3 +929,4 @@ oldcursename(int id)
|
||||||
{
|
{
|
||||||
return oldnames[id];
|
return oldnames[id];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------- */
|
||||||
|
|
||||||
int
|
int
|
||||||
cinfo_region(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self)
|
cinfo_region(const struct locale * lang, const void * obj, typ_t typ, struct curse *c, int self)
|
||||||
{
|
{
|
||||||
|
@ -48,8 +50,11 @@ cinfo_region(const struct locale * lang, const void * obj, typ_t typ, struct cur
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* CurseInfo mit Spezialabfragen */
|
/*
|
||||||
|
* CurseInfo mit Spezialabfragen
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* godcursezone */
|
||||||
static int
|
static int
|
||||||
cinfo_cursed_by_the_gods(const locale * lang,void * obj, typ_t typ, curse *c, int self)
|
cinfo_cursed_by_the_gods(const locale * lang,void * obj, typ_t typ, curse *c, int self)
|
||||||
{
|
{
|
||||||
|
@ -110,9 +115,207 @@ cinfo_magicstreet(const locale * lang,void * obj, typ_t typ, curse *c, int self)
|
||||||
} else {
|
} else {
|
||||||
msg = msg_message("curseinfo::magicstreetwarn", "id", c->no);
|
msg = msg_message("curseinfo::magicstreetwarn", "id", c->no);
|
||||||
}
|
}
|
||||||
|
nr_render(msg, lang, buf, sizeof(buf), NULL);
|
||||||
|
msg_release(msg);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
static int
|
||||||
|
cinfo_antimagiczone(const locale * lang,void * obj, typ_t typ, curse *c, int self)
|
||||||
|
{
|
||||||
|
message * msg;
|
||||||
|
|
||||||
|
unused(typ);
|
||||||
|
unused(self);
|
||||||
|
unused(obj);
|
||||||
|
|
||||||
|
assert(typ == TYP_REGION);
|
||||||
|
|
||||||
|
/* Tybied Magier spüren eine Antimagiezone */
|
||||||
|
if (self != 0){
|
||||||
|
msg = msg_message("curseinfo::antimagiczone", "id", c->no);
|
||||||
|
nr_render(msg, lang, buf, sizeof(buf), NULL);
|
||||||
|
msg_release(msg);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
static int
|
||||||
|
cinfo_farvision(const locale * lang,void * obj, typ_t typ, curse *c, int self)
|
||||||
|
{
|
||||||
|
message * msg;
|
||||||
|
|
||||||
|
unused(typ);
|
||||||
|
unused(self);
|
||||||
|
unused(obj);
|
||||||
|
|
||||||
|
assert(typ == TYP_REGION);
|
||||||
|
|
||||||
|
/* Magier spüren eine farvision */
|
||||||
|
if (self != 0){
|
||||||
|
msg = msg_message("curseinfo::farvision", "id", c->no);
|
||||||
|
nr_render(msg, lang, buf, sizeof(buf), NULL);
|
||||||
|
msg_release(msg);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
static struct curse_type ct_fogtrap = {
|
||||||
|
"fogtrap",
|
||||||
|
CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR),
|
||||||
|
"",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct curse_type ct_antimagiczone = {
|
||||||
|
"antimagiczone",
|
||||||
|
CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR),
|
||||||
|
"Dieser Zauber scheint magische Energien irgendwie abzuleiten und "
|
||||||
|
"so alle in der Region gezauberten Sprüche in ihrer Wirkung zu "
|
||||||
|
"schwächen oder ganz zu verhindern.",
|
||||||
|
cinfo_antimagiczone
|
||||||
|
};
|
||||||
|
static struct curse_type ct_farvision = {
|
||||||
|
"farvision",
|
||||||
|
CURSETYP_NORM, 0, (NO_MERGE),
|
||||||
|
"",
|
||||||
|
cinfo_farvision
|
||||||
|
};
|
||||||
|
static struct curse_type ct_gbdream = {
|
||||||
|
"gbdream",
|
||||||
|
CURSETYP_NORM, 0, (NO_MERGE),
|
||||||
|
"",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
static struct curse_type ct_maelstrom = {
|
||||||
|
"maelstrom",
|
||||||
|
CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR),
|
||||||
|
"Dieser Zauber verursacht einen gigantischen magischen Strudel. Der "
|
||||||
|
"Mahlstrom wird alle Schiffe, die in seinen Sog geraten, schwer "
|
||||||
|
"beschädigen.",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static struct curse_type ct_blessedharvest = {
|
||||||
|
"blessedharvest",
|
||||||
|
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ),
|
||||||
|
"Dieser Fruchtbarkeitszauber erhöht die Erträge der Felder.",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
static struct curse_type ct_drought = {
|
||||||
|
"drought",
|
||||||
|
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ),
|
||||||
|
"Dieser Zauber strahlt starke negative Energien aus. Warscheinlich "
|
||||||
|
"ist er die Ursache der Dürre." ,
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
static struct curse_type ct_badlearn = {
|
||||||
|
"badlearn",
|
||||||
|
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ),
|
||||||
|
"Dieser Zauber scheint die Ursache für die Schlaflosigkeit und "
|
||||||
|
"Mattigkeit zu sein, unter der die meisten Leute hier leiden und "
|
||||||
|
"die dazu führt, das Lernen weniger Erfolg bringt. ",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
/* Trübsal-Zauber */
|
||||||
|
static struct curse_type ct_depression = {
|
||||||
|
"depression",
|
||||||
|
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR ),
|
||||||
|
"Wie schon zu vermuten war, sind der ewig graue Himmel und die "
|
||||||
|
"depressive Stimmung in der Region nicht natürlich. Dieser Fluch "
|
||||||
|
"hat sich wie ein bleiernes Tuch auf die Gemüter der Bevölkerung "
|
||||||
|
"gelegt und eh er nicht gebrochen oder verklungen ist, wird keiner "
|
||||||
|
"sich an Gaukelleien erfreuen können.",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Astralblock, auf Astralregion */
|
||||||
|
static struct curse_type ct_astralblock = {
|
||||||
|
"astralblock",
|
||||||
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
|
"",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
/* Unterhaltungsanteil vermehren */
|
||||||
|
static struct curse_type ct_generous = {
|
||||||
|
"generous",
|
||||||
|
CURSETYP_NORM, 0, ( M_DURATION | M_VIGOUR | M_MAXEFFECT ),
|
||||||
|
"Dieser Zauber beeinflusst die allgemeine Stimmung in der Region positiv. "
|
||||||
|
"Die gute Laune macht die Leute freigiebiger.",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
/* verhindert Attackiere regional */
|
||||||
|
static struct curse_type ct_peacezone = {
|
||||||
|
"peacezone",
|
||||||
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
|
"Dieser machtvoller Beeinflussungszauber erstickt jeden Streit schon im "
|
||||||
|
"Keim.",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
/* erschwert geordnete Bewegungen */
|
||||||
|
static struct curse_type ct_disorientationzone = {
|
||||||
|
"disorientationzone",
|
||||||
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
|
"",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
/* erzeugt Straßennetz */
|
||||||
|
static struct curse_type ct_magicstreet = {
|
||||||
|
"magicstreet",
|
||||||
|
CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR),
|
||||||
|
"Es scheint sich um einen elementarmagischen Zauber zu handeln, der alle "
|
||||||
|
"Pfade und Wege so gut festigt, als wären sie gepflastert. Wie auf einer "
|
||||||
|
"Straße kommt man so viel besser und schneller vorwärts.",
|
||||||
|
cinfo_magicstreet
|
||||||
|
};
|
||||||
|
/* erniedigt Magieresistenz von nicht-aliierten Einheiten, wirkt nur 1x
|
||||||
|
* pro Einheit */
|
||||||
|
static struct curse_type ct_badmagicresistancezone = {
|
||||||
|
"badmagicresistancezone",
|
||||||
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
|
"Dieses Lied, das irgendwie in die magische Essenz der Region gewoben "
|
||||||
|
"ist, schwächt die natürliche Widerstandskraft gegen eine "
|
||||||
|
"Verzauberung. Es scheint jedoch nur auf bestimmte Einheiten zu wirken.",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
/* erhöht Magieresistenz von aliierten Einheiten, wirkt nur 1x pro
|
||||||
|
* Einheit */
|
||||||
|
static struct curse_type ct_goodmagicresistancezone = {
|
||||||
|
"goodmagicresistancezone",
|
||||||
|
CURSETYP_NORM, 0, NO_MERGE,
|
||||||
|
"Dieser Lied, das irgendwie in die magische Essenz der Region gewoben "
|
||||||
|
"ist, verstärkt die natürliche Widerstandskraft gegen eine "
|
||||||
|
"Verzauberung. Es scheint jedoch nur auf bestimmte Einheiten zu wirken.",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
static struct curse_type ct_riotzone = {
|
||||||
|
"riotzone",
|
||||||
|
CURSETYP_NORM, 0, (M_DURATION),
|
||||||
|
"Eine Wolke negativer Energie liegt über der Region.",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
static struct curse_type ct_holyground = {
|
||||||
|
"holyground",
|
||||||
|
CURSETYP_NORM, 0, (M_VIGOUR_ADD),
|
||||||
|
"Verschiedene Naturgeistern sind im Boden der Region gebunden und "
|
||||||
|
"beschützen diese vor dem der dunklen Magie des lebenden Todes.",
|
||||||
|
cinfo_region
|
||||||
|
};
|
||||||
|
static struct curse_type ct_godcursezone = {
|
||||||
|
"godcursezone",
|
||||||
|
CURSETYP_NORM, 0, (NO_MERGE),
|
||||||
|
"Diese Region wurde von den Göttern verflucht. Stinkende Nebel ziehen "
|
||||||
|
"über die tote Erde, furchbare Kreaturen ziehen über das Land. Die Brunnen "
|
||||||
|
"sind vergiftet, und die wenigen essbaren Früchte sind von einem rosa Pilz "
|
||||||
|
"überzogen. Niemand kann hier lange überleben.",
|
||||||
|
cinfo_cursed_by_the_gods,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -121,5 +324,26 @@ register_regioncurse(void)
|
||||||
register_function((pf_generic)cinfo_cursed_by_the_gods, "curseinfo::cursed_by_the_gods");
|
register_function((pf_generic)cinfo_cursed_by_the_gods, "curseinfo::cursed_by_the_gods");
|
||||||
register_function((pf_generic)cinfo_dreamcurse, "curseinfo::dreamcurse");
|
register_function((pf_generic)cinfo_dreamcurse, "curseinfo::dreamcurse");
|
||||||
register_function((pf_generic)cinfo_magicstreet, "curseinfo::magicstreet");
|
register_function((pf_generic)cinfo_magicstreet, "curseinfo::magicstreet");
|
||||||
|
|
||||||
|
ct_register(&ct_fogtrap);
|
||||||
|
ct_register(&ct_antimagiczone);
|
||||||
|
ct_register(&ct_farvision);
|
||||||
|
ct_register(&ct_gbdream);
|
||||||
|
ct_register(&ct_maelstrom);
|
||||||
|
ct_register(&ct_blessedharvest);
|
||||||
|
ct_register(&ct_drought);
|
||||||
|
ct_register(&ct_badlearn);
|
||||||
|
ct_register(&ct_depression);
|
||||||
|
ct_register(&ct_astralblock);
|
||||||
|
ct_register(&ct_generous);
|
||||||
|
ct_register(&ct_peacezone);
|
||||||
|
ct_register(&ct_disorientationzone);
|
||||||
|
ct_register(&ct_magicstreet);
|
||||||
|
ct_register(&ct_badmagicresistancezone);
|
||||||
|
ct_register(&ct_goodmagicresistancezone);
|
||||||
|
ct_register(&ct_riotzone);
|
||||||
|
ct_register(&ct_godcursezone);
|
||||||
|
ct_register(&ct_holyground);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue