summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/skills2.cc
diff options
context:
space:
mode:
authorelliptic <hyperelliptical@gmail.com>2013-01-21 01:27:34 -0500
committerelliptic <hyperelliptical@gmail.com>2013-01-21 01:27:34 -0500
commit5ee08d1f5a5422be3032fc60d8ec53eca1b05b66 (patch)
tree96bb402e579ec0593c1358b0e386615ad6f4a903 /crawl-ref/source/skills2.cc
parent5601ff7d2e78a6bebe89bcd95a40d4ed1aa6563e (diff)
downloadcrawl-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.cc18
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
*