forked from github/server
- Neuer Draig-Zauber
This commit is contained in:
parent
74604e5806
commit
301109f949
|
@ -1,6 +1,6 @@
|
|||
/* vi: set ts=2:
|
||||
*
|
||||
* $Id: spell.c,v 1.3 2001/01/31 13:03:18 corwin Exp $
|
||||
* $Id: spell.c,v 1.4 2001/01/31 14:32:58 corwin Exp $
|
||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||
|
@ -3016,6 +3016,78 @@ sp_wisps(castorder *co)
|
|||
return cast_level;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
/* Name: Unheilige Kraft
|
||||
* Stufe: 10
|
||||
* Gebiet: Draig
|
||||
* Kategorie: Untote Einheit, positiv
|
||||
*
|
||||
* Wirkung:
|
||||
* transformiert (Stufe)W10 Untote in ihre stärkere Form
|
||||
*
|
||||
*
|
||||
* Flag:
|
||||
* (SPELLLEVEL | TESTCANSEE)
|
||||
*/
|
||||
|
||||
static int
|
||||
sp_unholypower(castorder *co)
|
||||
{
|
||||
unit *mage = (unit *)co->magician;
|
||||
int cast_level = co->level;
|
||||
spellparameter *pa = co->par;
|
||||
int i;
|
||||
int n;
|
||||
|
||||
n = dice(cast_level, 10);
|
||||
|
||||
for (i = 0; i < pa->length && n > 0; i++) {
|
||||
race_t target_race;
|
||||
unit *u = pa->param[n]->data.u;
|
||||
|
||||
switch(u->race) {
|
||||
case RC_SKELETON:
|
||||
target_race = RC_SKELETON_LORD; break;
|
||||
case RC_ZOMBIE:
|
||||
target_race = RC_ZOMBIE_LORD; break;
|
||||
case RC_GHOUL:
|
||||
target_race = RC_GHOUL_LORD; break;
|
||||
default:
|
||||
cmistake(mage, strdup(co->order), 280, MSG_MAGIC);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(u->number <= n) {
|
||||
n -= u->number;
|
||||
u->race = target_race;
|
||||
add_message(&co->rt->msgs, new_message(mage->faction,
|
||||
"unholypower_effect%u:mage%u:target%s:targetrace", mage, u));
|
||||
} else {
|
||||
unit *un;
|
||||
|
||||
/* Wird hoffentlich niemals vorkommen. Es gibt im Source
|
||||
* vermutlich eine ganze Reihe von Stellen, wo das nicht
|
||||
* korrekt abgefangen wird. Besser (aber nicht gerade einfach)
|
||||
* wäre es, eine solche Konstruktion irgendwie zu kapseln. */
|
||||
if(fval(u, FL_LOCKED) || fval(u, FL_HUNGER)
|
||||
|| is_cursed(u->attribs, C_SLAVE, 0)) {
|
||||
cmistake(mage, strdup(co->order), 74, MSG_MAGIC);
|
||||
continue;
|
||||
}
|
||||
|
||||
un = createunit(co->rt, u->faction, n, target_race);
|
||||
scale_number(u, u->number - n);
|
||||
add_message(&co->rt->msgs, new_message(mage->faction,
|
||||
"unholypower_limitedeffect%u:mage%u:target%s:race%i:amount",
|
||||
mage, u, race[u->race].name[n==1?0:1], n));
|
||||
n = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return cast_level;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
/* Name: Todeswolke
|
||||
* Stufe: 11
|
||||
|
@ -7830,6 +7902,24 @@ spell spelldaten[] =
|
|||
{0, 0, 0}},
|
||||
(spell_f)sp_destroy_magic, patzer
|
||||
},
|
||||
|
||||
{SPL_UNHOLYPOWER, "Unheilige Kraft",
|
||||
"Nur geflüstert wird dieses Ritual an den dunklen Akademien an die "
|
||||
"Adepten weitergegeben, gehört es doch zu den finstersten, die je "
|
||||
"niedergeschrieben wurden. Durch die Anrufung unheiliger Dämonen "
|
||||
"wird die Kraft der lebenden Toten verstärkt und sie verwandeln "
|
||||
"sich in untote Monster großer Kraft.",
|
||||
NULL,
|
||||
"u+",
|
||||
M_CHAOS, (SPELLLEVEL | TESTCANSEE), 5, 10,
|
||||
{
|
||||
{R_AURA, 8, SPC_LEVEL},
|
||||
{R_PEASANTS, 50, SPC_LEVEL},
|
||||
{0, 0, 0},
|
||||
{0, 0, 0},
|
||||
{0, 0, 0}},
|
||||
(spell_f)sp_unholypower, patzer
|
||||
},
|
||||
|
||||
{SPL_DEATHCLOUD, "Todeswolke",
|
||||
"Mit einem düsteren Ritual und unter Opferung seines eigenen Blutes "
|
||||
|
@ -8001,14 +8091,15 @@ spell spelldaten[] =
|
|||
},
|
||||
|
||||
{SPL_PUTTOREST, "Seelenfrieden",
|
||||
"Dieses magische Ritual beruhigt die gequälten Seelen der gewaltsam zu Tode "
|
||||
"gekommenen und ermöglicht es ihnen so, ihre letzte Reise in die Anderlande "
|
||||
"zu beginnen. Je Stufe des Zaubers werden ungefähr 50 Seelen ihre Ruhe "
|
||||
"finden. Der Zauber vermag nicht, bereits wieder auferstandene lebende Tote "
|
||||
"zu erlösen, da deren Bindung an diese Welt zu stark ist.",
|
||||
"Dieses magische Ritual beruhigt die gequälten Seelen der gewaltsam "
|
||||
"zu Tode gekommenen und ermöglicht es ihnen so, ihre letzte Reise in "
|
||||
"die Anderlande zu beginnen. Je Stufe des Zaubers werden ungefähr 50 "
|
||||
"Seelen ihre Ruhe finden. Der Zauber vermag nicht, bereits wieder "
|
||||
"auferstandene lebende Tote zu erlösen, da deren Bindung an diese "
|
||||
"Welt zu stark ist.",
|
||||
NULL,
|
||||
NULL,
|
||||
M_TRAUM, (0), 5, 2,
|
||||
M_TRAUM, (SPELLLEVEL), 5, 2,
|
||||
{
|
||||
{R_AURA, 3, SPC_LEVEL},
|
||||
{R_TREES, 1, SPC_FIX},
|
||||
|
@ -8019,10 +8110,10 @@ spell spelldaten[] =
|
|||
},
|
||||
|
||||
{SPL_ICASTLE, "Traumschlößchen",
|
||||
"Mit Hilfe dieses Zaubers kann der Traumweber die Illusion eines beliebigen "
|
||||
"Gebäudes erzeugen. Die Illusion kann betreten werden, ist aber ansonsten "
|
||||
"funktionslos und benötigt auch keinen Unterhalt. Sie wird einige Wochen "
|
||||
"bestehen bleiben.",
|
||||
"Mit Hilfe dieses Zaubers kann der Traumweber die Illusion eines "
|
||||
"beliebigen Gebäudes erzeugen. Die Illusion kann betreten werden, ist "
|
||||
"aber ansonsten funktionslos und benötigt auch keinen Unterhalt. Sie "
|
||||
"wird einige Wochen bestehen bleiben.",
|
||||
"ZAUBERE \"Traumschlößchen\" <Gebäude-Typ>",
|
||||
"c",
|
||||
M_TRAUM, (0), 5, 3,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* vi: set ts=2:
|
||||
*
|
||||
* $Id: spell.h,v 1.3 2001/01/31 13:03:19 corwin Exp $
|
||||
* $Id: spell.h,v 1.4 2001/01/31 14:32:58 corwin Exp $
|
||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||
|
@ -192,6 +192,7 @@ enum {
|
|||
SPL_BECOMEWYRM,
|
||||
SPL_ETERNIZEWALL,
|
||||
SPL_PUTTOREST,
|
||||
SPL_UNHOLYPOWER,
|
||||
MAXALLSPELLS,
|
||||
NO_SPELL = (spellid_t) -1
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* vi: set ts=2:
|
||||
*
|
||||
* $Id: zombies.c,v 1.2 2001/01/26 16:19:41 enno Exp $
|
||||
* $Id: zombies.c,v 1.3 2001/01/31 14:32:58 corwin Exp $
|
||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||
|
@ -85,7 +85,7 @@ age_undead(unit *u)
|
|||
void
|
||||
age_skeleton(unit *u)
|
||||
{
|
||||
if (rand()%100 < age_chance(u->age, 27, 1)) {
|
||||
if (u->faction->no == 0 && rand()%100 < age_chance(u->age, 27, 1)) {
|
||||
double q = (double) u->hp / (double) (unit_max_hp(u) * u->number);
|
||||
u->race = RC_SKELETON_LORD;
|
||||
u->irace = RC_SKELETON_LORD;
|
||||
|
@ -97,7 +97,7 @@ age_skeleton(unit *u)
|
|||
void
|
||||
age_zombie(unit *u)
|
||||
{
|
||||
if (rand()%100 < age_chance(u->age, 27, 1)) {
|
||||
if (u->faction->no == 0 && rand()%100 < age_chance(u->age, 27, 1)) {
|
||||
double q = (double) u->hp / (double) (unit_max_hp(u) * u->number);
|
||||
u->race = RC_ZOMBIE_LORD;
|
||||
u->irace = RC_ZOMBIE_LORD;
|
||||
|
@ -109,7 +109,7 @@ age_zombie(unit *u)
|
|||
void
|
||||
age_ghoul(unit *u)
|
||||
{
|
||||
if (rand()%100 < age_chance(u->age, 27, 1)) {
|
||||
if (u->faction->no == 0 && rand()%100 < age_chance(u->age, 27, 1)) {
|
||||
double q = (double) u->hp / (double) (unit_max_hp(u) * u->number);
|
||||
u->race = RC_GHOUL_LORD;
|
||||
u->irace = RC_GHOUL_LORD;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* vi: set ts=2:
|
||||
*
|
||||
* $Id: korrektur.c,v 1.7 2001/01/31 13:03:20 corwin Exp $
|
||||
* $Id: korrektur.c,v 1.8 2001/01/31 14:32:59 corwin Exp $
|
||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||
|
@ -998,7 +998,7 @@ show_newspells(void)
|
|||
/* Alle geänderten Zauber in das array newspellids[]. mit SPL_NOSPELL
|
||||
* terminieren */
|
||||
|
||||
spellid_t newspellids[] = { SPL_ETERNIZEWALL, SPL_PUTTOREST, SPL_NOSPELL };
|
||||
spellid_t newspellids[] = { SPL_ETERNIZEWALL, SPL_PUTTOREST, SPL_UNHOLYPOWER, SPL_NOSPELL };
|
||||
|
||||
/* die id's der neuen oder veränderten Sprüche werden in newspellids[]
|
||||
* abgelegt */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Kommentare sind erlaubt. Endlich.
|
||||
# $Id: messages.de,v 1.2 2001/01/31 13:03:20 corwin Exp $
|
||||
# $Id: messages.de,v 1.3 2001/01/31 14:32:59 corwin Exp $
|
||||
|
||||
# Fehlermeldungen:
|
||||
msg_errors;errors:0;de;{string}
|
||||
|
@ -279,6 +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.
|
||||
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.
|
||||
error280;errors:0;de;{unit} in {region}: '{command}' - Nur Untote können das Ziel dieses Zaubers sein.
|
||||
|
||||
# Meldungen und Ereignisse
|
||||
msg_event;events:0;de;{string}
|
||||
|
@ -481,6 +482,8 @@ firewall_effect;magic:0;de;{mage} erschafft in {region} eine Wand aus Feuer.
|
|||
wisps_effect;magic:0;de;{mage} ruft Irrlichter in {region}.
|
||||
becomewyrm;magic;2;de;{mage} verwandelt sich in einen Wyrm.
|
||||
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 {amount} {race} aus {target}.
|
||||
|
||||
# Kämpfe
|
||||
msg_battle;battle:0;de;{string}
|
||||
|
|
Loading…
Reference in New Issue