Wizards learn about spellbooks as they enhance their spell skills
Previously, Wizards got a boost to the chance of writing unknown spellbooks based purely on being a Wizard (with the chance still luck-based), leading to a very large power spike when the Wizard gained access to a luckstone and the ability to max out luck. This had two main issues: this power spike came *after* the major early-game difficulty spike, often leaving Wizards forced to deal with it without having appropriate spells; and it promotes grinding (for Luck and for Magicbane) at an early point in the game, meaning that the Wizard early game effectively followed a sequence of extreme difficulty -> grinding -> minimal difficulty, which isn't very good balance-wise. With this commit, Wizards lose their advantage to writing unknown spellbooks by guessing, and instead learn spellbook IDs based on their spell skills (advancing a skill gives knowledge of higher- level spellbooks). This means that writing unknown spellbooks becomes guaranteed with sufficient skill, but has no advantage over non-Wizards in schools where the Wixard does not have sufficient skill. Due to Wizards' skill caps, there are two spells which they can't ever write guaranteed: create familiar and charm monster. Create familiar is a fairly niche spell (that doesn't match the Wizard playstyle that well) and being unable to write it is not a major problem. The inability to easily write charm monster is intentional.
This commit is contained in:
@@ -313,8 +313,8 @@ dowrite(struct obj *pen)
|
||||
/*
|
||||
* Writing by name requires that the hero knows the scroll or
|
||||
* book type. One has previously been read (and its effect
|
||||
* was evident) or been ID'd via scroll/spell/throne and it
|
||||
* will be on the discoveries list.
|
||||
* was evident) or been ID'd via scroll/spell/throne (or skill
|
||||
* for Wizards) and it will be on the discoveries list.
|
||||
* Unknown spellbooks can also be written by name if the hero
|
||||
* has fresh knowledge of the spell, or if the spell is almost
|
||||
* forgotten and the hero is Lucky (with a greater chance than
|
||||
@@ -349,7 +349,8 @@ dowrite(struct obj *pen)
|
||||
/* else fresh knowledge of the spell works */
|
||||
&& spell_knowledge != spe_Fresh
|
||||
/* and Luck might override after previous checks have failed */
|
||||
&& rnl((Role_if(PM_WIZARD) || spell_knowledge == spe_GoingStale)
|
||||
&& rnl(((Role_if(PM_WIZARD) && paper->oclass != SPBOOK_CLASS) ||
|
||||
spell_knowledge == spe_GoingStale)
|
||||
? 5 : 15)) {
|
||||
You("%s to write that.", by_descr ? "fail" : "don't know how");
|
||||
/* scrolls disappear, spellbooks don't */
|
||||
|
||||
Reference in New Issue
Block a user