I'm not sure what happened but this seems to no longer work.
[ 715] Hawk's Square [ * ] [ City ][T 497 1219]
The heart of the city, the square is a large open grass area with a giant
leatherleaf tree at its center, where it provides shade for an ornate fountain.
Oversized benches seemingly made from a single piece of wood surround the
fountain, with beds of colorful flowers flowing like rivers. Several side
streets branch off further into the city.
[ Exits: n e s w ]
[728] The Founder's Monument for the City of Hawk's Gate rises from the ground.
[719] A three tiered fountain holds pools of clear water.
Vivtest the Hunter is standing here.
[726] [TRIGS] A washerwoman is here with a stack of laundry.
i1 510hp 110mn 92mv>
pracreset vivtest
That player is not here.
i1 510hp 110mn 92mv>
A Hawkguard has arrived.
i1 510hp 110mn 92mv>
pracreset washerwoman
That player is not here.
Clearly the player is in front of me, and for the washerwoman it should return "NO! Not on NPC's."
Code:
ACMD(do_pracreset) /* Removes all practiced skills, resets prac points available */
{
struct char_data *victim;
int i;
if (*argument) {
if (!(victim = get_char_vis(ch, argument, NULL, FIND_CHAR_WORLD))) {
send_to_char(ch, "That player is not here.\r\n");
return;
}
} else {
send_to_char(ch, "Reset whose practices?\r\n");
return;
}
if (GET_LEVEL(ch) <= GET_LEVEL(victim)) {
send_to_char(ch, "Maybe that's not such a great idea.\r\n");
return;
}
if (IS_NPC(victim)) {
send_to_char(ch, "NO! Not on NPC's.\r\n");
return;
}
for (i = 1; i <= MAX_SKILLS; i++)
SET_SKILL(victim, i, 0);
switch (GET_CLASS(victim)) {
case CLASS_MAGICUSER:
SET_SKILL(victim, SPELL_ARROWSOFFIRE, 5);
break;
case CLASS_WARRIOR:
SET_SKILL(victim, SKILL_BASH, 5);
break;
case CLASS_HUNTER:
SET_SKILL(victim, SKILL_KICK, 5);
break;
case CLASS_ROGUE:
SET_SKILL(victim, SKILL_STEAL, 5);
break;
}
GET_PRACTICES(victim) = 0;
if (IS_MAGICUSER(victim) || IS_HUNTER(victim))
GET_PRACTICES(victim) += ((MAX(2, wis_app[GET_WIS(victim)].bonus)) * GET_LEVEL(victim));
else
GET_PRACTICES(ch) += ((MIN(2, MAX(1, wis_app[GET_WIS(victim)].bonus)) * GET_LEVEL(victim)));
send_to_char(ch, "%s", CONFIG_OK);
save_char(victim);
}