diff options
author | Bardur Arantsson <bardur@scientician.net> | 2016-09-17 09:58:13 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2016-09-17 09:58:13 +0200 |
commit | 2fa1a5e82a4e13f16ea6001c11d2452bac036d20 (patch) | |
tree | 281abb2809be83f8710d2aacab9ea342923455a7 /src/skills.cc | |
parent | ab69f8a32062d0ae44ba7af0b4e357f6a77169ea (diff) |
Unify skill_* fields into skill_modifier{,s}
Diffstat (limited to 'src/skills.cc')
-rw-r--r-- | src/skills.cc | 67 |
1 files changed, 15 insertions, 52 deletions
diff --git a/src/skills.cc b/src/skills.cc index 8949e9ad..bc508c54 100644 --- a/src/skills.cc +++ b/src/skills.cc @@ -1177,62 +1177,25 @@ bool_ forbid_non_blessed() /* - * Gets the base value of a skill, given a race/class/... + * Augment skill value/modifier with the given skill_modifiers */ -void compute_skills(s32b *v, s32b *m, int i) +static void augment_skills(s32b *v, s32b *m, skill_modifier const &s) { - s32b value, mod; - - /***** general skills *****/ - - /* If the skill correspond to the magic school lets pump them a bit */ - value = gen_skill_base[i]; - mod = gen_skill_mod[i]; - - *v = modify_aux(*v, - value, gen_skill_basem[i]); - *m = modify_aux(*m, - mod, gen_skill_modm[i]); - - /***** race skills *****/ - - value = rp_ptr->skill_base[i]; - mod = rp_ptr->skill_mod[i]; - - *v = modify_aux(*v, - value, rp_ptr->skill_basem[i]); - *m = modify_aux(*m, - mod, rp_ptr->skill_modm[i]); - - /***** race mod skills *****/ - - value = rmp_ptr->skill_base[i]; - mod = rmp_ptr->skill_mod[i]; - - *v = modify_aux(*v, - value, rmp_ptr->skill_basem[i]); - *m = modify_aux(*m, - mod, rmp_ptr->skill_modm[i]); - - /***** class skills *****/ - - value = cp_ptr->skill_base[i]; - mod = cp_ptr->skill_mod[i]; - - *v = modify_aux(*v, - value, cp_ptr->skill_basem[i]); - *m = modify_aux(*m, - mod, cp_ptr->skill_modm[i]); - - /***** class spec skills *****/ + *v = modify_aux(*v, s.base, s.basem); + *m = modify_aux(*m, s.mod, s.modm); +} - value = spp_ptr->skill_base[i]; - mod = spp_ptr->skill_mod[i]; - *v = modify_aux(*v, - value, spp_ptr->skill_basem[i]); - *m = modify_aux(*m, - mod, spp_ptr->skill_modm[i]); +/* + * Gets the base value of a skill, given a race/class/... + */ +void compute_skills(s32b *v, s32b *m, int i) +{ + augment_skills(v, m, gen_skill->modifiers[i]); + augment_skills(v, m, rp_ptr->skill_modifiers.modifiers[i]); + augment_skills(v, m, rmp_ptr->skill_modifiers.modifiers[i]); + augment_skills(v, m, cp_ptr->skill_modifiers.modifiers[i]); + augment_skills(v, m, spp_ptr->skill_modifiers.modifiers[i]); } /* |