Re: [CODE] Experience Idea

From: Patrick J. Dughi (dughi@IMAXX.NET)
Date: 04/07/98


> Greetings,
>   The gods on my mud have been mulling over the hack/slash concept and
> trying our bests to make the mud still just as fun, but far less
> hack/slash.  An idea I came up with and am about to commit myself to would
> be lessening experience given by mobs each time a character kills that
> mob.  Not only does this make _sense_, but it would fix our problem.
>   My current code design is to create a plr_mob directory, under lib, that
> will keep a track of mobs that the player has killed and the number.  Each
> time a mob is killed and gain_exp() is called, it will do various lookups
> from the file, similiar to objects.

        You might want to double check, i know that this was a hot
discussion item about a year and say 8 months ago.  There's quite a few
muds that actually have this implemented, limiting at around 100 mobs
types that it remembere at one time ...(counting..)...
         wouldn't put it in a file and read each time.. just make an array
of say 100 maybe, based on your max vnum, but array of structs like:

        struct this_struct {
          int vnum;   /* mob vnum */
          int numtime; /* number of times it was killed */
          struct this_struct *next;
        }

                and just hash to an appropiate array upon checkup, throw
your collisions at the end, and write another function to go through and
clear out anything that is _x_ levels below the current player (or per
level, or something.. you're not going to care if he killed 3 million
fidos at level 290..)

        Easy, and throw it in player specials saved  (requiring a pfile
conversion or wipe...less you've got ascii *yay ascii*)

                                                PjD


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



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