smaugfuss 1.9 Mob repop in academy problem

Posted by Vandius on Tue 29 Apr 2008 04:34 PM — 14 posts, 51,634 views.

#0
I started a test character last night, and i went through the academy and killed everything and got all the equip. went into the battlegrounds and killed the mobs in there as well.

i then logged off and left the server running.

i got up this morning and logged back in, and all the mobs are still missing. none of them repopped. how do i get the area to reset the mobs, because it is failing to do this vital little thing.
#1
Check that all the resets for the mobs are still there, and that you didn't delete them. :)
#2
they are all still there, but it takes me rebooting the mud to get them to repop.
anybody got any ideas on how to get this to repop mobs automatically?
Amended on Wed 30 Apr 2008 01:24 AM by Vandius
Australia Forum Administrator #3
I don't have any problems with mobs repopping. Have you changed the area file? At the start of newacad.are I see:


#FUSSAREA
#AREADATA
Version      1
Name         Darkhaven Academy~
Author       Scarab~
WeatherX     0
WeatherY     0
Ranges       1 5 0 60
Economy      0 497818680
ResetMsg     You hear the patter of little feet as the battleground teems with life...~
ResetFreq    3
Flags        nopkill~
#ENDAREADATA


That means the mobs should repop every 3 minutes.

Do you see the repop message in the area? ("You hear the patter of little feet as the battleground teems with life...").
#4
i see the message and the area data is just the same, it just doesn't actually repop the mobs. this is why it baffles me that it isn't working. i even tried uninstalling and reinstalling the whole source download. still the same thing
USA #5
Have you tried 'reset area' and see if that works?
#6
Hey all, I just wanted to report that I've also encountered this problem. I'm new to running MUDs, though I've always wanted to do so; SmaugFUSS was recommended to me, and it seems to work pretty well so far.

Like the OP though, I've also found a problem with the respawns not working properly in the Academy: the caged mobs, the battlegrounds mobs, etc. aren't working. I'm using a vanilla SmaugFUSS 1.9 downloaded from this site, so I don't think there's any danger of the resets having been altered yet.

The only thing I may have done out-of-the-ordinary was use the Slay command on some of the mobs (or maybe even all of them at some point, just messing around). Does the Slay command have any effect on resets? Additionally, should 'reset area' instantly repopulate all dead monsters or does it still wait for the repop timer to trigger them?

My apologies for some of the basic newbie questions, but if something isn't working right to start with, it's going to be much harder for me to get a handle on how to actually manipulate the system. Thanks in advance!
Australia Forum Administrator #7
I confirm this appears to be happening to me too. I am firing up gdb to work out why ...
Australia Forum Administrator #8
The problem seems to be in this code in reset.c at line 533:


            if( !pReset->sreset )
            {
               mob = NULL;
               break;
            }


Once the mob resets once (when the area is loaded) it sets sreset to false (line 549) like this:


pReset->sreset = false;


I can't see where that gets put back to true (which is called for every mob), and thus the mob never resets.

As an interim measure you can try commenting out that code in reset.c like this:


            if( !pReset->sreset )
            {
//               mob = NULL;
//               break;
            }


Do a "make" and try again.

However I would like some comment from the Smaug FUSS guys about what they consider the problem to be. I don't like just removing code for the sake of it.

Try their forum at http://www.smaugmuds.org/ and see if you can get a response.
Australia Forum Administrator #9
Hmmm, with that change made the naga seem to be breeding a bit:


Druids North Cage                                          -     -     -
-<---- Vnum:  10343 ----------------------------->-        -<---(*)--->-
                                                           -     S     -

