- Fix gib personen mit snotlingen

- Diverses
This commit is contained in:
Christian Schlittchen 2002-02-24 17:53:23 +00:00
parent e6e6e74e41
commit 4049d28e1c
6 changed files with 13 additions and 7 deletions

View File

@ -570,8 +570,7 @@ givemen(int n, unit * u, unit * u2, const char * cmd)
} else if (u == u2) {
error = 10;
#if RACE_ADJUSTMENTS
}
else if (u->race == new_race[RC_SNOTLING]) {
} else if (!u2 && u->race == new_race[RC_SNOTLING]) {
/* Snotlings können nicht an Bauern übergeben werden. */
error = 307;
#endif

View File

@ -3371,7 +3371,7 @@ report_summary(summary * s, summary * o, boolean full)
fprintf(F, "Aktive Vulkane: %d\n\n", s->active_volcanos);
}
for (i = 0; i < MAXRACES; i++) if (s->factionrace[i] && playerrace(new_race[i])) {
for (i = 0; i < MAXRACES; i++) if (s->factionrace[i] && playerrace(new_race[i]) && i != RC_TEMPLATE) {
fprintf(F, "%14svölker: %s\n",
LOC(default_locale, rc_name(new_race[i], 3)), pcomp(s->factionrace[i], o->factionrace[i]));
}

View File

@ -743,6 +743,7 @@ enum {
#define FL_ITEM_ANIMAL (1<<3) /* ist ein Tier */
#define FL_ITEM_MOUNT ((1<<4) | FL_ITEM_ANIMAL) /* ist ein Reittier */
#if 0
/* ------------------------------------------------------------- */
/* Sprüche auf Artefakten */
/* Benutzung magischer Gegenstände */
@ -766,7 +767,7 @@ destroy_curse_crystal(attrib **alist, int cast_level, int force)
c = (curse*)a->data.v;
/* Immunität prüfen */
if (c->flag & CURSE_IMMUN) continue;
if (c->flag & CURSE_IMMUN);
if (cast_level < c->vigour) { /* Zauber ist nicht stark genug */
int chance;
@ -794,6 +795,7 @@ destroy_curse_crystal(attrib **alist, int cast_level, int force)
return force;
}
#endif
/* ------------------------------------------------------------- */
/* Kann auch von Nichtmagier benutzt werden, erzeugt eine
@ -815,7 +817,7 @@ use_antimagiccrystal(region * r, unit * mage, strlist * cmdstrings)
* um seine Stufe */
power = sp->level * 20; /* Stufe 5 =~ 100 */
power = destroy_curse_crystal(&r->attribs, effect, power);
power = destroy_curse(&r->attribs, effect, power, NULL);
if(power) {
create_curse(mage, &r->attribs, C_ANTIMAGICZONE, 0, power, duration, effect, 0);

View File

@ -638,9 +638,13 @@ spskill(const struct locale * lang, const struct unit * u, skill_t sk, int *dh,
#else
if(u->faction->options & Pow(O_SHOWSKCHANGE)) {
skill *skill = get_skill(u, sk);
int oldeff = skill->old + get_modifier(u, sk, skill->old, u->region);
int oldeff = 0;
int diff;
if(skill->old > 0) {
oldeff = skill->old + get_modifier(u, sk, skill->old, u->region);
}
oldeff = max(0, oldeff);
diff = effsk - oldeff;

View File

@ -211,6 +211,7 @@ int use_item_power(struct region * r, struct unit * u);
int use_item_regeneration(struct region * r, struct unit * u);
void showspells(struct region *r, struct unit *u);
int sp_antimagiczone(struct castorder *co);
int destroy_curse(struct attrib **alist, int cast_level, int force, const struct curse_type * ctype);
/* Kampfzauber */

View File

@ -158,7 +158,7 @@ SpecialFunction(region *r)
}
case '2':
if(!is_cursed_internal(r->attribs, C_PEACE, 0)) {
create_curse(NULL, &r->attribs, C_PEACE, 0, 100, 1, 0, 0);
create_curse(NULL, &r->attribs, C_PEACE, 0, 100, 2, 0, 0);
set_curseflag(r->attribs, C_PEACE, 0, CURSE_IMMUN);
modified = 1;
}