diff options
author | elliptic <hyperelliptical@gmail.com> | 2013-01-21 01:27:34 -0500 |
---|---|---|
committer | elliptic <hyperelliptical@gmail.com> | 2013-01-21 01:27:34 -0500 |
commit | 5ee08d1f5a5422be3032fc60d8ec53eca1b05b66 (patch) | |
tree | 96bb402e579ec0593c1358b0e386615ad6f4a903 /crawl-ref/source/skills2.cc | |
parent | 5601ff7d2e78a6bebe89bcd95a40d4ed1aa6563e (diff) | |
download | crawl-ref-5ee08d1f5a5422be3032fc60d8ec53eca1b05b66.tar.gz crawl-ref-5ee08d1f5a5422be3032fc60d8ec53eca1b05b66.zip |
Weight Vehumet spell gifts based on your elemental skills.
Diffstat (limited to 'crawl-ref/source/skills2.cc')
-rw-r--r-- | crawl-ref/source/skills2.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crawl-ref/source/skills2.cc b/crawl-ref/source/skills2.cc index 5277fde1bd..04145a5577 100644 --- a/crawl-ref/source/skills2.cc +++ b/crawl-ref/source/skills2.cc @@ -638,6 +638,24 @@ static skill_type _get_opposite(skill_type sk) } } +int elemental_preference(skill_type sk, int scale) +{ + const skill_type sk2 = _get_opposite(sk); + if (sk2 == SK_NONE) + return 0; + return (you.skill(sk, scale) - you.skill(sk2, scale)); +} + +int elemental_preference(spell_type spell, int scale) +{ + skill_set skill_list; + spell_skills(spell, skill_list); + int preference = 0; + for (skill_set_iter it = skill_list.begin(); it != skill_list.end(); ++it) + preference += elemental_preference(*it, scale); + return preference; +} + /* * Compare skill levels * |