i want to create a spell which will cause a mob to forget a named
target (from MOB_MEMORY), but am not sure how to go about handling the
name to be forgotten.
the spell, when cast, should(?) look something like:
cast 'forget' <mob> <person_to_be_forgotten>
how do i handle that <person_to_be_forgotten> (i am assuming the only
way to do this is with a manual spell...).
this would be trivial if the person to be forgotten was the caster,
but i want it to be anybody ;)
ASPELL(spell_forget)
{
struct char_data *i; /* person to be forgotten */
void forget(struct char_data *ch, struct char_data *victim);
*buf = '\0';
if (ch == NULL || victim == NULL)
return;
if (!IS_NPC(victim)) {
send_to_char("This may only be case on mobs!\r\n", ch);
return;
}
if (mag_savingthrow(victim, SAVING_SPELL)) {
sprintf(buf, "%s looks at you funny, and says \'Shoo!\'\r\n", GET_NAME(victim));
send_to_char(buf, ch);
return;
}
if (!MOB_FLAGGED(victim, MOB_MEMORY)) {
sprintf(buf, "%s stares at you funny.\r\n", GET_NAME(victim));
send_to_char(buf, ch);
return;
} else {
forget(victim, i);
sprintf(buf, "%s stares at you blankly.\r\n", GET_NAME(victim));
send_to_char(buf, ch);
return;
}
}
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST