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