Viewing Issue Simple Details
[ Jump to Notes ]
[ Wiki ]
|
[ View Advanced ]
[ Issue History ]
[ Print ]
|
ID |
Category |
Severity |
Reproducibility |
Date Submitted |
Last Update |
0008265 |
[DCSS] Patches |
feature |
N/A |
2014-03-12 02:30 |
2014-03-13 09:09 |
|
Reporter |
Lasty |
View Status |
public |
|
Assigned To |
gammafunk |
Priority |
normal |
Resolution |
done |
|
Status |
resolved |
|
Product Branch |
0.14 ancient branch |
|
Summary |
0008265: Allow players to memorize spells even when fail rate is >= 100% |
Description |
Allow players to memorize spells even when fail rate is >= 100%.
This didn't add anything beneficial, since there were several silly workarounds, including taking off armour, quaffing brilliance, putting on +wiz / +int rings, etc. when you wanted to learn a spell that you couldn't yet even remotely cast. |
Additional Information |
|
Tags |
No tags attached. |
|
Attached Files |
diff.patch [^] (542 bytes) 2014-03-12 02:30 [Show Content] [Hide Content]diff --git a/crawl-ref/source/spl-book.cc b/crawl-ref/source/spl-book.cc
index 592198dc456c60dc7a302ce9c77eb28edbee85b9..7dfa510665374b8b13f9244544f10b40d265f8e8 100644
--- a/crawl-ref/source/spl-book.cc
+++ b/crawl-ref/source/spl-book.cc
@@ -1198,12 +1198,6 @@ static bool _learn_spell_checks(spell_type specspell)
return false;
}
- if (spell_fail(specspell) >= 100 && !vehumet_is_offering(specspell))
- {
- mpr("This spell is too difficult to memorise!");
- return false;
- }
-
return true;
}
final diff.patch [^] (1,024 bytes) 2014-03-12 02:59 [Show Content] [Hide Content]diff --git a/crawl-ref/source/spl-book.cc b/crawl-ref/source/spl-book.cc
index 592198dc456c60dc7a302ce9c77eb28edbee85b9..2e9d84afc64e71bda51272fd96d023eacbf30c7e 100644
--- a/crawl-ref/source/spl-book.cc
+++ b/crawl-ref/source/spl-book.cc
@@ -1198,12 +1198,6 @@ static bool _learn_spell_checks(spell_type specspell)
return false;
}
- if (spell_fail(specspell) >= 100 && !vehumet_is_offering(specspell))
- {
- mpr("This spell is too difficult to memorise!");
- return false;
- }
-
return true;
}
@@ -1214,7 +1208,9 @@ bool learn_spell(spell_type specspell)
double chance = get_miscast_chance(specspell);
- if (chance >= 0.025)
+ if (spell_fail(specspell) >= 100 && !vehumet_is_offering(specspell))
+ mprf(MSGCH_WARN, "This spell is impossible to cast!");
+ else if (chance >= 0.025)
mprf(MSGCH_WARN, "This spell is very dangerous to cast!");
else if (chance >= 0.005)
mprf(MSGCH_WARN, "This spell is quite dangerous to cast!");
|
|