B4003 - exercising spell skills
The spellcasting code stopped counting a spell class's skill
exercise once that reached expert, so the only way that it could
end up being flagged as having reached maximum in the #enhance
feedback would be if it had already received enough exercise to
reach the hypothetical level beyond expert while it was still at
skilled or less.
It also didn't count the exercise if you were restricted in
the spell class, but that wasn't necessary because becoming
unrestricted--which I don't think is even possible for spells at
present--resets the counter back to 0 to discard any exercise
achieved while ineligible.
This commit is contained in:
@@ -156,6 +156,7 @@ kicking a known, unseen monster would sometimes leave behind an extra I symbol
|
||||
applying a lance against a long worm could cause an impossible
|
||||
a knight applying a lance did not do a caitiff check
|
||||
blessed gain level when already at level 30 won't reduce experience points
|
||||
keep counting spell skill exercise even after expert status is reached
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)spell.c 3.4 2002/03/27 */
|
||||
/* SCCS Id: @(#)spell.c 3.4 2002/07/12 */
|
||||
/* Copyright (c) M. Stephenson 1988 */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -891,8 +891,7 @@ boolean atme;
|
||||
}
|
||||
|
||||
/* gain skill for successful cast */
|
||||
if (role_skill != P_ISRESTRICTED && role_skill < P_EXPERT)
|
||||
use_skill(skill, spellev(spell));
|
||||
use_skill(skill, spellev(spell));
|
||||
|
||||
obfree(pseudo, (struct obj *)0); /* now, get rid of it */
|
||||
return(1);
|
||||
|
||||
Reference in New Issue
Block a user