multiple errors in dragon-magic (power-related)

This commit is contained in:
Enno Rehling 2009-10-01 20:57:22 +00:00
parent 387ba63313
commit 012cdf5066
5 changed files with 24 additions and 21 deletions

View File

@ -1146,6 +1146,7 @@ cr_output_region(FILE * F, report_context * ctx, seen_region * sr)
pnormalize(&nx, &ny, pl); pnormalize(&nx, &ny, pl);
} }
if (pl) {
if (ny==pl->maxy) { if (ny==pl->maxy) {
oc[o][0] = nx; oc[o][0] = nx;
oc[o++][1] = pl->miny-1; oc[o++][1] = pl->miny-1;
@ -1162,6 +1163,7 @@ cr_output_region(FILE * F, report_context * ctx, seen_region * sr)
oc[o][0] = pl->maxx+1; oc[o][0] = pl->maxx+1;
oc[o++][1] = ny; oc[o++][1] = ny;
} }
}
while (o--) { while (o--) {
cr_region_header(F, plid, oc[o][0], oc[o][1], r->uid); cr_region_header(F, plid, oc[o][0], oc[o][1], r->uid);
fputs("\"wrap\";visibility\n", F); fputs("\"wrap\";visibility\n", F);

View File

@ -1873,10 +1873,9 @@ do_extra_spell(troop at, const att *a)
const spell *sp = a->data.sp; const spell *sp = a->data.sp;
fighter *fi = at.fighter; fighter *fi = at.fighter;
unit *au = fi->unit; unit *au = fi->unit;
int power; double power;
/* nur bei Monstern können mehrere 'Magier' in einer Einheit sein */ power = sp->level * MagicPower();
power = sp->level * au->number;
if (sp->sp_function==NULL) { if (sp->sp_function==NULL) {
log_error(("spell '%s' has no function.\n", sp->sname)); log_error(("spell '%s' has no function.\n", sp->sname));
} else { } else {

View File

@ -105,7 +105,7 @@ MagicRegeneration(void)
return value; return value;
} }
static double double
MagicPower(void) MagicPower(void)
{ {
static double value = -1.0; static double value = -1.0;

View File

@ -384,6 +384,8 @@ extern struct spell_list ** get_spelllist(struct sc_mage * mage, struct faction
extern void write_spelllist(const struct spell_list * slist, struct storage * store); extern void write_spelllist(const struct spell_list * slist, struct storage * store);
extern void read_spellist(struct spell_list ** slistp, struct storage * store); extern void read_spellist(struct spell_list ** slistp, struct storage * store);
extern double MagicPower(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -601,7 +601,7 @@ sp_dragonodem(fighter * fi, int level, double power, spell * sp)
/* 11-26 HP */ /* 11-26 HP */
damage = spell_damage(4); damage = spell_damage(4);
/* Jungdrache 3->54, Drache 6->216, Wyrm 12->864 Treffer */ /* Jungdrache 3->54, Drache 6->216, Wyrm 12->864 Treffer */
force = lovar(get_force(level,6)); force = lovar(get_force(power, 6));
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE);
@ -697,7 +697,7 @@ sp_drainodem(fighter * fi, int level, double power, spell * sp)
/* 11-26 HP */ /* 11-26 HP */
damage = spell_damage(4); damage = spell_damage(4);
/* Jungdrache 3->54, Drache 6->216, Wyrm 12->864 Treffer */ /* Jungdrache 3->54, Drache 6->216, Wyrm 12->864 Treffer */
force = lovar(get_force(level,6)); force = lovar(get_force(power, 6));
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE);