Changeset 998
- Timestamp:
- 10/01/08 01:57:25 (3 months ago)
- Files:
-
- trunk/src/player/calcs.c (modified) (5 diffs)
- trunk/src/player/types.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/player/calcs.c
r996 r998 618 618 * damage, since that would affect non-combat things. These values 619 619 * are actually added in later, at the appropriate place. 620 *621 * This function induces various "status" messages.622 620 */ 623 static void calc_bonuses( void)621 static void calc_bonuses(object_type inventory[]) 624 622 { 625 623 int i, j, hold; 626 627 int old_speed;628 629 int old_telepathy;630 int old_see_inv;631 632 int old_dis_ac;633 int old_dis_to_a;634 624 635 625 int extra_blows; … … 637 627 int extra_might; 638 628 639 int old_stat_top[A_MAX];640 int old_stat_use[A_MAX];641 int old_stat_ind[A_MAX];642 643 bool old_heavy_shoot;644 bool old_heavy_wield;645 bool old_icky_wield;646 647 629 object_type *o_ptr; 648 630 649 631 u32b f1, f2, f3; 650 651 652 /*** Memorize ***/653 654 /* Save the old speed */655 old_speed = p_ptr->pspeed;656 657 /* Save the old vision stuff */658 old_telepathy = p_ptr->telepathy;659 old_see_inv = p_ptr->see_inv;660 661 /* Save the old armor class */662 old_dis_ac = p_ptr->dis_ac;663 old_dis_to_a = p_ptr->dis_to_a;664 665 /* Save the old stats */666 for (i = 0; i < A_MAX; i++)667 {668 old_stat_top[i] = p_ptr->stat_top[i];669 old_stat_use[i] = p_ptr->stat_use[i];670 old_stat_ind[i] = p_ptr->stat_ind[i];671 }672 673 old_heavy_shoot = p_ptr->heavy_shoot;674 old_heavy_wield = p_ptr->heavy_wield;675 old_icky_wield = p_ptr->icky_wield;676 632 677 633 … … 1331 1287 } 1332 1288 1333 1334 /*** Notice changes ***/ 1289 return; 1290 } 1291 1292 /* 1293 * Calculate bonuses, and print various things on changes. 1294 */ 1295 void update_bonuses(void) 1296 { 1297 int i; 1298 1299 int old_speed; 1300 1301 int old_telepathy; 1302 int old_see_inv; 1303 1304 int old_dis_ac; 1305 int old_dis_to_a; 1306 1307 int old_stat_top[A_MAX]; 1308 int old_stat_use[A_MAX]; 1309 int old_stat_ind[A_MAX]; 1310 1311 bool old_heavy_shoot; 1312 bool old_heavy_wield; 1313 bool old_icky_wield; 1314 1315 1316 1317 /*** Memorize ***/ 1318 1319 /* Save the old speed */ 1320 old_speed = p_ptr->pspeed; 1321 1322 /* Save the old vision stuff */ 1323 old_telepathy = p_ptr->telepathy; 1324 old_see_inv = p_ptr->see_inv; 1325 1326 /* Save the old armor class */ 1327 old_dis_ac = p_ptr->dis_ac; 1328 old_dis_to_a = p_ptr->dis_to_a; 1329 1330 /* Save the old stats */ 1331 for (i = 0; i < A_MAX; i++) 1332 { 1333 old_stat_top[i] = p_ptr->stat_top[i]; 1334 old_stat_use[i] = p_ptr->stat_use[i]; 1335 old_stat_ind[i] = p_ptr->stat_ind[i]; 1336 } 1337 1338 old_heavy_shoot = p_ptr->heavy_shoot; 1339 old_heavy_wield = p_ptr->heavy_wield; 1340 old_icky_wield = p_ptr->icky_wield; 1341 1342 1343 1344 /*** Calculate bonuses ***/ 1345 1346 calc_bonuses(inventory); 1347 1348 1349 1350 /* Notice changes */ 1335 1351 1336 1352 /* Analyze stats */ … … 1380 1396 } 1381 1397 1398 1382 1399 /* Hack -- Telepathy Change */ 1383 1400 if (p_ptr->telepathy != old_telepathy) … … 1522 1539 { 1523 1540 p_ptr->update &= ~(PU_BONUS); 1524 calc_bonuses();1541 update_bonuses(); 1525 1542 } 1526 1543 trunk/src/player/types.h
r996 r998 142 142 s16b stat_top[A_MAX]; /* Maximal modified stats */ 143 143 144 145 /* Generation fields (for quick start) */ 146 s32b au_birth; /* Birth gold */ 147 s16b stat_birth[A_MAX]; /* Birth "natural" stat values */ 148 s16b ht_birth; /* Birth Height */ 149 s16b wt_birth; /* Birth Weight */ 150 151 144 152 /*** Extracted fields ***/ 153 154 s16b pspeed; /* Current speed */ 155 156 s16b num_blow; /* Number of blows */ 157 s16b num_fire; /* Number of shots */ 158 159 byte ammo_mult; /* Ammo multiplier */ 160 byte ammo_tval; /* Ammo variety */ 145 161 146 162 s16b stat_add[A_MAX]; /* Equipment stat bonuses */ 147 163 s16b stat_ind[A_MAX]; /* Indexes into stat tables */ 164 165 s16b dis_ac; /* Known base ac */ 166 s16b ac; /* Base ac */ 167 168 s16b dis_to_a; /* Known bonus to ac */ 169 s16b to_a; /* Bonus to ac */ 170 171 s16b to_h; /* Bonus to hit */ 172 s16b dis_to_h; /* Known bonus to hit */ 173 174 s16b to_d; /* Bonus to dam */ 175 s16b dis_to_d; /* Known bonus to dam */ 176 177 s16b see_infra; /* Infravision range */ 178 179 s16b skills[SKILL_MAX]; /* Skills */ 180 181 u32b noise; /* Derived from stealth */ 148 182 149 183 bool vuln_acid; … … 199 233 200 234 bool bless_blade; /* Blessed blade */ 201 202 s16b dis_to_h; /* Known bonus to hit */203 s16b dis_to_d; /* Known bonus to dam */204 s16b dis_to_a; /* Known bonus to ac */205 206 s16b dis_ac; /* Known base ac */207 208 s16b to_h; /* Bonus to hit */209 s16b to_d; /* Bonus to dam */210 s16b to_a; /* Bonus to ac */211 212 s16b ac; /* Base ac */213 214 s16b see_infra; /* Infravision range */215 216 s16b skills[SKILL_MAX]; /* Skills */217 218 u32b noise; /* Derived from stealth */219 220 s16b num_blow; /* Number of blows */221 s16b num_fire; /* Number of shots */222 223 byte ammo_mult; /* Ammo multiplier */224 225 byte ammo_tval; /* Ammo variety */226 227 s16b pspeed; /* Current speed */228 229 /* Generation fields (for quick start) */230 s32b au_birth; /* Birth gold */231 s16b stat_birth[A_MAX]; /* Birth "natural" stat values */232 s16b ht_birth; /* Birth Height */233 s16b wt_birth; /* Birth Weight */234 235 }; 235 236
