spruchänderung

This commit is contained in:
Katja Zedel 2002-04-21 17:47:18 +00:00
parent cda9b45c1c
commit 1eba5b9ee5
3 changed files with 24 additions and 33 deletions

View File

@ -1116,13 +1116,13 @@ do_misc(char try)
case P_BUILDING: case P_BUILDING:
case P_GEBAEUDE: case P_GEBAEUDE:
/* Sollte momentan nicht vorkommen, da Schwimmer nicht /* Schwimmer können keine Gebäude betreten, außer diese sind
* an Land können, und es keine Gebäude auf See gibt. */ * auf dem Ozean */
if( !fval(u->race, RCF_WALK) && !fval(u->race, RCF_FLY)) {
if( !fval(u->race, RCF_WALK) && if (rterrain(r) != T_OCEAN){
!fval(u->race, RCF_FLY)) { if (try) cmistake(u, S->s, 232, MSG_MOVE);
if (try) cmistake(u, S->s, 232, MSG_MOVE); break;
break; }
} }
b = getbuilding(r); b = getbuilding(r);
@ -1131,10 +1131,12 @@ do_misc(char try)
if(try) cmistake(u, S->s, 6, MSG_MOVE); if(try) cmistake(u, S->s, 6, MSG_MOVE);
break; break;
} }
/* Gebäude auf dem Ozean sollte man betreten dürfen
if(rterrain(r) == T_OCEAN) { if(rterrain(r) == T_OCEAN) {
if (try) cmistake(u, S->s, 297, MSG_MOVE); if (try) cmistake(u, S->s, 297, MSG_MOVE);
break; break;
} }
*/
if (!mayenter(r, u, b)) { if (!mayenter(r, u, b)) {
if(try) { if(try) {
sprintf(buf, "Der Eintritt in %s wurde verwehrt", sprintf(buf, "Der Eintritt in %s wurde verwehrt",

View File

@ -2282,13 +2282,6 @@ sp_ironkeeper(castorder *co)
unit *mage = (unit *)co->magician; unit *mage = (unit *)co->magician;
int cast_level = co->level; int cast_level = co->level;
if(rterrain(r) != T_MOUNTAIN && rterrain(r) != T_GLACIER ) {
sprintf(buf, "%s in %s: Wächtergeister können nur in Bergen "
"und Gletschern beschworen werden.", unitname(mage),
regionid(mage->region));
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
return 0;
}
keeper = create_unit(r, mage->faction, 1, new_race[RC_IRONKEEPER], 0, "Bergwächter", mage); keeper = create_unit(r, mage->faction, 1, new_race[RC_IRONKEEPER], 0, "Bergwächter", mage);
/*keeper->age = cast_level + 2;*/ /*keeper->age = cast_level + 2;*/
@ -3635,28 +3628,26 @@ sp_bloodsacrifice(castorder *co)
{ {
unit *mage = (unit *)co->magician; unit *mage = (unit *)co->magician;
int cast_level = co->level; int cast_level = co->level;
int aura, damage; int aura;
int skill = eff_skill(mage, SK_MAGIC, mage->region); int skill = eff_skill(mage, SK_MAGIC, mage->region);
int hp = mage->hp - 5; /* braucht noch 4 HP zum Bezahlen des int hp = co->force*4;
Spruchs, und 1 HP zum Überleben*/
if (hp <= 0){ if (hp <= 0){
report_failure(mage, co->order); report_failure(mage, co->order);
return 0; return 0;
} }
damage = min(hp, dice_rand("4d12")); aura = lovar(hp*2);
if (skill < 8) { if (skill < 8) {
aura = damage / 4; aura /= 4;
} else if (skill < 12){ } else if (skill < 12){
aura = damage / 3; aura /= 3;
} else if (skill < 15){ } else if (skill < 15){
aura = damage / 2; aura /= 2;
} else if (skill < 18){ /* von 15 bis 17 ist hp = aura */
aura = damage; } else if (skill > 17){
} else { aura *= 2;
aura = damage * 2;
} }
if (aura <= 0){ if (aura <= 0){
@ -3664,8 +3655,10 @@ sp_bloodsacrifice(castorder *co)
return 0; return 0;
} }
/* sicherheitshalber gibs hier einen HP gratis. sonst schaffen es
* garantiert ne ganze reihe von leuten ihren Magier damit umzubringen */
mage->hp++;
change_spellpoints(mage, aura); change_spellpoints(mage, aura);
use_pooled(mage, mage->region, R_HITPOINTS, damage);
ADDMSG(&mage->faction->msgs, ADDMSG(&mage->faction->msgs,
msg_message("sp_bloodsacrifice_effect", msg_message("sp_bloodsacrifice_effect",
"unit region command amount", "unit region command amount",
@ -7483,7 +7476,7 @@ spell spelldaten[] =
}, },
{SPL_IRONKEEPER, "Bergwächter", {SPL_IRONKEEPER, "Bergwächter",
"Erschafft in Bergen oder Gletschern einen Wächtergeist, der Eisen- und " "Erschafft einen Wächtergeist, der Eisen- und "
"Laenabbau durch nichtalliierte Parteien (HELFE BEWACHE) verhindert, " "Laenabbau durch nichtalliierte Parteien (HELFE BEWACHE) verhindert, "
"solange er die Region bewacht. Der Bergwächter ist an den Ort der " "solange er die Region bewacht. Der Bergwächter ist an den Ort der "
"Beschwörung gebunden.", "Beschwörung gebunden.",
@ -8122,7 +8115,7 @@ spell spelldaten[] =
NULL, NULL,
M_CHAOS, (ONSHIPCAST), 1, 4, M_CHAOS, (ONSHIPCAST), 1, 4,
{ {
{R_HITPOINTS, 12, SPC_FIX}, {R_HITPOINTS, 4, SPC_LEVEL},
{0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0},

View File

@ -578,12 +578,8 @@ show_newspells(void)
* terminieren */ * terminieren */
spellid_t newspellids[] = { spellid_t newspellids[] = {
SPL_IRONKEEPER,
SPL_BLOODSACRIFICE, SPL_BLOODSACRIFICE,
SPL_DEATHCLOUD,
SPL_PLAGUE,
SPL_UNHOLYPOWER,
SPL_CHAOSSUCTION,
SPL_CHAOSROW,
SPL_NOSPELL }; 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[]