summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/skills2.cc
diff options
context:
space:
mode:
authorPekka Lampila <pekka.lampila@iki.fi>2013-06-07 01:17:12 +0300
committerNeil Moore <neil@s-z.org>2013-06-06 19:33:32 -0400
commite0bb6f7075ee525a3d28584a897f08090cac4a77 (patch)
treef2b624031a436eace87cd3782c78040c2dae7cce /crawl-ref/source/skills2.cc
parentd28d70e7ab6c23aa07cbc7a57fa446b8c1a881d2 (diff)
downloadcrawl-ref-e0bb6f7075ee525a3d28584a897f08090cac4a77.tar.gz
crawl-ref-e0bb6f7075ee525a3d28584a897f08090cac4a77.zip
Always study all manuals in the inventory
Multiple manuals for different skills can be used at once. If there are multiple manuals for the same skill, the one with least charges is used up first.
Diffstat (limited to 'crawl-ref/source/skills2.cc')
-rw-r--r--crawl-ref/source/skills2.cc7
1 files changed, 3 insertions, 4 deletions
diff --git a/crawl-ref/source/skills2.cc b/crawl-ref/source/skills2.cc
index c881f95c96..98141fe4b2 100644
--- a/crawl-ref/source/skills2.cc
+++ b/crawl-ref/source/skills2.cc
@@ -18,6 +18,7 @@
#include "artefact.h"
#include "describe.h"
+#include "evoke.h"
#include "externs.h"
#include "godabil.h"
#include "libutil.h"
@@ -876,8 +877,7 @@ void skill_state::save()
auto_training = you.auto_training;
exp_available = you.exp_available;
total_experience = you.total_experience;
- if (!is_invalid_skill(you.manual_skill))
- manual_charges = you.inv[you.manual_index].plus2;
+ get_all_manual_charges(manual_charges);
for (int i = 0; i < NUM_SKILLS; i++)
{
real_skills[i] = you.skill((skill_type)i, 10, true);
@@ -894,8 +894,7 @@ void skill_state::restore_levels()
you.skill_order = skill_order;
you.exp_available = exp_available;
you.total_experience = total_experience;
- if (!is_invalid_skill(you.manual_skill))
- you.inv[you.manual_index].plus2 = manual_charges;
+ set_all_manual_charges(manual_charges);
}
void skill_state::restore_training()