forked from github/server
- Neuer Gwyrrd-Zauber
This commit is contained in:
parent
301109f949
commit
d44226d452
|
@ -16,7 +16,7 @@ INSTALL = @cp
|
||||||
|
|
||||||
|
|
||||||
ARFLAGS = cr
|
ARFLAGS = cr
|
||||||
CTAGSFLAGS = --langmap=c:.c.h
|
CTAGSFLAGS = --langmap=c:.c.h --c-types=-m
|
||||||
CFLAGS = -I$(ERESSEA) -Wall -Wwrite-strings -Wstrict-prototypes \
|
CFLAGS = -I$(ERESSEA) -Wall -Wwrite-strings -Wstrict-prototypes \
|
||||||
-Wpointer-arith -Werror-implicit-function-declaration \
|
-Wpointer-arith -Werror-implicit-function-declaration \
|
||||||
-Wno-char-subscripts \
|
-Wno-char-subscripts \
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: randenc.c,v 1.3 2001/01/27 19:30:07 enno Exp $
|
* $Id: randenc.c,v 1.4 2001/01/31 17:40:49 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -1303,7 +1303,11 @@ randomevents(void)
|
||||||
/* Untote können entstehen */
|
/* Untote können entstehen */
|
||||||
|
|
||||||
for (r = regions; r; r = r->next) {
|
for (r = regions; r; r = r->next) {
|
||||||
double average = (rpeasants(r)/(PEASANTGROWTH*0.01)/LIFEEXPECTANCY);
|
double average;
|
||||||
|
|
||||||
|
if(is_cursed(r->attribs, C_HOLYGROUND, 0)) continue;
|
||||||
|
|
||||||
|
average = (rpeasants(r)/(PEASANTGROWTH*0.01)/LIFEEXPECTANCY);
|
||||||
|
|
||||||
/* Chance 0.1% * chaosfactor */
|
/* Chance 0.1% * chaosfactor */
|
||||||
/* nur, wenn Gräber 50% über normal liegen */
|
/* nur, wenn Gräber 50% über normal liegen */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: spy.c,v 1.2 2001/01/26 16:19:39 enno Exp $
|
* $Id: spy.c,v 1.3 2001/01/31 17:40:49 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -410,7 +410,39 @@ sabotage(region * r, unit * u)
|
||||||
sink_ship(r, sh, buffer, 1, u);
|
sink_ship(r, sh, buffer, 1, u);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#if 0
|
||||||
|
case P_BUILDING:
|
||||||
|
if(u->building) {
|
||||||
|
/* TODO: Gebäude zerstören */
|
||||||
|
} else {
|
||||||
|
building *b = getbuilding(r);
|
||||||
|
unit *owner;
|
||||||
|
|
||||||
|
if(!b) {
|
||||||
|
cmistake(u, findorder(u, u->thisorder), 6, MSG_EVENT);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
owner = buildingowner(r, b);
|
||||||
|
|
||||||
|
if(owner == NULL || eff_skill(u, SK_STEALTH, r) > wahrnehmung(r,owner->faction) {
|
||||||
|
/* Besser Curse benutzen, einfacher */
|
||||||
|
a = a_add(b->attribs, a_new(&at_sabotaged));
|
||||||
|
a->data.i = 1+rand()%(eff_skll(u, SK_SPY, r));
|
||||||
|
} else if(owner) { /* Ertappt */
|
||||||
|
add_message(&u->faction->msgs,
|
||||||
|
new_message(u->faction, "sabot_building_fail%u:unit", u);
|
||||||
|
add_message(&r->msgs,
|
||||||
|
new_message(owner->faction, "sabot_building_detect%u:unit", u);
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
cmistake(u, findorder(u, u->thisorder), 9, MSG_EVENT);
|
cmistake(u, findorder(u, u->thisorder), 9, MSG_EVENT);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: curse.c,v 1.2 2001/01/26 16:19:39 enno Exp $
|
* $Id: curse.c,v 1.3 2001/01/31 17:40:49 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -550,6 +550,9 @@ create_curse(unit *magician, attrib **ap, curse_t id, int id2, int vigour,
|
||||||
if(cursedaten[id].mergeflags & M_VIGOUR){
|
if(cursedaten[id].mergeflags & M_VIGOUR){
|
||||||
c->vigour = max(vigour, c->vigour);
|
c->vigour = max(vigour, c->vigour);
|
||||||
}
|
}
|
||||||
|
if(cursedaten[id].mergeflags & M_VIGOUR_ADD){
|
||||||
|
c->vigour = vigour + c->vigour;
|
||||||
|
}
|
||||||
if(cursedaten[id].mergeflags & M_MEN){
|
if(cursedaten[id].mergeflags & M_MEN){
|
||||||
switch (cursedaten[id].typ) {
|
switch (cursedaten[id].typ) {
|
||||||
case CURSETYP_UNIT:
|
case CURSETYP_UNIT:
|
||||||
|
@ -717,6 +720,19 @@ cinfo_nocost(void * obj, typ_t typ, curse *c, int self)
|
||||||
curseid(c));
|
curseid(c));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
/* C_HOLYGROUND */
|
||||||
|
static int
|
||||||
|
cinfo_holyground(void * obj, typ_t typ, curse *c, int self)
|
||||||
|
{
|
||||||
|
unused(typ);
|
||||||
|
unused(obj);
|
||||||
|
unused(self);
|
||||||
|
|
||||||
|
assert(typ == TYP_REGION);
|
||||||
|
sprintf(buf, "Untote schrecken vor dieser Region zurück. (%s)",
|
||||||
|
curseid(c));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
/* C_GBDREAM, */
|
/* C_GBDREAM, */
|
||||||
static int
|
static int
|
||||||
cinfo_dreamcurse(void * obj, typ_t typ, curse *c, int self)
|
cinfo_dreamcurse(void * obj, typ_t typ, curse *c, int self)
|
||||||
|
@ -1232,7 +1248,6 @@ cinfo_riot(void * obj, typ_t typ, curse *c, int self)
|
||||||
/* cursedata */
|
/* cursedata */
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
/* typedef struct cursedata {
|
/* typedef struct cursedata {
|
||||||
* curse_t id;
|
|
||||||
* int typ;
|
* int typ;
|
||||||
* int givemenacting;
|
* int givemenacting;
|
||||||
* int mergeflags;
|
* int mergeflags;
|
||||||
|
@ -1475,11 +1490,12 @@ cursedata cursedaten[MAXCURSE] =
|
||||||
"auf Ewig stehen.",
|
"auf Ewig stehen.",
|
||||||
(cdesc_fun)cinfo_nocost
|
(cdesc_fun)cinfo_nocost
|
||||||
},
|
},
|
||||||
{ /* C_FREE_12, */
|
{ /* C_HOLYGROUND, */
|
||||||
CURSETYP_NORM, 0, (NO_MERGE),
|
CURSETYP_NORM, 0, (M_VIGOUR_ADD),
|
||||||
"",
|
"Heiliger Boden",
|
||||||
"",
|
"Verschiedene Naturgeistern sind im Boden der Region gebunden und "
|
||||||
NULL
|
"beschützen diese vor dem der dunklen Magie des lebenden Todes.",
|
||||||
|
(cdesc_fun)cinfo_holyground
|
||||||
},
|
},
|
||||||
{ /* C_FREE_13, */
|
{ /* C_FREE_13, */
|
||||||
CURSETYP_NORM, 0, (NO_MERGE),
|
CURSETYP_NORM, 0, (NO_MERGE),
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: curse.h,v 1.2 2001/01/26 16:19:39 enno Exp $
|
* $Id: curse.h,v 1.3 2001/01/31 17:40:50 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -58,7 +58,7 @@ enum {
|
||||||
C_FUMBLE,
|
C_FUMBLE,
|
||||||
C_RIOT, /*region in Aufruhr */
|
C_RIOT, /*region in Aufruhr */
|
||||||
C_NOCOST,
|
C_NOCOST,
|
||||||
C_FREE_12,
|
C_HOLYGROUND,
|
||||||
C_FREE_13,
|
C_FREE_13,
|
||||||
C_FREE_14,
|
C_FREE_14,
|
||||||
C_FREE_15,
|
C_FREE_15,
|
||||||
|
@ -126,6 +126,7 @@ enum {
|
||||||
sich */
|
sich */
|
||||||
#define M_VIGOUR 32 /* das Maximum der beiden Stärken wird die
|
#define M_VIGOUR 32 /* das Maximum der beiden Stärken wird die
|
||||||
Stärke des neuen Zaubers */
|
Stärke des neuen Zaubers */
|
||||||
|
#define M_VIGOUR_ADD 64 /* Vigour wird addiert */
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
/* Allgemeine Zauberwirkungen */
|
/* Allgemeine Zauberwirkungen */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: race.c,v 1.2 2001/01/26 16:19:40 enno Exp $
|
* $Id: race.c,v 1.3 2001/01/31 17:40:50 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -1904,7 +1904,7 @@ unit_old_max_hp(unit * u)
|
||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean is_undead(unit *u)
|
boolean is_undead(const unit *u)
|
||||||
{
|
{
|
||||||
return u->race == RC_UNDEAD || u->race == RC_SKELETON
|
return u->race == RC_UNDEAD || u->race == RC_SKELETON
|
||||||
|| u->race == RC_SKELETON_LORD || u->race == RC_ZOMBIE
|
|| u->race == RC_SKELETON_LORD || u->race == RC_ZOMBIE
|
||||||
|
|
|
@ -129,7 +129,7 @@ extern struct racedata race[];
|
||||||
void give_starting_equipment(struct region *r, struct unit *u);
|
void give_starting_equipment(struct region *r, struct unit *u);
|
||||||
void give_latestart_bonus(struct region *r, struct unit *u, int b);
|
void give_latestart_bonus(struct region *r, struct unit *u, int b);
|
||||||
int unit_old_max_hp(struct unit * u);
|
int unit_old_max_hp(struct unit * u);
|
||||||
boolean is_undead(struct unit *u);
|
boolean is_undead(const struct unit *u);
|
||||||
|
|
||||||
#define dragon(u) ((u)->race == RC_FIREDRAGON || (u)->race == RC_DRAGON || (u)->race == RC_WYRM || (u)->race == RC_BIRTHDAYDRAGON)
|
#define dragon(u) ((u)->race == RC_FIREDRAGON || (u)->race == RC_DRAGON || (u)->race == RC_WYRM || (u)->race == RC_BIRTHDAYDRAGON)
|
||||||
#define humanoid(u) (u->race==RC_UNDEAD || u->race==RC_DRACOID || !race[(u)->race].nonplayer)
|
#define humanoid(u) (u->race==RC_UNDEAD || u->race==RC_DRACOID || !race[(u)->race].nonplayer)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: region.c,v 1.3 2001/01/28 08:01:52 enno Exp $
|
* $Id: region.c,v 1.4 2001/01/31 17:40:51 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -29,6 +29,7 @@
|
||||||
#include "item.h"
|
#include "item.h"
|
||||||
#include "plane.h"
|
#include "plane.h"
|
||||||
#include "region.h"
|
#include "region.h"
|
||||||
|
#include "curse.h"
|
||||||
|
|
||||||
/* util includes */
|
/* util includes */
|
||||||
#include <resolve.h>
|
#include <resolve.h>
|
||||||
|
@ -108,6 +109,7 @@ deathcounts(region * r, int fallen) {
|
||||||
attrib * a;
|
attrib * a;
|
||||||
|
|
||||||
if (fallen==0) return;
|
if (fallen==0) return;
|
||||||
|
if (is_cursed(r->attribs, C_HOLYGROUND,0)) return;
|
||||||
|
|
||||||
a = a_find(r->attribs, &at_deathcount);
|
a = a_find(r->attribs, &at_deathcount);
|
||||||
if (!a) a = a_add(&r->attribs, a_new(&at_deathcount));
|
if (!a) a = a_add(&r->attribs, a_new(&at_deathcount));
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: spell.c,v 1.4 2001/01/31 14:32:58 corwin Exp $
|
* $Id: spell.c,v 1.5 2001/01/31 17:40:51 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -1960,6 +1960,39 @@ sp_create_sack_of_conservation(castorder *co)
|
||||||
return cast_level;
|
return cast_level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------- */
|
||||||
|
/* Name: Heiliger Boden
|
||||||
|
* Stufe: 9
|
||||||
|
* Kategorie: perm. Regionszauber
|
||||||
|
* Gebiet: Gwyrrd
|
||||||
|
* Wirkung:
|
||||||
|
* Es entstehen keine Untoten mehr, Untote betreten die Region
|
||||||
|
* nicht mehr.
|
||||||
|
*
|
||||||
|
* ZAUBER "Heiliger Boden"
|
||||||
|
* Flags: (0)
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
sp_holyground(castorder *co)
|
||||||
|
{
|
||||||
|
unit *u;
|
||||||
|
region *r = co->rt;
|
||||||
|
unit *mage = (unit *)co->magician;
|
||||||
|
int cast_level = co->level;
|
||||||
|
int power = co->force;
|
||||||
|
|
||||||
|
create_curse(mage, &r->attribs, C_HOLYGROUND, 0,
|
||||||
|
power*power, 1, 0, 0);
|
||||||
|
|
||||||
|
set_curseflag(mage->building->attribs, C_HOLYGROUND, 0, CURSE_NOAGE);
|
||||||
|
|
||||||
|
add_message(&r->msgs, new_message(mage->faction, "holyground%u:mage", u));
|
||||||
|
|
||||||
|
a_removeall(&r->attribs, &at_deathcount);
|
||||||
|
|
||||||
|
return cast_level;
|
||||||
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
/* Name: Heimstein
|
/* Name: Heimstein
|
||||||
* Stufe: 7
|
* Stufe: 7
|
||||||
|
@ -1981,17 +2014,17 @@ sp_homestone(castorder *co)
|
||||||
region *r = co->rt;
|
region *r = co->rt;
|
||||||
unit *mage = (unit *)co->magician;
|
unit *mage = (unit *)co->magician;
|
||||||
int cast_level = co->level;
|
int cast_level = co->level;
|
||||||
int power = co->force;
|
int force = co->force;
|
||||||
|
|
||||||
if(!mage->building || mage->building->type != &bt_castle){
|
if(!mage->building || mage->building->type != &bt_castle){
|
||||||
cmistake(mage, strdup(co->order), 197, MSG_MAGIC);
|
cmistake(mage, strdup(co->order), 197, MSG_MAGIC);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
success = create_curse(mage, &mage->building->attribs, C_MAGICSTONE, 0,
|
success = create_curse(mage, &mage->building->attribs, C_MAGICSTONE, 0,
|
||||||
power, 1, 0, 0);
|
force*force, 1, 0, 0);
|
||||||
|
|
||||||
if(!success){ /* Es gab schon einen Heimstein */
|
if(!success) {
|
||||||
cmistake(mage, strdup(co->order), 206, MSG_MAGIC);
|
cmistake(mage, strdup(co->order), 206, MSG_MAGIC);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2003,7 +2036,7 @@ sp_homestone(castorder *co)
|
||||||
|
|
||||||
/* Magieresistenz der Burg erhöht sich um 50% */
|
/* Magieresistenz der Burg erhöht sich um 50% */
|
||||||
create_curse(mage, &mage->building->attribs, C_RESIST_MAGIC, 0,
|
create_curse(mage, &mage->building->attribs, C_RESIST_MAGIC, 0,
|
||||||
power, 1, 50, 0);
|
force*force, 1, 50, 0);
|
||||||
set_curseflag(mage->building->attribs, C_RESIST_MAGIC, 0, CURSE_NOAGE);
|
set_curseflag(mage->building->attribs, C_RESIST_MAGIC, 0, CURSE_NOAGE);
|
||||||
|
|
||||||
/* melden, 1x pro Partei in der Burg */
|
/* melden, 1x pro Partei in der Burg */
|
||||||
|
@ -2023,6 +2056,7 @@ sp_homestone(castorder *co)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
/* Name: Dürre
|
/* Name: Dürre
|
||||||
* Stufe: 13
|
* Stufe: 13
|
||||||
|
@ -3040,7 +3074,7 @@ sp_unholypower(castorder *co)
|
||||||
int i;
|
int i;
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
n = dice(cast_level, 10);
|
n = dice(co->force, 10);
|
||||||
|
|
||||||
for (i = 0; i < pa->length && n > 0; i++) {
|
for (i = 0; i < pa->length && n > 0; i++) {
|
||||||
race_t target_race;
|
race_t target_race;
|
||||||
|
@ -3076,8 +3110,8 @@ sp_unholypower(castorder *co)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
un = createunit(co->rt, u->faction, n, target_race);
|
un = createunit(co->rt, u->faction, 0, target_race);
|
||||||
scale_number(u, u->number - n);
|
transfermen(u, un, n);
|
||||||
add_message(&co->rt->msgs, new_message(mage->faction,
|
add_message(&co->rt->msgs, new_message(mage->faction,
|
||||||
"unholypower_limitedeffect%u:mage%u:target%s:race%i:amount",
|
"unholypower_limitedeffect%u:mage%u:target%s:race%i:amount",
|
||||||
mage, u, race[u->race].name[n==1?0:1], n));
|
mage, u, race[u->race].name[n==1?0:1], n));
|
||||||
|
@ -6005,7 +6039,7 @@ sp_eternizewall(castorder *co)
|
||||||
|
|
||||||
b = pa->param[0]->data.b;
|
b = pa->param[0]->data.b;
|
||||||
success = create_curse(mage, &b->attribs, C_NOCOST, 0,
|
success = create_curse(mage, &b->attribs, C_NOCOST, 0,
|
||||||
power, 1, 0, 0);
|
power*power, 1, 0, 0);
|
||||||
|
|
||||||
if(!success){ /* ist bereits verzaubert */
|
if(!success){ /* ist bereits verzaubert */
|
||||||
cmistake(mage, strdup(co->order), 206, MSG_MAGIC);
|
cmistake(mage, strdup(co->order), 206, MSG_MAGIC);
|
||||||
|
@ -7375,13 +7409,30 @@ spell spelldaten[] =
|
||||||
{0, 0, 0}},
|
{0, 0, 0}},
|
||||||
(spell_f)sp_treewalkexit, patzer
|
(spell_f)sp_treewalkexit, patzer
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{SPL_HOLYGROUND, "Heiliger Boden",
|
||||||
|
"Dieses Ritual beschwört verschiedene Naturgeister in den Boden der "
|
||||||
|
"Region, welche diese fortan bewachen. In einer so gesegneten Region "
|
||||||
|
"werden niemals wieder die Toten ihre Gräber verlassen, und anderswo "
|
||||||
|
"entstandene Untote werden sie wann immer möglich meiden.",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
M_DRUIDE, (0), 5, 9,
|
||||||
|
{
|
||||||
|
{R_AURA, 80, SPC_FIX},
|
||||||
|
{R_PERMAURA, 3, SPC_FIX},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0}},
|
||||||
|
(spell_f)sp_holyground, patzer
|
||||||
|
},
|
||||||
|
|
||||||
{SPL_ARTEFAKT_SACK_OF_CONSERVATION, "Erschaffe einen magischen Kräuterbeutel",
|
{SPL_ARTEFAKT_SACK_OF_CONSERVATION, "Erschaffe einen magischen Kräuterbeutel",
|
||||||
"Der Druide nehme etwas präpäriertes Leder, welches er in einem großen Ritual "
|
"Der Druide nehme etwas präpäriertes Leder, welches er in einem großen "
|
||||||
"der Reinigung von allen unreinen Geistern befreie, und binde dann einige kleine "
|
"Ritual der Reinigung von allen unreinen Geistern befreie, und binde "
|
||||||
"Geister der Luft und des Wassers in das Material. Aus dem so vorbereiteten "
|
"dann einige kleine Geister der Luft und des Wassers in das Material. "
|
||||||
"Leder fertige er nun ein kleines Beutelchen, welches in ihm aufbewahrte Kräuter "
|
"Aus dem so vorbereiteten Leder fertige er nun ein kleines Beutelchen, "
|
||||||
"besser zu konservieren vermag.",
|
"welches in ihm aufbewahrte Kräuter besser zu konservieren vermag.",
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
M_DRUIDE, (0), 5, 5,
|
M_DRUIDE, (0), 5, 5,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: spell.h,v 1.4 2001/01/31 14:32:58 corwin Exp $
|
* $Id: spell.h,v 1.5 2001/01/31 17:40:51 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -193,6 +193,7 @@ enum {
|
||||||
SPL_ETERNIZEWALL,
|
SPL_ETERNIZEWALL,
|
||||||
SPL_PUTTOREST,
|
SPL_PUTTOREST,
|
||||||
SPL_UNHOLYPOWER,
|
SPL_UNHOLYPOWER,
|
||||||
|
SPL_HOLYGROUND,
|
||||||
MAXALLSPELLS,
|
MAXALLSPELLS,
|
||||||
NO_SPELL = (spellid_t) -1
|
NO_SPELL = (spellid_t) -1
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: unit.c,v 1.2 2001/01/26 16:19:40 enno Exp $
|
* $Id: unit.c,v 1.3 2001/01/31 17:40:51 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -622,6 +622,9 @@ can_survive(const unit *u, const region *r)
|
||||||
if (get_item(u, I_HORSE) && !(terrain[rterrain(r)].flags & WALK_INTO))
|
if (get_item(u, I_HORSE) && !(terrain[rterrain(r)].flags & WALK_INTO))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if(is_undead(u) && is_cursed(r->attribs, C_HOLYGROUND, 0))
|
||||||
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -0,0 +1,183 @@
|
||||||
|
Stufe, Name, Kosten, Auswirkung
|
||||||
|
Kosten: *L = pro Level, P = Permanente Aura, M = Materialien (zB Holz),
|
||||||
|
B = Bauern, $ = Silber, H = Hitpoints
|
||||||
|
(K) = Kampfzauber, (+K) = Prekampfzauber, (K+) = Postkampfzauber
|
||||||
|
|
||||||
|
|
||||||
|
Druide/Gwyrrd (38 Sprüche):
|
||||||
|
---------------------------
|
||||||
|
1 Segen der Erde 1*L Bauern verdienen 1 Silber mehr
|
||||||
|
1 Viehheilung 1*L Magier verdient 50$*L
|
||||||
|
1 Erschaffe Steingolems 2*L,M Magische Strassen/Burgenbauer
|
||||||
|
2 Erschaffe Eisengolems 2*L,M Magische Rüstungsbauer
|
||||||
|
2 Hainzauber 2*L,$ Erschafft Bäume
|
||||||
|
3 Rostregen 2*L Vernichtet Eisenwaffen
|
||||||
|
3 Firuns Fell 2*L Insekten können auf Gletscher
|
||||||
|
3 Hagel (K) 1*L verursacht leichten Schaden
|
||||||
|
3 Bergwächter 3*L Verhindert Eisenabbau
|
||||||
|
4 Magischer Pfad 1*L,M Magische Strasse
|
||||||
|
4 Windschild (+K) 2*L behindert Schützen
|
||||||
|
4 B... Wasserelementar 1*L Schiffe +1 Bewegung und keine Abdrift
|
||||||
|
5 Heilung (K+) 1*L heilt bis zu 11 Personen pro Stufe
|
||||||
|
5 Wirbelwind (+K) 15 behindert alle Schützen zu 50%
|
||||||
|
5 Astralschutzgeister (+K) 5*L behindert Kampfzauber
|
||||||
|
5 E... magischen Kräuterb. 30,1P,M Artefakt
|
||||||
|
6 Meditation 2 überträgt Aura
|
||||||
|
6 B... einen Erdelementar 25,M Beschädigt alle Gebäude einer Region
|
||||||
|
6 B... Sturmelementar 6*L verdoppelt Schiffsbewegung
|
||||||
|
6 E... des wahren Sehens 50,$ Artefakt
|
||||||
|
6 E... der Unsichtbarkeit 50,$ Artefakt
|
||||||
|
7 Heimstein 50,1P verbessert Burg dauerhaft
|
||||||
|
7 Wolfsgeheul (+K) 2*L ruft Wölfe für den Kampf
|
||||||
|
8 Blick des Basilisken (K) 1*L entfernt Gegner aus Kampf
|
||||||
|
8 Starkes Tor und ... (+K) 2*L verbessert Schutz der Burg
|
||||||
|
8 Geister bannen 6*L Antimagie
|
||||||
|
9 Weg der Bäume 3*L Stufe*5 GE aus Wald in Astralebene
|
||||||
|
9 Sog des Lebens 2*L Stufe*5 GE aus Astralebene in Wald
|
||||||
|
9 Heiliger Boden 80,3P
|
||||||
|
10 Erwecke Ents 6*L Erschafft Einheit
|
||||||
|
10 Vertrauten binden 100,5P Vertrauter
|
||||||
|
11 Segne Steinkreis 350,5P Wandelt Steinkreis zum gesegneten St.
|
||||||
|
12 Rindenhaut (+K) 4*L Verbessert Rüstung
|
||||||
|
13 B... Hitzeelementar 600 halbiert Fruchtbarkeit der Region
|
||||||
|
14 Nebel der Verwirrung 8*L Bewegung wird zufällig (nur Wald+Ozean)
|
||||||
|
15 Mahlstrom 200,M Ozeanfeld beschädigt Schiffe schwer
|
||||||
|
16 T... die Ebene der Hitze 800 stärker als L13, kann Region wandeln
|
||||||
|
|
||||||
|
|
||||||
|
Chaos/Draig (27 Sprüche):
|
||||||
|
-------------------------
|
||||||
|
1 Verwünschung 1*L nur Showeffekt
|
||||||
|
1 Kleine Flüche 1*L Magier verdient 50$*L
|
||||||
|
2 Feuerball (K) 1*L Schaden
|
||||||
|
3 Gabe des Chaos 2*L Magicboost
|
||||||
|
4 Mächte des Todes 5*L Erschafft Untote
|
||||||
|
5 Blutrausch (+K) 5*L,B Verbessert Kampfkraft
|
||||||
|
5 Chaosfluch 4*L behindert Zauberer
|
||||||
|
6 Rosthauch (K) 2*L zerstört Eisenwaffen
|
||||||
|
6 E... des wahren Sehens 50,$ Artefakt
|
||||||
|
6 E... der Unsichtbarkeit 50,$ Artefakt
|
||||||
|
7 Machtübertragung 2 überträgt Aura
|
||||||
|
7 Feuerwand 6*L Wall, macht Schaden
|
||||||
|
7 Fluch der Pestilenz 30,B erzeugt Pest
|
||||||
|
8 Wahnsinn des Krieges (+K) 3*L,B verwirbelt gegnerische Reihen
|
||||||
|
8 Beschwöre Schattendämonen 3*L erzeugt Einheit
|
||||||
|
9 E... der Trollstärke 20,1P Artefakt
|
||||||
|
9 Astraler Riss 35,M Magier der Region verlieren Aura
|
||||||
|
9 Astrales Chaos (+K) 6*L behindert Kampfzauber
|
||||||
|
10 Feuerteufel 50,M vernichtet Wälder
|
||||||
|
10 Pentagramm 10*L Antimagie
|
||||||
|
10 Unheilige Kraft 8*L,M Transformiert Untote
|
||||||
|
11 Todeswolke 40,H alle Personen der Region verlieren HP
|
||||||
|
11 Drachenruf 80,M lockt Drachen an
|
||||||
|
12 Beschwöre Schattenmeister 7*L erzeugt Einheit
|
||||||
|
12 E... ein Flammenschwert 150,M Artefakt
|
||||||
|
13 Vertrauten rufen 100,5P Vertrauter
|
||||||
|
14 Chaossog 150,B nächste Runde Tor zur Astralebene
|
||||||
|
|
||||||
|
|
||||||
|
Traum/Illaun (27 Sprüche):
|
||||||
|
--------------------------
|
||||||
|
1 Traumsenden 1*L nur Showeffekt
|
||||||
|
1 Wahrsagen 1*L Magier verdient 50$*L
|
||||||
|
1 Schattenritter (+K) 1*L Illusionen, fangen Angriffe ab
|
||||||
|
2 Grauen der Schlacht (+K) 1*L verleitet Gegner zur Flucht
|
||||||
|
2 Seelenfrieden 3*L,M reduziert deathcount der Region
|
||||||
|
3 Traumschlößchen 1*L Illusion einer Burg
|
||||||
|
3 Traum der Magie 2 Auratransfer
|
||||||
|
3 Gestaltwandlung 1*L Einheit erscheint als andere Rasse
|
||||||
|
4 Traumlesen 8 Magier erhält Regionsbericht
|
||||||
|
4 Schwere Glieder (+K) 4*L -2 Def, 50% Chance dass keine Att
|
||||||
|
5 Wiederbelebung (K+) 1*L holt Tote zurück
|
||||||
|
5 Traumbilder analysieren 5*L analysiert Sprüche auf Einheiten
|
||||||
|
6 Schlechter Schlaf 18 vermindert Lernrate in einer Region
|
||||||
|
6 E... des wahren Sehens 50,$ Artefakt
|
||||||
|
6 E... der Unsichtbarkeit 50,$ Artefakt
|
||||||
|
7 Schlaf (K) 1*L -2 Def, kein Att, solange bis getroffen
|
||||||
|
7 Irrlichter 2*L Bewegung wird zufällig?
|
||||||
|
7 Traumdeuten 20 spioniert Einheit aus
|
||||||
|
8 Schöne Träume 8*L zeitweilig Bonus auf alle Talente
|
||||||
|
8 Traumbilder entwirren 6*L Antimagie
|
||||||
|
9 Vertrauten rufen 100,5P Vertrauter
|
||||||
|
10 Schlechte Träume 9*L zeitweilig -L/4 Talentstufen
|
||||||
|
11 Tod des Geistes (K) 2*L vermindert Talente, töten bei 0 Tagen
|
||||||
|
12 Süße Träume 30 Vermehrung wie bei Orks
|
||||||
|
14 Erschaffe ein Traumauge 10P,M Artefakt
|
||||||
|
15 Alp 350,5P,M Monster, sucht Opfer => -2 auf Talente
|
||||||
|
16 Schleier der Verwirrung 7*L mehrere Regionen: Bewegung wird zufällig
|
||||||
|
|
||||||
|
|
||||||
|
Barde/Cerddor (33 Sprüche):
|
||||||
|
---------------------------
|
||||||
|
1 Friedenslied (+K) 2 Magier kann vor Angriff fliehen
|
||||||
|
1 Gaukelleien 1*L Magier verdient 50$*L
|
||||||
|
2 Lied der Heilung (K+) 1*L heilt Verwundete
|
||||||
|
2 Hohes Lied der Gaukelei 2*L Unterhaltungsmaximum zeitweilig doppelt
|
||||||
|
3 Regentanz 1*L Bauern verdienen 1 Silber mehr
|
||||||
|
3 Gesang der Furcht (K) 1*L Gegner versuchen zu fliehen
|
||||||
|
4 Gesang des Werbens 2*L rekrutiert Bauern
|
||||||
|
4 Gesang der Verwirrung (+K) 2*L verwirbelt gegnerische Reihen
|
||||||
|
4 Plappermaul 10 spioniert Einheit aus
|
||||||
|
5 Heldengesang (+K) 2*L Krieger widerstehen einigen Effekten
|
||||||
|
5 Gesang des Auratransfers 2 überträgt Aura
|
||||||
|
5 G... Lebens analysieren 10 analysiert Zauber auf Einheit
|
||||||
|
5 Bannlied (+K) 5*L behindert Kampfzauber
|
||||||
|
6 Monster friedlich stimmen 15 verhindert Monsterangriffe
|
||||||
|
6 Lied der Verführung 12 Einheit schenkt Magier 50% Besitz
|
||||||
|
6 E... des wahren Sehens 50,$ Artefakt
|
||||||
|
6 E... der Unsichtbarkeit 50,$ Artefakt
|
||||||
|
7 Schaler Wein 4*L,M,$ Opfer vergißt bis 60 Talenttage
|
||||||
|
7 Aushorchen 4,$ Magier erhält Regionsbericht
|
||||||
|
7 Kriegsgesang (+K) 5*L verbessert Kampfkraft
|
||||||
|
8 Gesang der Angst 5*L Malus auf Att und Def
|
||||||
|
8 L... Ortes analysieren 3*L analysiert Zauber auf Objekten/Regionen
|
||||||
|
8 Lebenslied festigen 5*L Antimagie
|
||||||
|
9 Ritual der Aufnahme 3*L,1P*L L Personen können Partei wechseln
|
||||||
|
9 Vertrauten rufen 100,5P Vertrauter
|
||||||
|
10 Mob aufwiegeln 4*L Erzeugt Einheit
|
||||||
|
10 Gesang des wachen Geistes 2*L verbessert Magieresistenz in Region
|
||||||
|
11 Gesang der Melancholie 40 kein Unterhaltunssilber verfügbar
|
||||||
|
11 Miriams flinke Finger 20,1P,$ Artefakt
|
||||||
|
12 G... schwachen Geistes 2*L vermindert Magieresistenz in Region
|
||||||
|
12 G... der Friedfertigkeit 20*L verhindert Kämpfe
|
||||||
|
13 Gesang der Versklavung 40 Opfer wechselt zeitweilig Partei
|
||||||
|
15 Aufruhr beschwichtigen 30 Löst Mob (L10) auf
|
||||||
|
|
||||||
|
|
||||||
|
Astral/Tybied (32 Sprüche):
|
||||||
|
---------------------------
|
||||||
|
1 Magie analysieren 1*L analysiert Zauber
|
||||||
|
1 Schleieraura 1*L verbirgt Ausrüstung einer Einheit
|
||||||
|
1 Wunderdoktor 1*L Magier verdient 50$*L
|
||||||
|
2 Schutz vor Magie (+K) 3*L behindert Kampfzauber
|
||||||
|
2 Astraler Blick 1*L sieht Einheiten in Astralebene
|
||||||
|
3 Schutzzauber 5*L verbessert Magieresistenz einer Einheit
|
||||||
|
3 Beute bewahren (K+) 1*L vermindert Zerstörung von Gegenständen
|
||||||
|
4 Astraler Weg 2*L schiebt (L-3)*15 GE in Astralebene
|
||||||
|
4 Astraler Ausgang 2*L schiebt (L-3)*15 GE in Realität
|
||||||
|
5 Auratransfer 1 transferiert Aura, auch andere Gebiete
|
||||||
|
5 Schockwelle (K) 1*L verhindert nächste Attacke
|
||||||
|
5 Astrale Schwächezone 3*L Antimagiezone
|
||||||
|
5 E... des wahren Sehens 50,$ Artefakt
|
||||||
|
6 Astraler Ruf 2*L zieht (L-3)*15 GE in Astralebene
|
||||||
|
6 Ruf der Realität 2*L zieht (L-3)*15 GE in Realität
|
||||||
|
6 Stehle Aura 2*L entzieht anderem Magier Aura
|
||||||
|
6 Luftschiff 10,M läßt Boot/Langboot fliegen
|
||||||
|
6 E... der Unsichtbarkeit 50,$ Artefakt
|
||||||
|
7 E... Antimagiekristall 50,$ Item, das Antimagiezone erzeugt
|
||||||
|
7 Magiefresser 3*L Antimagie
|
||||||
|
8 Runen des Schutzes 20 +20% Magieresistenz bei Burgen/Schiffen
|
||||||
|
8 Schild des Fisches (+K) 4*L vermindert Schaden
|
||||||
|
9 Beschleunigung (+K) 5*L verdoppelt Attacken
|
||||||
|
9 E... einen Ring der Macht 100,$ Artefakt
|
||||||
|
10 Blick in die Realität 40 sieht Region aus Astralebene
|
||||||
|
10 E... Negativen Gewichts 30,1P,$ Artefakt
|
||||||
|
11 Zeitdehnung 5*L Doppelte Bewegung und Angriffe
|
||||||
|
12 Rüstschild (+K) 4*L verbessert Rüstung
|
||||||
|
12 Vertrauten rufen 100,5P Vertrauter
|
||||||
|
13 Belebtes Gestein 10,5P,M Versetzt Burg samt Besatzung
|
||||||
|
14 Störe Astrale Integrität 140
|
||||||
|
15 Opfere Kraft 100 transferiert permanente Aura
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* vi: set ts=2:
|
/* vi: set ts=2:
|
||||||
*
|
*
|
||||||
* $Id: korrektur.c,v 1.8 2001/01/31 14:32:59 corwin Exp $
|
* $Id: korrektur.c,v 1.9 2001/01/31 17:40:52 corwin Exp $
|
||||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||||
|
@ -998,7 +998,11 @@ show_newspells(void)
|
||||||
/* Alle geänderten Zauber in das array newspellids[]. mit SPL_NOSPELL
|
/* Alle geänderten Zauber in das array newspellids[]. mit SPL_NOSPELL
|
||||||
* terminieren */
|
* terminieren */
|
||||||
|
|
||||||
spellid_t newspellids[] = { SPL_ETERNIZEWALL, SPL_PUTTOREST, SPL_UNHOLYPOWER, SPL_NOSPELL };
|
spellid_t newspellids[] = { SPL_ETERNIZEWALL,
|
||||||
|
SPL_PUTTOREST,
|
||||||
|
SPL_UNHOLYPOWER,
|
||||||
|
SPL_HOLYGROUND,
|
||||||
|
SPL_NOSPELL };
|
||||||
|
|
||||||
/* die id's der neuen oder veränderten Sprüche werden in newspellids[]
|
/* die id's der neuen oder veränderten Sprüche werden in newspellids[]
|
||||||
* abgelegt */
|
* abgelegt */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Kommentare sind erlaubt. Endlich.
|
# Kommentare sind erlaubt. Endlich.
|
||||||
# $Id: messages.de,v 1.3 2001/01/31 14:32:59 corwin Exp $
|
# $Id: messages.de,v 1.4 2001/01/31 17:40:53 corwin Exp $
|
||||||
|
|
||||||
# Fehlermeldungen:
|
# Fehlermeldungen:
|
||||||
msg_errors;errors:0;de;{string}
|
msg_errors;errors:0;de;{string}
|
||||||
|
@ -279,7 +279,7 @@ error276;errors:0;de;{unit} in {region}: '{command}' - Hier kann man keine Schif
|
||||||
error277;errors:0;de;{unit} in {region}: '{command}' - Das kann die Einheit nicht.
|
error277;errors:0;de;{unit} in {region}: '{command}' - Das kann die Einheit nicht.
|
||||||
error278;errors:0;de;{unit} in {region}: '{command}' - Der Name des Gebäudes kann nicht geändert werden.
|
error278;errors:0;de;{unit} in {region}: '{command}' - Der Name des Gebäudes kann nicht geändert werden.
|
||||||
error279;errors:0;de;{unit} in {region}: '{command}' - Die Beschreibung des Gebäudes kann nicht geändert werden.
|
error279;errors:0;de;{unit} in {region}: '{command}' - Die Beschreibung des Gebäudes kann nicht geändert werden.
|
||||||
error280;errors:0;de;{unit} in {region}: '{command}' - Nur Untote können das Ziel dieses Zaubers sein.
|
error280;errors:0;de;{unit} in {region}: '{command}' - Nur noch nicht gestärkte Untote können das Ziel dieses Zaubers sein.
|
||||||
|
|
||||||
# Meldungen und Ereignisse
|
# Meldungen und Ereignisse
|
||||||
msg_event;events:0;de;{string}
|
msg_event;events:0;de;{string}
|
||||||
|
@ -484,6 +484,7 @@ becomewyrm;magic;2;de;{mage} verwandelt sich in einen Wyrm.
|
||||||
puttorest;magic;0;de;{mage} befreit die gequälten Seelen der Toten.
|
puttorest;magic;0;de;{mage} befreit die gequälten Seelen der Toten.
|
||||||
unholypower_effect;0;de;{mage} verwandelt {target}.
|
unholypower_effect;0;de;{mage} verwandelt {target}.
|
||||||
unholypower_effect;0;de;{mage} verwandelt {amount} {race} aus {target}.
|
unholypower_effect;0;de;{mage} verwandelt {amount} {race} aus {target}.
|
||||||
|
holyground;0;de;{mage} beschwört Naturgeister in den Boden der Region.
|
||||||
|
|
||||||
# Kämpfe
|
# Kämpfe
|
||||||
msg_battle;battle:0;de;{string}
|
msg_battle;battle:0;de;{string}
|
||||||
|
|
Loading…
Reference in New Issue