forked from github/server
spruchänderung
This commit is contained in:
parent
cda9b45c1c
commit
1eba5b9ee5
|
@ -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",
|
||||||
|
|
|
@ -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},
|
||||||
|
|
|
@ -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[]
|
||||||
|
|
Loading…
Reference in New Issue