[Exits: South]
+-----------+ As you loot the corpses you will be collecting your equipment, 
|           | you need to learn the commands for using your equipment. The 
|           | commands are: GET, DROP, WEAR, WIELD, HOLD, REMOVE, REPAIR, and 
|           | EXAMINE. To get a piece of equipment from a corpse you type GET 
|           | <item> CORPSE. To get an item from the ground you type GET 
|     @     | <item>. To drop a piece of equipment from your inventory, type 
|     |     | DROP <item>. To wear an item, type WEAR <item> or WEAR ALL. To 
|   O-O-O   | wield a weapon, type WIELD <item>. You may not wield a weapon 
|     |     | if you are already wielding one, you must first remove the 
|     O     | weapon you are using. To remove a weapon or item, type REMOVE 
+-----------+ <item>. Many pieces of equipment may be damaged and repaired. 
To see the condition of a piece of equipment, type EXAM <item>. If is it in 
need of repair, you need to find a blacksmith. Once in the room with the 
blacksmith, remove item to inventory and type REPAIR <item>. 
A naga is here, eyes narrowed in anger
A naga is here, eyes narrowed in anger
A naga is here, eyes narrowed in anger
A naga is here, eyes narrowed in anger


I started with just 2 of them. It looks like the issue is more complex than just commenting out that code. I suggest taking it up with the SmaugFUSS team - this must be something they know about.
Amended on Thu 08 May 2008 10:31 PM by Nick Gammon
#10
I also notice the copy on the site here says "Smaug 1.8" in the help.are greeting message. Is it just an oversight or is the version incorrect?
#11
Aha! Remcom over on the smaugmuds.org forums found the nature of the problem and fixed it:
http://www.smaugmuds.org/index.php?a=topic&t=3701&p=15176#p15176

I've compiled a new Windows version, which you can find here if you need a precompiled copy:
http://suptg.thisisnotatrueending.com/uploads/apps/smaug19win.rar
Australia Forum Administrator #12
Quote:

I also notice the copy on the site here says "Smaug 1.8" in the help.are greeting message. Is it just an oversight or is the version incorrect?


I just un-tarred the 1.9 release again, and it indeed says 1.8 in the GREETING message in help.are.

Quote:

Remcom over on the smaugmuds.org forums found the nature of the problem and fixed it:


Great! Glad it is fixed.
Australia Forum Administrator #13
To summarize what was presented in the other forum, you need to add 2 lines to stock SmaugFUSS 1.9 to fix the problem. I also needed to change a line in news.c or I got a compiler warning about the date/time format. The relevant changes are:


diff -c src/db.c ../smaugfuss1.9/src/db.c
*** src/db.c	2008-02-08 15:57:20.000000000 +1100
--- ../smaugfuss1.9/src/db.c	2008-05-13 09:54:39.000000000 +1000
***************
*** 751,756 ****
--- 751,757 ----
     pArea->credits = STRALLOC( "" );
     pArea->filename = str_dup( strArea );
     pArea->age = 15;
+    pArea->reset_frequency = 15;
     pArea->nplayer = 0;
     pArea->low_r_vnum = 0;
     pArea->low_o_vnum = 0;
diff -c src/handler.c ../smaugfuss1.9/src/handler.c
*** src/handler.c	2008-01-27 09:08:01.000000000 +1100
--- ../smaugfuss1.9/src/handler.c	2008-05-13 09:53:35.000000000 +1000
***************
*** 2512,2517 ****
--- 2512,2518 ----
      */
     if( IS_NPC( ch ) )
     {
+       update_room_reset( ch, true );
        xREMOVE_BIT( ch->act, ACT_MOUNTED );
        for( wch = first_char; wch; wch = wch->next )
        {
diff -c src/news.c ../smaugfuss1.9/src/news.c
*** src/news.c	2007-07-05 10:23:16.000000000 +1000
--- ../smaugfuss1.9/src/news.c	2008-05-13 09:56:51.000000000 +1000
***************
*** 738,744 ****
     struct tm *time;
  
     time = localtime( &current_time );
!    strftime( buf, sizeof( buf ), "%x", time );
     return buf;
  }
  
--- 738,744 ----
     struct tm *time;
  
     time = localtime( &current_time );
!    strftime( buf, sizeof( buf ), "%Y/%m/%d", time );
     return buf;
  }