--- deliantra/server/common/living.C 2007/05/12 18:14:47 1.50 +++ deliantra/server/common/living.C 2007/05/12 18:23:51 1.51 @@ -321,7 +321,7 @@ int change_abil (object *op, object *tmp) { - int flag = QUERY_FLAG (tmp, FLAG_APPLIED) ? 1 : -1, i, j, success = 0; + int flag = QUERY_FLAG (tmp, FLAG_APPLIED) ? 1 : -1, success = 0; char message[MAX_BUF]; int potion_max = 0; @@ -336,15 +336,13 @@ if (tmp->type == POTION) { potion_max = 1; - for (j = 0; j < NUM_STATS; j++) + for (int j = 0; j < NUM_STATS; j++) { - int nstat, ostat; - - ostat = op->contr->orig_stats.stat (j); - i = tmp->stats.stat (j); + int ostat = op->contr->orig_stats.stat (j); + int i = tmp->stats.stat (j); /* nstat is what the stat will be after use of the potion */ - nstat = flag * i + ostat; + int nstat = flag * i + ostat; /* Do some bounds checking. While I don't think any * potions do so right now, there is the potential for potions @@ -372,14 +370,14 @@ * sure if this is strictly necessary, being that fix_player probably * recalculates this anyway. */ - for (j = 0; j < NUM_STATS; j++) + for (int j = 0; j < NUM_STATS; j++) change_attr_value (&op->stats, j, flag * tmp->stats.stat (j)); check_stat_bounds (&op->stats); } /* end of potion handling code */ } - /* reset attributes that fix_player doesn't reset since it doesn't search + /* reset attributes that update_stats doesn't reset since it doesn't search * everything to set */ if (flag == -1) @@ -395,12 +393,12 @@ } /* call fix_player since op object could have whatever attribute due - * to multiple items. if fix_player always has to be called after + * to multiple items. if update_stats always has to be called after * change_ability then might as well call it from here */ op->update_stats (); - /* Fix player won't add the bows ability to the player, so don't + /* update_stats won't add the bows ability to the player, so don't * print out message if this is a bow. */ if (tmp->attacktype & AT_CONFUSION && tmp->type != BOW) @@ -450,7 +448,7 @@ /* double conditional - second case covers if you have move_fly_low - * in that case, you don't actually land */ - DIFF_MSG (flag, "You soar into the air air!.", + DIFF_MSG (flag, "You soar into the air!", (op->move_type & MOVE_FLY_LOW ? "You fly lower in the air" : "You float down to the ground.")); } @@ -591,7 +589,7 @@ } /* Messages for changed resistance */ - for (i = 0; i < NROFATTACKS; i++) + for (int i = 0; i < NROFATTACKS; i++) { if (i == ATNR_PHYSICAL) continue; /* Don't display about armour */ @@ -610,9 +608,9 @@ if (!potion_max) { - for (j = 0; j < NUM_STATS; j++) + for (int j = 0; j < NUM_STATS; j++) { - if ((i = tmp->stats.stat (j))) + if (int i = tmp->stats.stat (j)) { success = 1; DIFF_MSG (i * flag, gain_msg[j], lose_msg[j]); @@ -725,21 +723,12 @@ void object::remove_statbonus () { - stats.Str -= arch->clone.stats.Str; - stats.Dex -= arch->clone.stats.Dex; - stats.Con -= arch->clone.stats.Con; - stats.Wis -= arch->clone.stats.Wis; - stats.Pow -= arch->clone.stats.Pow; - stats.Cha -= arch->clone.stats.Cha; - stats.Int -= arch->clone.stats.Int; - - contr->orig_stats.Str -= arch->clone.stats.Str; - contr->orig_stats.Dex -= arch->clone.stats.Dex; - contr->orig_stats.Con -= arch->clone.stats.Con; - contr->orig_stats.Wis -= arch->clone.stats.Wis; - contr->orig_stats.Pow -= arch->clone.stats.Pow; - contr->orig_stats.Cha -= arch->clone.stats.Cha; - contr->orig_stats.Int -= arch->clone.stats.Int; + for (int i = 0; i < NUM_STATS; ++i) + { + sint8 v = arch->clone.stats.stat (i); + stats.stat (i) -= v; + contr->orig_stats.stat (i) -= v; + } } /* @@ -748,21 +737,12 @@ void object::add_statbonus () { - stats.Str += arch->clone.stats.Str; - stats.Dex += arch->clone.stats.Dex; - stats.Con += arch->clone.stats.Con; - stats.Wis += arch->clone.stats.Wis; - stats.Pow += arch->clone.stats.Pow; - stats.Cha += arch->clone.stats.Cha; - stats.Int += arch->clone.stats.Int; - - contr->orig_stats.Str += arch->clone.stats.Str; - contr->orig_stats.Dex += arch->clone.stats.Dex; - contr->orig_stats.Con += arch->clone.stats.Con; - contr->orig_stats.Wis += arch->clone.stats.Wis; - contr->orig_stats.Pow += arch->clone.stats.Pow; - contr->orig_stats.Cha += arch->clone.stats.Cha; - contr->orig_stats.Int += arch->clone.stats.Int; + for (int i = 0; i < NUM_STATS; ++i) + { + sint8 v = arch->clone.stats.stat (i); + stats.stat (i) += v; + contr->orig_stats.stat (i) += v; + } } /*