Fix visual studio compilation for Solthar's curse changes (float/int conversions, uninitialized variable).

This commit is contained in:
Enno Rehling 2015-05-11 23:54:21 -07:00
parent 94929be51f
commit bf5fae2ef5
3 changed files with 6 additions and 3 deletions

View File

@ -255,6 +255,9 @@ void curse_write(const attrib * a, const void *owner, struct storage *store)
if (global.data_version < EXPLICIT_CURSE_ISNEW_VERSION) {
flags = (c->flags & ~CURSE_ISNEW) | (c->type->flags & CURSE_ISNEW);
}
else {
flags = c->flags | c->type->flags;
}
WRITE_INT(store, c->no);
WRITE_TOK(store, ct->cname);

View File

@ -1282,7 +1282,7 @@ static int update_gbdream(const unit * u, int bonus, curse *c, const curse_type
if (sign * effect > sign * bonus) {
if (mage == NULL || mage->number == 0
|| sign>0?alliedunit(mage, u->faction, HELP_GUARD):!alliedunit(mage, u->faction, HELP_GUARD)) {
bonus = effect;
bonus = (int)effect;
}
}
}
@ -1322,7 +1322,7 @@ int att_modification(const unit * u, skill_t sk)
* jeweils erste vom Typ C_GBDREAM zurueckgegen wird, wir aber alle
* durchsuchen und aufaddieren muessen */
if (u->region) {
double bonus = 0, malus = 0;
int bonus = 0, malus = 0;
attrib *a = a_find(u->region->attribs, &at_curse);
while (a && a->type == &at_curse) {
curse *c = (curse *)a->data.v;

View File

@ -4697,7 +4697,7 @@ static int sp_gbdreams(castorder * co, const char *curse_name, int effect)
duration = 2 + rng_int() % duration;
/* Nichts machen als ein entsprechendes Attribut in die Region legen. */
c = create_curse(mage, &r->attribs, ct_find(curse_name), power, duration, effect, 0);
c = create_curse(mage, &r->attribs, ct_find(curse_name), power, duration, (float)effect, 0);
/* Erfolg melden */
ADDMSG(&mage->faction->msgs, msg_message("regionmagic_effect",