My only suggestion at this point, without being able to look at your
code as it was running, would be to put the mud into gdb and track the
code through there as it copyover's, using a test character with some of
those affects, and see if it's just not stripping them and doubling them
up, or if it's going through a loop (since you said they go *way* up)
and just stacking the affects or what, and also you could use the same
series of steps to track character values as they log off and log on,
and see why the code isn't setting those affects like it should be...

Richard Lindsey
Network Administrator
INTERA, Inc.
9111A Research Blvd.
Austin, TX  78758
(512) 425-2006
[EMAIL PROTECTED]
 

-----Original Message-----
From: Valnir [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, March 10, 2004 5:36 AM
To: Richard Lindsey; [email protected]
Subject: Re: Affects do not re-apply properly.

Ok, I fixed a lot of my problems, including many affects not returning.

The big problems I have now deal with 2 things.

On hotboot (live reboot with no player disconnect), the players HITROLL
and
DAMROLL go way up if they are affected by any modifiers of these. It's
like
it's not releasing them before it reloads the character file.

The other is that the character is not affected by TO_RESIST or
TO_IMMUNE
that is set on equipment when they quit on log back on. Only when they
remove and re-wear the equipment.

Thoughts or ideas??

-Valnir

----- Original Message ----- 
From: "Richard Lindsey" <[EMAIL PROTECTED]>
To: "Valnir" <[EMAIL PROTECTED]>; <[email protected]>
Sent: Wednesday, March 03, 2004 9:45 AM
Subject: RE: Affects do not re-apply properly.


How about you try this and see if it works for you, it's what I use for
applying affects, and I think most of stock rom does... instead of an
AFFECT_DATA *paf, make it an AFFECT_DATA paf, no pointer, then
substitute periods for the ->'s and use the affect_to_char function like
so:

                paf.where      = fread_number( fp );
                paf.level      = fread_number( fp );
                paf.duration   = fread_number( fp );
                paf.modifier   = fread_number( fp );
                paf.location   = fread_number( fp );
                paf.bitvector  = fread_number( fp );
                paf.next       = ch->affected;
    affect_to_char(ch, &af);

Richard Lindsey


-----Original Message-----
From: Valnir [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 02, 2004 7:11 PM
To: [email protected]
Subject: Re: Affects do not re-apply properly.

Yes, that is the line above..

here is code I have:

                paf->where      = fread_number( fp );
                paf->level      = fread_number( fp );
                paf->duration   = fread_number( fp );
                paf->modifier   = fread_number( fp );
                paf->location   = fread_number( fp );
                paf->bitvector  = fread_number( fp );
                paf->next       = ch->affected;
                ch->affected    = paf;
                affect_modify( ch, paf, TRUE );         /* affect fix */

                fMatch = TRUE;
                break;


now that we have the formalities out of the way.. HELP! :)

- Valnir



Reply via email to