Login
User Name:

Password:



Register

Forgot your password?
void nanny_get_new_race -- comm.c
Mar 13, 2025 7:08 am
By Elwood
IPv6
Jan 25, 2025 10:45 pm
By Samson
mudstrlcpy and mudstrlcat
Jan 18, 2025 5:23 pm
By Samson
I3 and IMC
Jan 17, 2025 9:35 pm
By Samson
AFKMud 2.5.1
Jan 17, 2025 2:22 pm
By Samson
SWFotEFUSS 1.5.3
Author: Various
Submitted by: Samson
SWRFUSS 1.4.3
Author: Various
Submitted by: Samson
SmaugFUSS 1.9.8
Author: Various
Submitted by: Samson
AFKMud 2.5.2
Author: AFKMud Team
Submitted by: Samson
SmaugFUSS 1.9.7
Author: Various
Submitted by: Samson
Users Online
Anthropic, AhrefsBot, Bing, Bytespider

Members: 0
Guests: 4
Stats
Files
Topics
Posts
Members
Newest Member
507
3,812
19,722
591
TracySpencer

» SmaugMuds » Bugfix Lists » SmaugFUSS Bugfix List » [Bug] Saving and Installing a...
Forum Rules | Mark all | Recent Posts

[Bug] Saving and Installing area eats everything in the room.
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Jul 3, 2009 12:38 am   
Go to the top of the page
Go to the bottom of the page

InfiniteAxis
Off the Edge of the Map
GroupAdministrators
Posts1,199
JoinedMar 21, 2006

 
Bug: Saving and Installing area eats everything in the room.
Danger: Trivial - Eats all objects and mobs in a room when saving and installing.
Found by: Banner
Fixed by: Kayle

---

build.c, fwrite_fuss_room
Locate:
       // purge room of (prototyped) mobiles 
      for( victim = room->first_person; victim; victim = vnext )
      {
         vnext = victim->next_in_room;
         if( IS_NPC( victim ) )
            extract_char( victim, TRUE );
      }

      // purge room of (prototyped) objects 
      for( obj = room->first_content; obj; obj = obj_next )
      {
         obj_next = obj->next_content;
         extract_obj( obj );
      }


Replace with:
       // purge room of (prototyped) mobiles 
      for( victim = room->first_person; victim; victim = vnext )
      {
         vnext = victim->next_in_room;
         if( IS_NPC( victim ) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
            extract_char( victim, TRUE );
      }

      // purge room of (prototyped) objects 
      for( obj = room->first_content; obj; obj = obj_next )
      {
         obj_next = obj->next_content;
         if( xIS_SET( obj->extra_flags, ITEM_PROTOTYPE ) )
            extract_obj( obj );
      }


For most instances this is trivial. But the comments say it should only be removing prototype items and mobs and now it does.

Pages:<< prev 1 next >>