From 615d9dde2b368781ef12165f337c20f89c5a05a8 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Sat, 13 Jul 2002 12:39:10 +0000 Subject: [PATCH] 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. --- doc/fixes34.1 | 1 + src/spell.c | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 9c88e1f20..6332f7d97 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -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 diff --git a/src/spell.c b/src/spell.c index 9d3c9de0b..4c17da74c 100644 --- a/src/spell.c +++ b/src/spell.c @@ -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);