Login
User Name:

Password:



Register

Forgot your password?
do_owhere recursive
Author: Khonsu
Submitted by: Khonsu
Changes list / Addchange
Author: Khonsu
Submitted by: Khonsu
6Dragons mp3 sound pack
Author: Vladaar
Submitted by: Vladaar
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
SWFOTEFUSS 1.5
Author: Various
Submitted by: Samson
Users Online
AhrefsBot

Members: 0
Guests: 39
Stats
Files
Topics
Posts
Members
Newest Member
489
3,791
19,644
596
Elwood

Today's Birthdays
There are no member birthdays today.
» 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,200
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 >>