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:
nethack.rankin
2002-07-13 12:39:10 +00:00
parent 30f6fbb5fe
commit 615d9dde2b
2 changed files with 3 additions and 3 deletions

View File

@@ -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

View File

@@ -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);