Re: OLC/MOBPROG: MOBPROG + oasis

From: Edward Almasy (almasy@axis.com)
Date: 05/22/96


David Blocher writes:
> I remember seeing a patch here for OasisOLC that would leave Mob progs in
> tact when you edit them......  Is that patch included in the 1.2 version, if
> not can somebody please repost or mail me that earlier mail message.

Here is the patch again.  I'll also upload it to ftp.circlemud.org.


For those of you using (or wanting to use) OasisOLC who are also using
mobprogs, here's an addition to medit_save_to_disk() (in medit.c) that
preserves any mobprogs attached when the mobs for a zone are saved.  It
goes in right after the line with "fprintf(mob_file, "E\n");" on it.

  {
    MPROG_DATA *pstMProg;
    char       *pcSrc;
    char       *pcDst;

    /* write out mobprogs (if any) */
    pstMProg = mob_index[rmob_num].mobprogs;
    while (pstMProg != NULL)
    {
      pcSrc = pstMProg->comlist;
      pcDst = buf;
      while (*pcSrc != '\0')
      {
        if (*pcSrc != '\r')
        {
          *pcDst = *pcSrc;
          pcDst++;
        }
        pcSrc++;
      }
      *pcDst = '\0';

      fprintf(mob_file, ">%s%s~\n%s~\n",
          ((pstMProg->type == IN_FILE_PROG) ?   "in_file_prog" :
          ((pstMProg->type == ACT_PROG) ?       "act_prog" :
          ((pstMProg->type == SPEECH_PROG) ?    "speech_prog" :
          ((pstMProg->type == RAND_PROG) ?      "rand_prog" :
          ((pstMProg->type == FIGHT_PROG) ?     "fight_prog" :
          ((pstMProg->type == HITPRCNT_PROG) ?  "hitprcnt_prog" :
          ((pstMProg->type == DEATH_PROG) ?     "death_prog" :
          ((pstMProg->type == ENTRY_PROG) ?     "entry_prog" :
          ((pstMProg->type == GREET_PROG) ?     "greet_prog" :
          ((pstMProg->type == ALL_GREET_PROG) ? "all_greet_prog" :
          ((pstMProg->type == GIVE_PROG) ?      "give_prog" :
          ((pstMProg->type == BRIBE_PROG) ?     "bribe_prog" : "ERROR")))))))))))),
          pstMProg->arglist, buf);
   
      pstMProg = pstMProg->next;
    }
    if (mob_index[rmob_num].mobprogs != NULL) fprintf(mob_file, "|\n");
  }


 \_\_\_     _/ \_\_\_  axis data: specializing in online system setup & design
 \_  \_     _/ \_  \_    Edward Almasy                       almasy@axis.com  
 \_\_\_     _/ \_\_\_    President: Axis Data       Proprietor: NineJackNine
     \_ _/  _/     \_    608-256-5732 (voice)            608-256-5697 (data)
 \_\_\_ _/_/_/ \_\_\_  9jack9: on the bleeding edges of culture and technology
  Nine   Jack   Nine      33 University Square  Suite 131  Madison WI 53715



This archive was generated by hypermail 2b30 : 12/18/00 PST