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