summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/effects.cc9
-rw-r--r--crawl-ref/source/spl-book.cc7
2 files changed, 6 insertions, 10 deletions
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc
index 3c4e77a854..9220fb12b5 100644
--- a/crawl-ref/source/effects.cc
+++ b/crawl-ref/source/effects.cc
@@ -1319,8 +1319,7 @@ static int _spell_weight(spell_type spell)
int disc = 1 << i;
if (disciplines & disc)
{
- int skill = you.skills[spell_type2skill(disc)]
- * 100 / species_skills(i, you.species);
+ int skill = you.skills[spell_type2skill(disc)];
weight += skill + 1;
count++;
@@ -1405,7 +1404,7 @@ static void _do_book_acquirement(item_def &book, int agent)
if (is_invalid_skill(i))
continue;
- int weight = you.skills[i] * 100 / species_skills(i, you.species);
+ int weight = you.skills[i];
// Anyone can get Spellcasting 1. Doesn't prove anything.
if (i == SK_SPELLCASTING && weight >= 1)
@@ -1497,9 +1496,7 @@ static void _do_book_acquirement(item_def &book, int agent)
continue;
}
- int skill = you.skills[i]
- * 100 / species_skills(i, you.species);
-
+ int skill = you.skills[i];
int w = (skill < 12) ? skill + 3
: std::max(0, 25 - skill);
diff --git a/crawl-ref/source/spl-book.cc b/crawl-ref/source/spl-book.cc
index f35903dfdb..65052132b5 100644
--- a/crawl-ref/source/spl-book.cc
+++ b/crawl-ref/source/spl-book.cc
@@ -2098,11 +2098,10 @@ static bool _get_weighted_discs(bool completely_random, god_type god,
for (int i = 0; i < num_discs; i++)
{
int skill = skills[i];
- int weight = you.skills[skill]
- * 200 / species_skills(skill, you.species) + 1;
+ int weight = 2 * you.skills[skill] + 1;
- if (spellcount[i] < 5)
- weight -= 5 - spellcount[i];
+ if (spellcount[i] < 3)
+ weight *= spellcount[i]/3;
skill_weights[i] = std::max(0, weight);
total_skills += skill_weights[i];