compile-fix

This commit is contained in:
Enno Rehling 2006-01-13 23:11:50 +00:00
parent ba0851da7a
commit 2ac568cfa7

View file

@ -921,60 +921,60 @@ knowsspell(const region * r, const unit * u, const spell * sp)
boolean boolean
cancast(unit * u, const spell * sp, int level, int range, struct order * ord) cancast(unit * u, const spell * sp, int level, int range, struct order * ord)
{ {
int k; int k;
int itemanz; int itemanz;
resource * reslist = NULL; resource * reslist = NULL;
if (knowsspell(u->region, u, sp) == false) { if (knowsspell(u->region, u, sp) == false) {
/* Diesen Zauber kennt die Einheit nicht */ /* Diesen Zauber kennt die Einheit nicht */
cmistake(u, ord, 173, MSG_MAGIC); cmistake(u, ord, 173, MSG_MAGIC);
return false; return false;
} }
/* reicht die Stufe aus? */ /* reicht die Stufe aus? */
if (eff_skill(u, SK_MAGIC, u->region) < sp->level) { if (eff_skill(u, SK_MAGIC, u->region) < sp->level) {
/* die Einheit ist nicht erfahren genug für diesen Zauber */ /* die Einheit ist nicht erfahren genug für diesen Zauber */
cmistake(u, ord, 169, MSG_MAGIC); cmistake(u, ord, 169, MSG_MAGIC);
return false; return false;
} }
for (k = 0; sp->components[k].type; ++k) { for (k = 0; sp->components[k].type; ++k) {
if (sp->components[k].amount > 0) { if (sp->components[k].amount > 0) {
const resource_type * rtype = sp->components[k].type; const resource_type * rtype = sp->components[k].type;
/* Die Kosten für Aura sind auch von der Zahl der bereits /* Die Kosten für Aura sind auch von der Zahl der bereits
* gezauberten Sprüche abhängig */ * gezauberten Sprüche abhängig */
if (rtype == r_aura) { if (rtype == r_aura) {
itemanz = spellcost(u, sp) * range; itemanz = spellcost(u, sp) * range;
} else { } else {
itemanz = sp->components[k].amount * range; itemanz = sp->components[k].amount * range;
} }
/* sind die Kosten stufenabhängig, so muss itemanz noch mit dem /* sind die Kosten stufenabhängig, so muss itemanz noch mit dem
* level multipliziert werden */ * level multipliziert werden */
switch(sp->components[k].cost) { switch(sp->components[k].cost) {
case SPC_LEVEL: case SPC_LEVEL:
case SPC_LINEAR: case SPC_LINEAR:
itemanz *= level; itemanz *= level;
break; break;
case SPC_FIX: case SPC_FIX:
default: default:
break; break;
} }
if (get_pooled(u, rtype, GET_DEFAULT) < itemanz) { if (get_pooled(u, rtype, GET_DEFAULT) < itemanz) {
resource * res = malloc(sizeof(resource)); resource * res = malloc(sizeof(resource));
res->number = itemanz; res->number = itemanz;
res->type = rtype; res->type = rtype;
res->next = reslist; res->next = reslist;
reslist = res->next; reslist = res->next;
} }
} }
} }
if (reslist!=NULL) { if (reslist!=NULL) {
ADDMSG(&u->faction->msgs, msg_feedback(u, ord, "missing_components_list", "list", reslist)); ADDMSG(&u->faction->msgs, msg_feedback(u, ord, "missing_components_list", "list", reslist));
} return false;
}
return b; return true;
} }
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */