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
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
|
|
Loading…
Reference in a new issue