summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/skill_menu.cc
diff options
context:
space:
mode:
authorBrendan Hickey <brendan@bhickey.net>2014-06-12 01:19:39 +0000
committerBrendan Hickey <brendan@bhickey.net>2014-06-12 01:21:04 +0000
commit7c1a5597fd584d7b42c61b9cbf5a88e1c8f43a0b (patch)
treec180d82d5dd89e1025bbcc0b2cb00a772fc9a85e /crawl-ref/source/skill_menu.cc
parent2e5c74cbc0fdefbc508c83c0693159720cbe6fc8 (diff)
downloadcrawl-ref-7c1a5597fd584d7b42c61b9cbf5a88e1c8f43a0b.tar.gz
crawl-ref-7c1a5597fd584d7b42c61b9cbf5a88e1c8f43a0b.zip
Convert crosstraining into an enhancer bonus
Remove traditional crosstraining. Replace it with a 20% skillpoint enhancer bonus.
Diffstat (limited to 'crawl-ref/source/skill_menu.cc')
-rw-r--r--crawl-ref/source/skill_menu.cc64
1 files changed, 15 insertions, 49 deletions
diff --git a/crawl-ref/source/skill_menu.cc b/crawl-ref/source/skill_menu.cc
index 9108f8db0f..613420c35b 100644
--- a/crawl-ref/source/skill_menu.cc
+++ b/crawl-ref/source/skill_menu.cc
@@ -297,8 +297,6 @@ COLORS SkillMenuEntry::get_colour() const
return LIGHTGREEN;
return you.train[m_sk] ? LIGHTGREEN : GREEN;
}
- else if (crosstrain_bonus(m_sk) > 1 && is_set(SKMF_APTITUDE))
- return GREEN;
else if (you.train[m_sk] == 2)
return WHITE;
else
@@ -326,23 +324,6 @@ string SkillMenuEntry::get_prefix()
#endif
}
-static bool _crosstrain_other(skill_type sk, skill_menu_state state)
-{
- vector<skill_type> crosstrain_skills = get_crosstrain_skills(sk);
-
- for (unsigned int i = 0; i < crosstrain_skills.size(); ++i)
- {
- if (you.skill(crosstrain_skills[i], 10, true)
- <= you.skill(sk, 10, true) - CROSSTRAIN_THRESHOLD
- && _show_skill(crosstrain_skills[i], state))
- {
- return true;
- }
- }
-
- return false;
-}
-
void SkillMenuEntry::set_aptitude()
{
string text = "<white>";
@@ -350,39 +331,28 @@ void SkillMenuEntry::set_aptitude()
const bool manual = skill_has_manual(m_sk);
const int apt = species_apt(m_sk, you.species);
- // Crosstraining + manuals aptitude bonus.
- int ct_bonus = manual ? 4 : 0;
-
- for (int ct_mult = crosstrain_bonus(m_sk); ct_mult > 1; ct_mult /= 2)
- ct_bonus += 4;
+ // Manuals aptitude bonus.
+ int manual_bonus = manual ? 4 : 0;
if (apt != 0)
text += make_stringf("%+d", apt);
else
text += make_stringf(" %d", apt);
- text += "</white>";
-
- if (_crosstrain_other(m_sk, skm.get_state(SKM_SHOW)))
- {
- skm.set_flag(SKMF_CROSSTRAIN);
- text += "<green>*</green>";
- }
- else
- text += " ";
+ text += "</white> ";
- if (ct_bonus)
+ if (manual_bonus)
{
- skm.set_flag(SKMF_CROSSTRAIN);
- text += manual ? "<lightgreen>" : "<green>";
+ skm.set_flag(SKMF_MANUAL);
+ text += "<lightgreen>";
// Only room for two characters.
- if (ct_bonus < 10)
- text += make_stringf("+%d", ct_bonus);
+ if (manual_bonus < 10)
+ text += make_stringf("+%d", manual_bonus);
else
- text += make_stringf("%d", ct_bonus);
+ text += make_stringf("%d", manual_bonus);
- text += manual ? "</lightgreen>" : "</green>";
+ text += "</lightgreen>";
}
m_aptitude->set_text(text);
@@ -557,9 +527,7 @@ string SkillMenuSwitch::get_help()
case SKM_LEVEL_ENHANCED:
if (skm.is_set(SKMF_ENHANCED))
{
- return make_stringf("Skills enhanced by the power of %s are in "
- "<blue>blue</blue>. ",
- god_name(you.religion).c_str());
+ return make_stringf("Enhanced skills are in <blue>blue</blue>.");
}
else
{
@@ -1227,7 +1195,7 @@ void SkillMenu::set_default_help()
text = hints_skills_info();
else
{
- if (!is_set(SKMF_CROSSTRAIN))
+ if (!is_set(SKMF_MANUAL))
text = m_switches[SKM_VIEW]->get_help();
if (get_state(SKM_LEVEL) == SKM_LEVEL_ENHANCED)
@@ -1235,12 +1203,10 @@ void SkillMenu::set_default_help()
else
text += "The species aptitude is in <white>white</white>. ";
- if (is_set(SKMF_CROSSTRAIN))
+ if (is_set(SKMF_MANUAL))
{
- text += "Crosstraining is in <green>green</green>. ";
- text += "The skill responsible for the bonus is marked with "
- "'<green>*</green>'.";
+ text += "Manual usage is in <green>green</green>. ";
}
}
@@ -1269,7 +1235,7 @@ void SkillMenu::set_skills()
SkillMenuEntry::m_letter = '9';
bool default_set = false;
- clear_flag(SKMF_CROSSTRAIN);
+ clear_flag(SKMF_MANUAL);
int col = 0, ln = 0;