Re: Possible bug in bpl10

From: Al Figliolia (alfig@accessnv.com)
Date: 04/08/96


On Sun, 7 Apr 1996, ShadowLord wrote:

> On Mon, 8 Apr 1996, Mac wrote:
> 
> >
> > Sure thing, here's what you have to do.
> > THe price for each pet is 3 times it's experience.
> > So go set the experince (which is currenlty 0)
> > in the 30.mob file. circle30bpl10/lib/world/mob
> > I believe it is the second 0 in the mob file
> > (see building.doc)
> > Just change it for each pet, and you are all set.
> 
> 
> This is not a good thing to do.  Players will be able to, in essence, buy
> experience points.  All they'd need to do is stumble around the MUD
> collecting coins people didn't pick up, buy pets, kill the pets, kill
> something of their level for more coins, buy pets, kill the pets, etc.,
> etc.
> 
> What I did was change it so the cost was the level of the pet * 40, i
> think it was.  It might have been more/less, I don't particularly
> remember.  Anyway, you get the general idea. :)
> 

Code exerpt from spec_procs.c :
    GET_GOLD(ch) -= GET_EXP(pet) * 3; /* Take players gold */

    pet = read_mobile(GET_MOB_RNUM(pet), REAL); /* load mob, and get a 
                                                   pointer for free */
--> GET_EXP(pet) = 0; /* Get rid of that nasty exp the loaded mob had */
    SET_BIT(AFF_FLAGS(pet), AFF_CHARM); /* Make sure he is following and
                                           charmed */

If you look at the line with the '-->' you see that after the pet is loaded,
its exp gets set to 0... so no you are not in essence selling the player exp.
Its just one of those silly ways of handling problems that still work, and
you always think you know a better way. :)

alfig@accessnv.com - Al Figliolia
east.isx.com 3456  - CrimsonMUD Alpha 0.14



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